ubuntu下安裝opencv及其python介面注意事項
之前在ubuntu下安裝opencv都沒什麼問題,今天再次安裝opencv3.1的時候感覺見了鬼了,安裝完成後在python里根本無法import cv2,一直提示沒有這個module。
於是乎用locate cv2.so一搜索,果然找不到這個檔案,然後按照opencv官網的教程重新
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
發現得到的提示有些地方有點奇怪,因為我的python是用的anaconda中的,CMAKE的提示表明anaconda中的python直譯器是找到了的,但是pythonlib卻表示找不到,所以最後列出來的python2的資訊只有interpreter這一項,並沒有numpy相關的項,感覺錯誤就在這裡了,但是這個pythonlib還真是不知道如何指定,網上一搜,有很多指定python3的pythonlib的path的,於是乎拿來把python3全部改為python2,得到如下的CMAKE命令:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D PYTHON_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc;
print(get_python_inc())") -D PYTHON_EXECUTABLE=$(which python) -D PYTHON_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") ..
再次得到的提示資訊表明,python2下由原來的一條資訊變成了三條,並且numpy已經可以定位到了,於是乎接下來
make -j32 #根據自己CPU情況來定這個數字
#此時已經可以看到如下的編譯提示了^_^
Scanning dependencies of target opencv_python2
[100%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o
sudo make install #官方提示要用sudo許可權
最後cv2.so成功生成,python裡import cv2成功!
再次