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 ..