记一次opencv安装踩坑旅程

系统ubuntu14.04,自带python2.7.6,之前采用sudo apt-get install python-opencv 安装了cv2,现在要装cv3.1.0 。

流程差不多就是各大安装教程说的:http://www.zhimengzhe.com/linux/49518.html

譬如:

/opt$ git clone https://github.com/Itseez/opencv.git
/opt$ git clone https://github.com/Itseez/opencv_contrib.git
/opt$ cd opencv
/opt/opencv$ git checkout 3.1.0
/opt/opencv$ cd /opt/opencv_contrib
/opt/opencv_contrib$ git checkout 3.1.0
然后

cd /path/to/opencv  && mkdir build && cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/abc/develop/310/opencv310bin -D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D PYTHON_EXECUTABLE=/usr/include/python2.7 -D BUILD_EXAMPLES=OFF -D WITH_GTK=OFF -D WITH_CUDA=ON -D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 -D PYTHON2_EXECUTABLE=/usr/bin/python ..

解释一下,CMAKE_INSTALL_PREFIX是指定安装路径的,默认装在系统里/usr/local。


EXAMPLE都不装了,因为example需要各种库支持,增加了安装困难,要用的时候再单独编译好了。


PYTHON_EXECUTABLE是指定安装opencv的python支持时所采用的pythonInterpreter,并不是opencv安装后的python版调用!!这里如果没有指定好,输出会提示 Could NOT find PythonInterp: Found unsuitable version "1.4", but required is at least "2.7" (found /home/abc/develop/310/opencvbin),然后python2 python3的Interpreter为No,也就不会生成cv2.so cv.py这种python需要的文件。。括号的found路径就是你指定的python_executable的路径,我这里指定了个空目录,然后make的时候没有成功产生cv.so。。。EXECUTABLE指定一个就行,除非要同时支持python2 和3。


网上有一些提到cmake 要加 -D CUDA_ARCH_BIN=3.1.0的,别乱来,opencv会自己从所有可能的cuda_arch中匹配,如果指定了,而系统又没有这个版本的话,会悲剧。


需要注意cuda版本和驱动需要一致,一台曾经装了7.0,升级8.0前没有卸载干净,以后装opencv就遇到下面的问题:

/usr/bin/ld: warning: libcudart.so.7.0, needed by /usr/local/lib/libopencv_core.so, not found (try using -rpath or -rpath-link)







你可能感兴趣的:(记一次opencv安装踩坑旅程)