1. 程式人生 > >CentOS 6 安裝 OpenCV2(python支援)

CentOS 6 安裝 OpenCV2(python支援)

安裝以下包:

# yum install gcc cmake git python-devel gtk2-devel numpy tbb-devel libjpeg-turbo-devel libtiff-devel libpng-devel libjasper-devel cmake-gui

下載opencv原始碼包,解壓到主目錄,將自動建立子目錄opencv-2.4.11。

進入該目錄中,編譯OpenCV:

$ cd ~/opencv-2.4.11

cmake CMakeLists.txt

$ make -j7        # 同時執行7個任務

在進行到快30%的時候,出現以下錯誤:

In file included from /home/xxf/opencv-2.4.11/modules/highgui/src/cap_ffmpeg.cpp:45:
/home/xxf/opencv-2.4.11/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function ‘void CvVideoWriter_FFMPEG::close()’:
/home/xxf/opencv-2.4.11/modules/highgui/src/cap_ffmpeg_impl.hpp:1468: error: ‘avformat_free_context’ was not declared in this scope
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.cpp.o] Error 1

解決辦法:使用yum 解除安裝 ffmpeg、ffmpeg-devel,然後下載ffmpeg原始碼,編譯安裝:

$ cd ffmpeg

$ ./configure --enable-shared

此時可能提示yasm/nasm太舊,安裝之:

$ sudo yum install nasm yasm 

再繼續:

$ make

$ sudo make install

進入opencv目錄

cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local-DBUILD_EXAMPLES=ON -DBUILD_NEW_PYTHON_SUPPORT
=ON -DINSTALL_PYTHON_EXAMPLES=ON -DPYTHON_EXECUTABLE=/usr/local/python-2.7/bin/python -DPYTHON_INCLUDE_DIR=/usr/local/python-2.7/include -DPYTHON_LIBRARY=/usr/local/python-2.7/lib/libpython2.7.so-DPYTHON_NUMPY_INCLUDE_DIR=/usr/local/python-2.7/lib/python2.7/site-packages/numpy/core/include/-DPYTHON_PACKAGES_PATH=/usr/local/python-2.7/lib/python2.7/site-packages/ -DCUDA_GENERATION=Auto ..