Linux OpenCV讀取視頻失敗,cvCreateFileCapture失敗的解決


背景:

       近期想在嵌入式平台上開發QT+Opencv,無料PC機上編寫的OpenCV程序老是打不開視頻。

開始提示:OpenCV Error: Bad argument (Array should be CvMat or IplImage) in cvGetSize

        可是沒實用錯。考慮到可能沒有打開視頻,以作為cvGetSize的參數。

        曾經程序執行沒有問題。近期電腦進行了一些FFMPEG/ZLIB等的交叉編譯。就不能執行了。

解決方法:

網上搜索,發現是由於ffmpeg沒有編譯到opencv里。於是參照http://blog.csdn.net/tinyway/article/details/9088985進行又一次編譯,攻克了問題。

總結例如以下:

PC:Ubuntu12.04LTS  OpenCV2.4.3

OpenCV成功編譯安裝。進而編譯算法,也成功編譯生成二進制文件,可是執行時候cvCreateFileCapture無法讀入視頻。終於原因在於ffmpeg沒有配置好。刪除OpenCV和ffmpeg又一次編譯ffmpeg和OpenCV后。視頻讀入成功。

ffmpeg安裝


源代碼下載 : svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg(假設沒有安裝svn。依據提示安裝)

安         裝: yasm:sudo apt-get install yasm
文件配置 : ./configure --enable-shared --enable-gpl --enable-swscale
編譯安裝 : make ;sudo make install
然后進行OpenCV安裝,安裝與使用具體過程參見:http://blog.csdn.net/guo8113/article/details/29211041

以下也給出了簡要過程:

OpenCV2.4.4的安裝

tar -jxvf OpenCV-2.4.3.tar.bz2
cd OpenCV-2.4.3/
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..

(這一步,就在這一步之后,會顯示是否成功配置ffmpeg,若出現例如以下,則表示配置成功,相反。之前的失敗是由於配置都為0(或者false),詳細例如以下:

FFMPEG:1

codec:

format:  

util: 1

swscale:1

gentoo-style:  1

)
$make
$sudo make install

$sudo ldconfig


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM