前不久安裝好了OpenCV,昨晚測試一個avi視頻處理的時候,cvCreateFileCapture總是返回NULL,我懷疑是ffmpeg沒有配置好。今天就把OpenCV和ffmpeg都刪除了,重新安裝了下!最好把舊版本都刪除了!
ffmpeg安裝
源碼下載 : svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
文件配置 : ./configure – -enable-able-shared – -enable-gpl – -enable-swscale
安裝 : make && make install
所有的庫文件默認安裝在/usr/local/lib 下, 所有的頭文件安裝在 /usr/local/include/lib*/下
測試 : ffplay a.avi
pkg-config安裝
$ yum install pkg-config
pkg-config 通過各個庫文件的.pc 文件識別已安裝的庫文件的信息,這些.pc文件是由各庫的安裝程序自己生成的,例如ffmpeg 安裝程序會在 /usr/local/lib/pkgconfig 目錄下提供 libavcodec.pc libswscale.pc 等5個.pc文件,分別對應安裝的五個庫文件。所以必須要讓pkg-config能找到ffmpeg的*.pc文件,通過PKG_CONFIG_PATH 來設置pkg-config來更新。
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
cmake安裝
$ yum install cmake
OpenCV安裝
源碼下載: http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.2/
$ cp OpenCV-2.4.0.tar.bz2 /usr/local/
$ tar -xvf OpenCV-2.4.0.tar.bz2
$ cd OpenCV-2.4.0
2.4.0的下面是以CMakeLists.txt形式
$ cmake CMakeLists.txt
這裡可以查看是否已經支持ffmpeg,查看信息,FFMPEG已經是YES了
$ make && make install
所有的庫文件默認安裝在 /usr/local/lib 下, 所有的頭文件安裝在 /usr/local/include/opcv*/下面
$ vim /etc/ld.so.conf
最後一行加入 /usr/local/lib
$ ldconfig
或者
export LD_LIBRARY_PATH=/usr/local/lib