OpenCV在Linux(Fedora)下搭建开发环境简述

时间:2020-12-28 06:59:27

盼望了好久的Fedora21终于发行了。先来晒一张图:

OpenCV在Linux(Fedora)下搭建开发环境简述

默认桌面还是那么简洁:

OpenCV在Linux(Fedora)下搭建开发环境简述

 

好了,废话少说。来看看在Fedora下搭建opencv开发环境,因为我已经搭建好了(过程比较艰辛)

先注明参考文章,感谢这位博主:

http://www.cnblogs.com/gala/archive/2011/10/10/2206529.html

 

 

下面是我写的了。

总叙:因为主要是参考的官方文档搭建的,所以呢如果没有什么问题我就直接带过。

 

1.各种依赖关系:

GCC 4.4.x or later.(按照安装gcc和g++的方式随便网上去搜安装方式就好)

OpenCV在Linux(Fedora)下搭建开发环境简述

  • CMake 2.6 or higher;(同上,也可以自己检查自己有没有安装好)

  • OpenCV在Linux(Fedora)下搭建开发环境简述
  • Git(因为如果你是从github上clone下来的源代码,就必须用这个,如果是已经下载了压缩包,可以忽略这条,当然安装也不难)

OpenCV在Linux(Fedora)下搭建开发环境简述

  • GTK+2.x or higher, including headers (libgtk2.0-dev);

OpenCV在Linux(Fedora)下搭建开发环境简述

  • pkg-config;(这个可能已经预装了,所以先试试下面这个命令吧)

OpenCV在Linux(Fedora)下搭建开发环境简述

OpenCV在Linux(Fedora)下搭建开发环境简述

OpenCV在Linux(Fedora)下搭建开发环境简述

  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy);(这个就是正常装就好,最好是自己下载numpy的源代码,否则联网安装会很慢很麻烦)

OpenCV在Linux(Fedora)下搭建开发环境简述

  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev;

OpenCV在Linux(Fedora)下搭建开发环境简述

  • [optional] libdc1394 2.x;

OpenCV在Linux(Fedora)下搭建开发环境简述

  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev.

OpenCV在Linux(Fedora)下搭建开发环境简述

OpenCV在Linux(Fedora)下搭建开发环境简述

最后那个libjasper那找到,所以就没安。

 

至此所有依赖安装完毕。下面是安装环节:

 

解压缩下载opencv的源代码包得到一个目录:

OpenCV在Linux(Fedora)下搭建开发环境简述

进入这个目录后在目录下新建一个文件夹,名为release

OpenCV在Linux(Fedora)下搭建开发环境简述

进入release目录(当然是在终端里进入),现在空无一物,

然后执行如下命令

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..

注意最后代表上一级目录的两个点别忘了。(命令我都是用sudo执行的)

完成后如果没有错误(注意是错误,警告不管)

执行:

make
make install

这里面make是主要的,如果make出错了,就必须纠正后重新make。当然不是人品特别不好应该能make出来。此过程相当时间长,最好准备点其他东西打发时间。

 

下面是添加库路径:

sudo vim /etc/ld.so.conf.d/opencv.conf

添加如下内容

/usr/local/lib

然后需要更新系统库:

sudo ldconfig

 

设置环境变量:在个人或是系统配置文件中都可以:

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

 

另外在测试之前需要进行如下操作:

sudo cp /usr/local/lib/pkgconfig/opencv.pc  /usr/lib/pkgconf

就是将pkg-config文件拷贝到全局目录下。

 

下面是来自文档的测试代码:

DisplayImage.cpp
 1 #include <stdio.h>
2 #include <opencv2/opencv.hpp>
3
4 using namespace cv;
5
6 int main(int argc, char** argv )
7 {
8 if ( argc != 2 )
9 {
10 printf("usage: DisplayImage.out <Image_Path>\n");
11 return -1;
12 }
13
14 Mat image;
15 image = imread( argv[1], 1 );
16
17 if ( !image.data )
18 {
19 printf("No image data \n");
20 return -1;
21 }
22 namedWindow("Display Image", CV_WINDOW_AUTOSIZE );
23 imshow("Display Image", image);
24
25 waitKey(0);
26
27 return 0;
28 }

 

新建一个名为CMakeLists.txt的文件内容如下:

1 cmake_minimum_required(VERSION 2.8)
2 project( DisplayImage )
3 find_package( OpenCV REQUIRED )
4 add_executable( DisplayImage DisplayImage.cpp )
5 target_link_libraries( DisplayImage ${OpenCV_LIBS} )

 

将两个文件拷贝到同一目录下(最好新建一个项目目录)

OpenCV在Linux(Fedora)下搭建开发环境简述

 

在此目录的终端下执行如下命令:

OpenCV在Linux(Fedora)下搭建开发环境简述

注意别忘了cmake后面的代表当前目录的点。

没有问题之后就是直接:

OpenCV在Linux(Fedora)下搭建开发环境简述

没有问题后执行程序查看结果:

OpenCV在Linux(Fedora)下搭建开发环境简述

 

至此执行完毕,当然我们也可以进入源代码自带的示例中进行检测,这里就不多说了。

 

因为只是初步配置,所以可能会出现很多问题,如果将来出现了问题我会再记录补充的。

 

欢迎读者讨论。

以上。