热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7下opencv3.3安装

转载自:http:blog.csdn.netkakitgogogoarticledetails52490010opencv是个跨平台计算机视觉库,很久之前就对ope
转载自: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
  1. yum -y install epel-release  

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

[plain]  view plain  copy
  1. yum install gcc gcc-c++  
  2. yum install cmake  
  3. yum install python-devel numpy  

然后是opencv的依赖项

[plain]  view plain  copy
  1. yum install gtk2-devel  
  2. yum install libdc1394-devel  
  3. yum install libv4l-devel  
  4. yum install gstreamer-plugins-base-devel  

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

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

[plain]  view plain  copy
  1. $cd opencv  
  2. $madir release     
  3. $cd release  
  4.   
  5. $cmake -D WITH_TBB=ON -D WITH_EIGEN=ON ..    
  6. $cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..    
  7. $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 ..    
  8. $cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  
  9.   
  10. $make  
  11.   
  12. $sudo make install  


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


然后加载动态库:

ldconfig



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

[cpp]  view plain  copy
  1. //test.cpp  
  2. #include   
  3. #include   
  4. #include   
  5.   
  6. int main(int argc,char *argv[])  
  7. {  
  8.     cv::Mat image;  
  9.     image=cv::imread("1.png");  
  10.       
  11.     cv::namedWindow("1.png");  
  12.     cv::imshow("1.png",image);  
  13.   
  14.     cv::waitKey();  
  15.     return 0;  
  16. }  


编译前设置pkgconfig路径:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/


然后用g++编译:

[cpp]  view plain  copy
  1. g++ -g -o test test.cpp `pkg-config --cflags --libs opencv`  


运行:

./test



推荐阅读
author-avatar
纯果多肽-小芳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有