所需安装环境

1、安装编译环境
$ sudo dnf install gcc gcc-c++ ncurses-devel cmake

2、安装gtk+2.x

$ sudo dnf install gtk2 gtk2-devel gtk2-devel-docs
$ sudo dnf install libgnome-devel gnome-devel-docs
$ sudo dnf install zlib glib atk pango gdk-pixbuf2 gdk-pixbuf2-devel

3、安装依赖的包

$ sudo dnf install gtk+ gtk2-devel pkgconfig python-devel python-numpydoc
$ sudo dnf install libavc1394 libavc1394-devel libdc1394 libdc1394-devel jasper-devel
$ sudo dnf install ffmpeg ffmpeg-devel openjpeg-devel libjpeg-devel libpng-devel libtiff-devel

4、最后,就是OpenCV的安装包了,去官网下载即可,传送门:http://opencv.org/

使用cmake生成用于编译安装的makefile文件

解压包后按顺序执行以下命令
$ cd ~/opencv-3.1.0/
$ cmake -DINSTALL_CREATE_DISTRIB=ON
$ make
$ sudo make install

opencv会默认安装在/usr/local/目录文件下,若要改变安装位置有选项“-D CMAKE_INSTALL_PREFIX=/usr/local",修改后面的参数即可。

其中命令"cmake -DINSTALL_CREATE_DISTRIB=ON"是必须要加上的,否则编译以后目标文件链接库的时候会出现以下错误
/usr/bin/ld: cannot find -lippicv
collect2: error: ld returned 1 exit status

环境配置

1、添加环境变量profile
$ sudo vim /etc/profile

在最后添加如下内容

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
保存并退出,并执行以下命令使修改生效
$ sudo source /etc/profile
2、添加另一个环境变量bashrc
$ sudo vim /etc/bashrc

在最后添加如下内容

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

保存并退出,并执行以下命令使修改生效

$ sudo source /etc/bashrc

3、最后执行

$ sudo ldconfig

测试

1、首先检查测试是否安装成功
$ pkg-config --cflags opencv
-I/usr/local/include/opencv -I/usr/local/include
$ pkg-config --libs opencv
-L/usr/local/lib -lopencv_world
$ pkg-config --modversion gtk+-2.0
2.24.29

2、写一个程序测试test.cpp,源代码如下

#include "opencv/cv.h"
#include "opencv/highgui.h"
int main(int argc, char **argv)
{
IplImage* pImage;
if(argc==2 && (pImage=cvLoadImage(argv[1],1))!=0)
{
cvNamedWindow("Image",1);
cvShowImage("Image",pImage);
cvWaitKey(0);
cvDestroyWindow("Image");
cvReleaseImage(&pImage);
return 0;
}
return -1;
}
直接编译
$ g++ `pkg-config --cflags opencv` -o test test.cpp `pkg-config --libs opencv`

或者编译链接分两部完成

$ g++ `pkg-config --cflags opencv` -c test.cpp
$ g++ `pkg-config --libs opencv` -o test test.o

最后运行

$ ./test Lenna.jpg

fedora23下编译安装OpenCV-3.1.0的更多相关文章

  1. 继《在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib》修订

    在之前的<在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib>中有些问题,后来由于时间不是很充足,故现在对其中的问题进行完善,如下所示对红色框框中的相应的 ...

  2. ubuntu14.04下编译安装ambari-2.4.2.0

    ubuntu14.04下编译安装ambari-2.4.2.0 编译前的准备工作 准备工作有: 系统参数 系统依赖(编译环境) 离线安装包 java环境 maven环境 Nodejs环境 git环境 a ...

  3. 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1

    目录 一 安装前的准备 二 编译并安装OpenCV 4.1.1 注:原创不易,转载请务必注明原作者和出处,感谢支持! OpenCV目前(2019-8-1)的最新版本为4.1.1.本文将介绍如何在Ubu ...

  4. 在 Linux 下用 CMAKE 编译安装 OpenCV 3.2.0

    [安装相关软件和库] 1.安装CMAKE:这里使用apt-get来安装; CMAKE 是一个跨平台编译工具,能够输出各种makefile,和project 文件,指导编译器编译,对CMAKE具体的可以 ...

  5. (一)在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题

    一.准备工作: 1.下载OpenCV安装包:https://github.com/opencv/opencv 安装过程实际上就是解压过程,安装完成后得到(这里修改了文件名): 2.下载opencv_c ...

  6. 在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib

    为什么要CMake,这里我陈述自己的想法,作为一个刚使用opencv库的小白来说,有以下大概三点内容 1.由于在学习图像处理滤波器中,需要用到各种边缘保护滤波器(EPS)算法,但是这些算法在OpenC ...

  7. Linux 下编译安装OpenCV【转】

    转自:http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html OpenCV 2.2以后版本需要使用Cmake生成makefile文件 ...

  8. Linux 下编译安装OpenCV(zhuanzai)

    http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html Cmake的安装 OpenCV 2.2以后版本需要使用Cmake生成make ...

  9. 在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题

    一.准备工作: 1.下载OpenCV安装包:https://github.com/opencv/opencv 安装过程实际上就是解压过程,安装完成后得到(这里修改了文件名): 2.下载opencv_c ...

随机推荐

  1. Hadoop HDFS本地存储目录结构解析

    转自:https://blog.csdn.net/superman_xxx/article/details/51689398 HDFS metadata以树状结构存储整个HDFS上的文件和目录,以及相 ...

  2. AppiumLibrary库倒入后显示红色,日志报错:ImportError: cannot import name 'InvalidArgumentException'

    AppiumLibrary安装后,robotframe worke 倒入后一直显示红色,查看日志报错:ImportError: cannot import name 'InvalidArgumentE ...

  3. Drone 持续集成实践 - 基于 Gogs,以 Golang 为例

    Drone 官方示例 - Example Go project 用 Docker 部署 Go 服务器 Golang 官方示例 - outyet 一个生产环境的例子 用 rsync 复制文件的方式进行部 ...

  4. poj3614Sunscreen

    Description To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her ...

  5. 安装Kubernetes V1.16.2

    安装Kubernetes V1.16.2 准备硬件环境 利用VirtualBox准备两台Linux虚拟机(K8S集群2台起步),系统用CentOS(我用的是的CentOS-7-x86_64-DVD-1 ...

  6. Topcoder SRM652div2

    开始接触Topcode..div2.. 250题目: Problem Statement      You are given a String s consisting of lower to , ...

  7. PEP8规范总结

    PEP8规范总结 代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格. 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的 ...

  8. Java加密与解密的艺术 读书心得

    现在项目中加密与解密的方式很多,很早就想整理一下Java中加密与解密的方式,读完<<Java加密与解密的艺术>>一书.借此机会梳理一下这方面的知识点 一.基础普及 安全技术目标 ...

  9. vue项目中配置favicon图标

    如上图所示,页面顶部的小图标会让页面显得高大上,一般把这种图标叫做favicon图标.利用vue-cli脚手架搭建的项目,如果不手动配置,页面中是不会显示favicon图标. 不配置是这样子的: fa ...

  10. Java面向对象的特征与含义

    面向对象的主要特征包括抽象.继承.封装和多态. 抽象 把一个类对象的共同特征总结出来,构造新类的过程. 继承 从已有类中得到继承信息,创建新类的过程. 封装 把数据和对数据的操作绑定起来,对数据的访问 ...