OpenCV2.4.5在Ubuntu 13.04下配置过程

OpenCV 2.4.5编译安装方法

需要x264,ffmpeg和opencv2.4.5

x264下载地址:ftp://ftp.videolan.org/pub/x264/snapshots/
 ffmpeg下载地址:
 opencv下载地址:
 

我们使用最新的Ubuntu 13.04操作系统,所以采用比较高版本的ffmpeg等。x264采用20130503版本,ffmpeg采用1.2.1版本,opencv采用2.4.5版本。

ffmpeg对我们至关重要,ffmpeg用来边解码图像,读取输入输出AVI视频并显示,是我们的图形界面。x264作为一个补充,大家都安,所以我们也安装上把。OpenCV2.4.5有很多新的功能,最新的就是对显卡的进一步支持,这些我们都用不到,而且配置也更麻烦,所以我选择直接忽略掉,比如ocl模块没有编译,比如cvconfig.h头文件找不到,这些问题暂时不影响我们编译运行opencv程序,尤其是对我们的应用。不过对光流法而言,我发现示例代码中有三个文件夹,c,cpp和gpu,三个文件夹都包含光流法optical flow的demo,可见光流法很有研究意义。尤其是gpu文件夹里有,这可能有一些gpu上的好东西,有机会的话可以看看。
 

开始准备,因为是ubuntu,装软件比较方便,使用apt-get,把能装的都装上
 sudo apt-get -y install autoconf automake build-essential git libass-dev libfaac-dev libgpac-dev \
  libmp3lame-dev libopus-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \
  libvorbis-dev libvpx-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html yasm zlib1g-dev
 
 下载好三个文件后,新建文件夹,名字自取,我取build_sources。
 首先编译x264,
 tar xvf x264-snapshot-20130503-2245-stable.tar.bz2
 cd x264-snapshot-20130503-2245-stable
 ./configure --enable-shared --enable-static
 make
 sudo make install
 

注:x264由ffmpeg静态调用,所以我们把编译好的文件放在系统库区就行,所以可以不make install,采用cp libx264.a /usr/lib \ cp x264.h /usr/include
 参考链接:
 

然后编译ffmpeg
 参考链接为和
 

ffmpeg采用11-04这个帖子里的做法。
 tar xvf  ffmpeg-1.2.1.tar.bz2
 cd  ffmpeg-1.2.1
 ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab --enable-swscale --enable-shared
 make
 sudo make install
 

在./configure的参数种,--enable选项没有指定安装路径的话,一般都会安装在/usr/local,这里可以参看同目录下config.mak。由于ffmpeg将编译出很多库,尤其是libavformat.so,libavcodec.so, libavutil.so,libavfilter.so等,make install操作将把它们复制在/usr/local目录下,这些库将用于链接,所以ldconfig操作是必须的。
 vim /etc/ld.so.conf,可以看到链接选项都在ld.so.conf.d/文件夹下。我们看到,在ld.so.conf.d文件夹下有文件:libc.conf
 vim /etc/ld.so.conf.d/libc.conf
 #libc default configuration
 /usr/local/lib
 可见已经被包括进去了,我们只需要在任意位置执行sudo ldconfig命令即可链接。
 

为检验ffmpeg是否安装成功,可以运行ffmpeg安装目录下的例子。
 cd /usr/local/share/ffmpeg/examples/
 sudo make
 有一个例子是demuxing,是分离一个视频的影与音的,找一个标准格式的avi图像,我采用光流法的输入图像,optical_flow_input.avi
 sudo ./demuxing optical_flow_input.avi video.avi audio
 第一个参数是输入的avi视频,第二个参数是输出的脱离声音的音频,第三个是脱离的音频。
 执行完毕后会打印输出
 Demuxing succeeded.
 Play the output video file with the command:
 ffplay -f rawvideo -pix_fmt rgb24 -video_size 720x480 video.avi
 我们可以执行最后一句输出ffplay -f rawvideo -pix_fmt rgb24 -video_size 720x480 video.avi 看到图像
 这样就说明ffmpeg安装成功
 

最后是编译openCV
 编译opencv要使用cmake,所以ubuntu要首先安装
 sudo apt-get install cmake
 tar xvf opencv-2.4.5.tar.gz
 cd opencv-2.4.5
 mkdir build
 cd build
 cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/19717.html