转载自: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
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

