ubuntu16.04 python opencv2.4.9安裝
1. 安裝python:
一般Ubuntu會自帶,如果需要其他自定版本,請自行下載安裝。
2. 下載OpenCV的源碼
OpenCV官網上有linux版本的源碼包可以下載,不過最好是從git上下載,這樣可以保證下載得到的是最新的代碼:- wget -O opencv.zip https://github.com/Itseez/opencv/archive/2.4.9.zip
- unzip opencv.zip
3. 編譯安裝
進入到OpenCV的文件夾中,創建一個build目錄,進行編譯: cd opencv-2.4.9 mkdir build進入build目錄
cd build
cmake選項:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
結果發現如上配置會編譯報錯:
改為如下選項可行:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON
-D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=OFF -D WITH_OPENGL=ON -D BUILD_TIFF=ON ..
開始編譯:
make -j 4
如果是安裝opencv2.4.9可能會遇到如下錯誤
A、opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed in an explicit specialization
解決:
替換文件:NCVPixelOperations.hpp,所在目錄:/Home/opencv-2.4.9/modules/gpu/src/nvidia/core
正確的NCVPixelOperations.hpp下載地址:http://download.csdn.net/download/znculee/9294885
B、cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared
解決方法:
需要修改一處源碼:
在graphcuts.cpp中將
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改為
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
安裝
sudo make install
4. 測試是否安裝成功
python
>>>import cv2
>>>cv2.__version__
‘2.4.9‘ 出現這個表示安裝成功! 如果出現 ImportError: No module named cv2安裝擴展包即可:pip install opencv-python
或者:sudo apt-get install python-opencv
ubuntu16.04 python opencv2.4.9安裝