CentOS7 安装opencv

小编 2026-07-06 阅读:1680 评论:0
转载自:http://blog.csdn.net/kakitgogogo/article/details/52490010   opencv是个跨平台计算机视觉库,很久之前就对opencv感兴趣了,但是由...

转载自: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 <opencv2/core/core.hpp>  
  3. #include <opencv2/highgui/highgui.hpp>  
  4. #include <opencv2/imgproc/imgproc.hpp>  
  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

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表