CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
2018-01-25 20:25
591 查看
CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
已測试环境:CentOS 6.3 32bit
CentOS 6.5 64bit
以前在CentOS 6.3 32bit安装过OpenCV,參见CentOS 6.3中安装OpenCV2.3.1,现在换了64bit系统,大刀阔斧,又一次来一遍。
检查并安装相关程序。确保gtk成功安装。否则无法显示图片
yum install gcc-c++ # g++编译 yum install gtk-devel # 反正是gtk神马的。不一定就是gtk-devel,能够使用*gtk-devel*匹配 yum install gimp-devel yum install gimp-devel-tools yum install gimp-help-browser yum install zlib-devel yum install libtiff-devel # tiff格式图片支持 yum install libjpeg-devel # jpeg图片支持 yum install libpng-devel # png图片支持 yum install gstreamer-devel # 处理MP3、Ogg、MPEG1、MPEG2、AVI等格式的多媒体数据 yum install libavc1394-devel # 1394音频接口的控制命令集 yum install libraw1394-devel yum install libdc1394-devel yum install jasper-devel yum install jasper-utils yum install cmake # 方便编译构建OpenCV的工具 yum install swig yum install python # python环境支持 yum install libtool yum install nasm # 汇编工具
安装ffmpeg2.1.2
ffmpeg没有现成的用于CentOS的rpm包。因此须要使用源代码编译安装,./configure --enable-shared –disable-yasm make make install
此时,ffmpeg默认安装到/usr/local以下.
安装OpenCV-2.3.1
使用vi打开CMakeLists.txt文件,找到以下一行后将其凝视(#)set_property( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS${CMAKE_CONFIGURATION_TYPES} ) # set_property( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS${CMAKE_CONFIGURATION_TYPES} )
使用vi打开CMakeLists.txt文件,搜索keywordffmpeg。找到相应位置。
if(EXISTS /usr/include/ffmpeg/libavformat/avformat.hOR HAVE_FFMPEG_SWSCALE)
确认上面的文件夹是/usr/include,假设在安装ffmpeg时。改动了路径。则作相应的改动,现在我们能够不动。
到opencv源代码主文件夹写下,依次运行
mkdir release cd release cmake ../ make make install
等待安装结束,默认安装到位置/usr/local/。
測试
#include <cv.h> #include <highgui.h> using namespace cv; int main( int argc, char** argv ) { Mat image; image = imread(argv[1], 1 ); if( argc != 2 ||!image.data ) { printf("No image data \n" ); return -1; } namedWindow("Display Image", CV_WINDOW_AUTOSIZE ); imshow("Display Image", image ); waitKey(0); return 0; }
编写Makefile,
SRC=DisplayImage.cpp LIB=-L/usr/local/lib/ INC=-I/usr/local/include/opencv/ Test:$(SRC) g++ -o Test $(LIB)$(INC) -lopencv_core -lopencv_highgui -lopencv_ml $^
运行make,没有错误。继续运行,./Test {ImagePathName},出现“不能链接到动态库”的错误。大致例如以下:
error while loading shared libraries: libopencv_core.so.2.3: cannot open shared object file: No such file or directory
解决的方法:
cd /etc/ld.so.conf.d/ # 该文件夹下存放了各种动态链接库的路径信息 vim usr-lib.conf
加入例如以下信息(opencv的lib所在路径)
/usr/local/lib
保存文件后运行ldconfig命令就可以。
又一次运行。没问题,收工。
![](https://github.com/xiahouzuoxin/notes/raw/master/images/CentOS%E4%B8%8A%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85OpenCV-2.3.1%E4%B8%8Effmpeg-2.1.2/result.png)
相关文章推荐
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2