所需安装环境

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. [转]Jenkins HTML报告样式无法显示问题解决

    原文地址: https://vwin.github.io/2018/10/11/Jenkins-HTML%E6%8A%A5%E5%91%8A%E6%A0%B7%E5%BC%8F%E6%97%A0%E6 ...

  2. IoC与DI,Unity的使用

    IoC的全称为Inversion of Control(控制反转),DI的全称为Dependency Injection(依赖注入).IoC是一个控制容器,我们将设计好的对象放入到容器中,将对象交给容 ...

  3. v-if指令

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. vue+element-ui国际化(i18n)

    1. 下载element-ui和vue-i18n: npm i element-ui --save   npm i vue-i18n –save 2.  创建一个  i18n 文件夹, 在main.j ...

  5. Redux生态系统

    生态系统 Redux 是一个体小精悍的库,但它相关的内容和 API 都是精挑细选的,足以衍生出丰富的工具集和可扩展的生态系统. 如果需要关于 Redux 所有内容的列表,推荐移步至 Awesome R ...

  6. ALDS1_1_3_D Areas on the Cross-Section Diagram 遇见了几个有意思的语法问题

    Your task is to simulate a flood damage. For a given cross-section diagram, reports areas of flooded ...

  7. Pollard Rho算法浅谈

    Pollard Rho介绍 Pollard Rho算法是Pollard[1]在1975年[2]发明的一种将大整数因数分解的算法 其中Pollard来源于发明者Pollard的姓,Rho则来自内部伪随机 ...

  8. Maven系列学习(一)Maven基本知识

    Maven 简介 1.Maven主要是基于Java平台的项目构建,依赖管理和项目信息 2.Maven是优秀的构建工具,跨平台,消除构建的重复,抽象了一个完整的构建生命周期模型,标准化构建过程 3.管理 ...

  9. [Linux] 029 脚本安装包

    1. 脚本安装包 脚本安装包并不是独立的软件包类型,常见安装的是源码包 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装 非常类似于 Windows 下软件的安装方式 ...

  10. [Linux] 001 预备知识

    Unix 1965年 MIT,通用电气(GE),AT&T 的贝尔实验室联合开发 项目名称:Multics 目标:开发一种交互式的,具有多道程序处理能力的分时操作系统 后来:贝尔实验室宣布退出 ...