本文共 2916 字,大约阅读时间需要 9 分钟。
安装支持cuda加速的opencv3.2.0
1.安装官方给的opencv依赖包$ sudo apt-get install build-essential$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 处理图像所需的包$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev$ sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包$ sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能$ sudo apt-get install ffmpeg
2.下载opencv3.2.0
这里需要下载opencv和opencv_contrib(后者会在cmake配置的时候用到),这是因为opencv3以后SIFT和SURF之类的属性被移到了contrib中,。$ wget https://github.com/opencv/opencv/archive/3.2.0.zip # 从github上直接下载或者clone也可$ wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip
3 . 配置编译opencv (NVIDIA CUDA版本)
opencv最麻烦的地方就是编译是属性的配置,对于不同的需求要配置不同的属性。当使用NVIDIA GPU GeForce 1080ti的时候:$ 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=/home/th_num/compile_opencv/opencv_contrib-3.2.0/modules \ ## 这里替换成你解压之后的opencv_contrib对应路径 -D PYTHON_EXCUTABLE=/usr/local/bin/anaconda/bin/python \ ##你的python 路径 -D WITH_CUDA=ON \ -D WITH_CUBLAS=ON \ -D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" \ -D CUDA_ARCH_BIN="5.3" \ -D CUDA_ARCH_PTX="" \ -D CUDA_FAST_MATH=ON \ -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D WITH_GTK=ON \ -D WITH_OPENGL=ON \ -D BUILD_EXAMPLES=ON ..$ make -j4$ sudo make install$ sudo /bin/bash -c 'echo "/user/local/lib" > /etc/ld.so.conf.d/opencv.conf'$ sudo ldconfig
CMAKE_INSTALL_PREFIX/lib/python2.7/dist-packages。
PYTHON_EXCUTABLE:指定python路径,获取该路径的方式可以用python -c “import sys; print (sys.prefix)” OPENCV_EXTRA_MODULES_PATH: 指定opencv所需模块的路径,就是之前我们所说的contribmac 上面设置:
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local/Cellar/opencv/3.4.5 \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_EXTRA_MODULES_PATH=/Users/wuyongyu/Desktop/opencv_contrib-3.4.5/modules \ -D PYTHON_EXCUTABLE=/Users/wuyongyu/anaconda3/bin/python \ -D WITH_CUDA=OFF \ -D CUDA_FAST_MATH=ON \ -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D WITH_QT=ON \ -D WITH_GTK=ON \ -D BUILD_JPEG=ON \ -D WITH_EIGEN=ON \ -D WITH_OPENGL=ON \ -D BUILD_EXAMPLES=ON \ -D ENABLE_PRECOMPILED_HEADERS=OFF \ -DBUILD_opencv_text=OFF ..
4.完成安装并测试
安装完成以后,重启下机器。编译之后应该会在CMAKE_INSTALL_PREFIX/lib/python3.6/dist-packages/目录下找到cv2.so。打开python console,检测opencv版本python -c “import cv2; print cv2._version_”。如果正确安装的话则会输出3.2.0。PS:如果import的时候报类似于error while loading shared libraries: libopencv_core.so.3.0: cannot open shared object file: No such file or directory.的错误,可能是library环境变量的错误,可以尝试将export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib加入到~/.bashrc中然后source。
也许cuda9.0遇到问题:
可以参考:参考:
转载地址:http://tbwmi.baihongyu.com/