ubuntu16.04下opencv安装

总览

环境:

  • ubuntu 16.04
  • python 2.7
  • CUDA 9.0
  • opencv 3.2.0

总的来说参考的是这篇文章,只不过没有使用中间的virtualenv:

Ubuntu 16.04: How to install OpenCV


步骤

安装各种依赖库,然后下载opencvopencv_contrib

cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
 -D CMAKE_INSTALL_PREFIX=/usr/local \
 -D INSTALL_PYTHON_EXAMPLES=ON \
 -D INSTALL_C_EXAMPLES=OFF \
 -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules \
 -D CUDA_GENERATION=Kepler \
 -D CUDA_ARCH_BIN="3.0" \
 -D BUILD_opencv_cudalegacy=OFF \
 -D BUILD_EXAMPLES=ON ..

注意其中~/opencv_contrib-3.2.0/部分需要改成自己opencv_contrib路径,之后

make -j4 
make clean
make
sudo make install
sudo ldconfig

遇到的问题

上述都不是问题,问题在于编译安装过程遇到的各种BUG

  1. ippicv_linux_20151201.tgz找不到。
    • 解决:由于网络原因,无法自动下载这个包。可手动下载。
    • 参考链接
  2. opencv2/xfeatures2d/cuda.hpp:No such file or directory
  3. make时报错:Unsupported gpu architecture ‘compute_20’
  4. make时报错:error: identifier “__half2float” is undefined 以及CMake Error at cuda_compile_generated_gpu_mat.cu.o.cmake 等一些列问题
    • 解决: opencv/modules/cudev/include/opencv2/cudev/util/saturate_cast.hpp文件手动修改几处代码,或使参考链接中的替代
    • 参考链接
  5. make报错:../../lib/libopencv_cudalegacy.so.3.2.0:对‘nppiGraphcut_32s8u’未定义的引用 等一些列错
  6. import报错:zlib-1.2.9.tar.gz找不到
    • 官网http://www.zlib.net/,下载解压,./configure,make,make install

成功安装

python
>>> import cv2
>>> cv2.__version__
'3.2.0'

 



本文来自 ZSXRPD,原文标题:ubuntu16.04下opencv安装,转载请标明来源。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。
知识共享许可协议

发表评论

电子邮件地址不会被公开。 必填项已用*标注