opencv: 安装 & 可能遇到的问题 & 解决方案

OpenCV安装 参照官网安装教程即可,其他任何的个人安装攻略都只能是辅助参考。盲从有风险,安装需谨慎。

安装中可能遇到的问题 装了N次OpenCV,遇坑无数:Problem_0 apt-get 下不了。

Solution 用aptitude下。

Problem_1 ffmpeg下不到。

Solution 下载 ffmpeg 压缩包,在终端下解压即可。无需制定目录,也无需再复制转移。

Problem_2 /home/zwn/caffe/caffe-install/Install-OpenCV-master/Ubuntu/2.4/OpenCV/opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51):

error: a storage class is not allowed in an explicit specialization

Solution 下载 NCVPixelOperations.hpp 替换掉opencv2.4.9内的文件。

Problem_3 opencv2.4.9 只有在遇到 CUDA8.0 的时候才会出现的问题。如果 CUDA 是 7.5 就不会出现这个问题:

modules/cudalegacy/src/graphcuts.cpp:120:54: error:

‘NppiGraphcutState’ has not been declared typedef NppStatus

(init_func_t)(NppiSize oSize, NppiGraphcutState* ppState, Npp8u*

pDeviceMem);

Solution 根据教程,修改以下文件的内容

~/OpenCV/opencv-2.4.9/modules/gpu/src/graphcuts.cpp

Problem_4 在ubuntu service 14.04 下搭建 OpenCL +OpenCV 环境。前期安装了 CUDA7.0 ,GPU 为 NVIDIA TITAN。遇到如下问题:

Unsupported gpu architecture ‘compute_11 nvcc fatal : Unsupported

gpu architecture ‘compute_11’ CMake Error at

cuda_compile_generated_matrix_operations.cu.o.cmake:206 (message):

Error generating

/home/smie/Documents/opencv2.4.11/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_gene

rated_matrix_operations.cu.o

make[2]: *

[modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] Error 1 make[1]: * [modules/core/CMakeFiles/opencv_core.dir/all]

Error 2 make[1]: * Waiting for unfinished jobs….

Solution 当使用cmake来编译OpenCV库时,根据你的GPU配置来慎重设置 CUDA_GENERATION 选项。

CUDA_GENERATION: cmake -D CMAKE_BUILD_TYPE=RELEASE -D

CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..

Problem_5 opencv 有时候会被装到 :

/usr/local/lib/python2.7/dist-packages

Solution 只要把里面的 cv.py 、cv2.so 这两个文件拷进:

~/anaconda2/lib/python2.7/site-packages

就能在 anaconda下的 python2.7 中调用了。

随便看看