您的位置:首页 > 运维架构 > Linux

centos7下opencv3.3安装

2017-10-12 17:58 232 查看
转载自:http://blog.csdn.net/kakitgogogo/article/details/52490010

opencv是个跨平台计算机视觉库,很久之前就对opencv感兴趣了,但是由于以前用的是centos6.8,各种依赖项都是版本太老,安装起来十分费尽(glib,gtk+什么的更新无力)。直到现在更新到了centos7,终于安装成功了。在此把安装过程记录下来。安装方法参考了CentOS7配置opencv
for python && eclipse c/c++

在安装之前,要先配置好epel源,因为下面的某些安装在系统自带的源中找不到

[plain] view
plain copy

yum -y install epel-release  

首先是gcc,g++等这些基本的工具,一般都是有的。没有的话就用yum install来安装。

[plain] view
plain copy

yum install gcc gcc-c++  

yum install cmake  

yum install python-devel numpy  

然后是opencv的依赖项

[plain] view
plain copy

yum install gtk2-devel  

yum install libdc1394-devel  

yum install libv4l-devel  

yum install gstreamer-plugins-base-devel  

然后是最麻烦的步骤了,就是安装ffmpeg-devel,要在pbone上才能找到。用这个源要先注册,但是我在这一步就走不下去了,就算是用Gmail也受不到确认邮件。于是就直接下载ffmpeg-devel的包自行安装。安装肯定不会顺利,因为有一堆依赖的库。然后依赖的库又依赖别的库。反正根据它的要求去pbone上面下载库就行了,随便你是用深度优先还是广度优先(幸好下载不用注册)。下了大概十几二十项就搞定了。全都是rpm文件,安装命令都用形如下面的命令的格式就行了

[plain] view
plain copy

rpm -i xxx.rpm  

安装好各种依赖之后就可以安装opencv了。

[plain] view
plain copy

$cd opencv  

$madir release     

$cd release  

  

$cmake -D WITH_TBB=ON -D WITH_EIGEN=ON ..    

$cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..    

$cmake -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF ..    

$cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  

  

$make  

  

$sudo make install  

安装好后需要加动态库配置:
/bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

然后加载动态库:

ldconfig

到这里已经安装好了。写一个c++小程序来测试一下:

[cpp] view
plain copy

//test.cpp  

#include <opencv2/core/core.hpp>  

#include <opencv2/highgui/highgui.hpp>  

#include <opencv2/imgproc/imgproc.hpp>  

  

int main(int argc,char *argv[])  

{  

    cv::Mat image;  

    image=cv::imread("1.png");  

      

    cv::namedWindow("1.png");  

    cv::imshow("1.png",image);  

  

    cv::waitKey();  

    return 0;  

}  

编译前设置pkgconfig路径:

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

然后用g++编译:

[cpp] view
plain copy

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

运行:

./test
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: