ubuntu16.04 python opencv2.4.9安装 "nvcc fatal : Unsupported gpu architecture 'compute_11'"

1. 安装python:

一般Ubuntu会自带,如果需要其他自定版本,请自行下载安装。

2. 下载OpenCV的源码

OpenCV官网上有linux版本的源码包可以下载,不过最好是从git上下载,这样可以保证下载得到的是最新的代码:
  1. wget -O opencv.zip https://github.com/Itseez/opencv/archive/2.4.9.zip  
  2. 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 ..  

结果发现如上配置会编译报错:

"nvcc fatal : Unsupported gpu architecture 'compute_11'"

改为如下选项可行:

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

 

Bcudalegacy/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

猜你喜欢

转载自www.cnblogs.com/kaka7518/p/9183046.html