Ubuntu 16.04上配置OpenCV-3.2.0

总结一下在Ubuntu上配置opencv的过程:
OpenCV目前最新的版本是3.3.0.但是配置了几次都不成功。后来在官网看到,这个版本在Linux上支持不完全。比如imshow和Namedwindow无法运行。后来只能装3.2版本的了。

1.首先添加支持库:

$ 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 libgtkglext1-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.下载opencv-3.2.0和opencv_contrib-3.2.0

OpenCV-3.2.0.zip

opencv_contrib-3.2.0.zip
然后解压这两个文件。

3.配置OpenCV3

3.1 建立build目录

cd opencv-3.2.0
$ mkdir build
$ cd build

这里的“opencv-3.2.0”是上一步解压后的路径。

3.2 配置cmake属性
配置前提:
a有NVIDIA的CUDA版本
b.显卡是GTX 1060
c.使用的是Python 3.x环境

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D INSTALL_PREFIX=$(python3 -c "import sys; print(sys.prefix)") \
-D PYTHON3_EXECUTABLE=$(which python3) \
-D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
-D PYTHON3_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
-D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules \
-D ENABLE_AVX=ON \
-D WITH_CUDA=ON \
-D CUDA_FAST_MATH=ON \
-D WITH_CUBLAS=ON \
-D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" \
-D CUDA_ARCH_BIN="6.1" \
-D CUDA_ARCH_PTX="" \
-D WITH_V4L=ON \
-D WITH_TBB=ON \
-D WITH_GTK=ON \
-D BUILD_opencv_python2=OFF \
-D WITH_GTK_2_X=ON \
-D WITH_OPENGL=ON \
-D BUILD_EXAMPLES=ON ..

注意:
a.这里的《CUDA_ARCH_BIN=”6.1”》需要根据不同型号的GPU,去官网查询的,也就是计算能力。
b.《OPENCV_EXTRA_MODULES_PATH》指的是第二步,解压后的opencv_contrib-3.2.0中modules文件的路径,应做适当调整。

非常重要的是:

cmake完了之后要验证:
a. OpengGL

 GTK+ 2.x:                    YES (ver 2.24.30)
 OpenGL support:              YES (#安装路径)

b. NVIDIA

--     Use Cuda:                    YES (ver 8.0)
--   NVIDIA CUDA
--     Use CUFFT:                   YES
--     Use CUBLAS:                  YES
--     USE NVCUVID:                 NO
--     NVIDIA GPU arch:             61
--     NVIDIA PTX archs:
--     Use fast math:               YES

c.VideoIO

Video I/O:
--     DC1394 2.x:                  YES (ver 2.2.0)
--     FFMPEG:                      YES
--       avcodec:                     YES (ver 54.92.100)
--       avformat:                    YES (ver 54.63.104)
--       avutil:                      YES (ver 52.18.100)
--       avswscale:                   YES (ver 2.2.100)
--       avgentoo-style:              YES
--     GStreamer:
--       base:                      NO
--       video:                     NO
--       app:                       NO
--       riff:                      NO
--       pbutils:                   NO
--     V4L/V4L2:                    NO/YES

凡是《YES》项目,一定要满足!!!!

4.make步骤

$ make -j8
$ sudo make install
$ sudo /bin/bash -c 'echo "/home/software/anaconda3/lib/" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig

注意:
a.<-j8>指的是你电脑几核,可以加快make的速度,比如我的电脑是8核,那么就是-j8.
b.《/home/software/anaconda3/lib/》指的是你安装好opencv之后的路径。
至此,就配置完成了。 可以自己运行代码验证一下。

主要是从一下几个地方学习来的:-

1: http://www.cnblogs.com/arkenstone/p/6490017.html
2: http://blog.csdn.net/u010987458/article/details/71702938ra
3:http://www.jianshu.com/p/11d279f1bf2c
4: http://blog.csdn.net/lql0716/article/details/54564721

猜你喜欢

转载自blog.csdn.net/Mundane_World/article/details/77801018
今日推荐