ubuntu安装opencv3.2.0

安装支持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所需模块的路径,就是之前我们所说的contrib

mac 上面设置:

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遇到问题:
可以参考:
https://github.com/opencv/opencv/pull/9769

参考:https://www.cnblogs.com/arkenstone/p/6490017.html

你可能感兴趣的:(opencv)