OpenCV入門 - Ubuntu 12.04 安裝OpenCV

OpenCV入門 - Ubuntu 12.04 安裝OpenCV


本來打算在Ubuntu 12.04上安裝opencv 3.0的,結果發生了下面(2)中的錯誤,不知如何解決,所以最後還是老老實實安裝opencv 2.4.
(1)編譯時出現錯誤:
In file included from /home/vonzhou/Downloads/opencv-3.0.0-rc1/modules/videoio/src/cap_ffmpeg_impl.hpp:65:0,
                 from /home/vonzhou/Downloads/opencv-3.0.0-rc1/modules/videoio/src/cap_ffmpeg.cpp:45:
/home/vonzhou/Downloads/opencv-3.0.0-rc1/modules/videoio/src/ffmpeg_codecs.hpp:171:7: error:‘AV_CODEC_ID_H263I’ was not declared in this scope
/home/vonzhou/Downloads/opencv-3.0.0-rc1/modules/videoio/src/ffmpeg_codecs.hpp:287:7: error: ‘AV_CODEC_ID_WNV1’ was not declared in this scope
make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_ffmpeg.cpp.o] Error 1
解決:問題在於ffmpeg,手動下載並安裝(參考這裏
./configure --enable-shared --disable-static  
make
sudo make install
然後重新make我們的opencv。

(2)錯誤:
libopencv_videoio.so.3.0.0:undefined reference to "avcodec_free_frame"
libopencv_videoio.so.3.0.0: undefined reference to `avcodec_encode_video2'



安裝OpenCV 2.4.10過程:
(1)安裝必要的軟件;
(2)下載opencv並解壓;

(3)make,靜靜等待;
出現錯誤:
/home/vonzhou/Downloads/opencv-2.4.10/modules/core/src/system.cpp: In function ‘(static initializers for /home/vonzhou/Downloads/opencv-2.4.10/modules/core/src/system.cpp)’:
/home/vonzhou/Downloads/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an ‘asm’
[ 22%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/opengl_interop_deprecated.cpp.o
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
解決:這是一個和編譯器有關的問題,升級gcc還是沒解決,可以替換掉system.cpp文件(具體看這裏)。
(4)sudo make install
(5)配置:sudo vi /etc/ld.so.conf.d/opencv.conf,加入內容:
/usr/local/lib
而後:sudo ldconfig

(6)這樣就安裝成功了,重啓後,用自帶的樣例代碼測試下:
cd Downloads/opencv-2.4.10/samples/c
./build_all.sh  
然後運行人臉測試程序 : ./facedetect

運行結果:會把你的臉給識別處理 ,:)


參考:

http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章