OpenCV库在计算机视觉任务中的地位和作用是非常显著的,而且他里面集成了很多常用的图像处理包,能够非常方便的进行图像的各种变换,像图像特征提取、图像拼接等很多任务都有相应的函数可以直接调用,底层使用C++封装,特别是能够支持GPU运算,这对于任务加速是非常有意义的,支持GPU的版本要求用户自己编译,然后安装。特别是3.4版本以后,将SIFT特征提取、Stitcher图像拼装等模块从OpenCV主分支中移至OpenCV_contrib中,因此以往的安装方法不能满足需要。下面逐步进行说明安装过程。

第0步:安装Ubuntu16.04,然后安装CUDA和cuDNN,并配置好环境变量。

网上的博客虽然也有写CUDA安装的,但是个人强烈建议按照官方文档来进行安装。

第1步:依赖安装

(1)卸载以前安装的 x264

sudo apt-get remove x264 libx264-dev

(2)安装必需的依赖

sudo apt-get install build-essential checkinstall cmake pkg-config yasm

sudo apt-get install git gfortran

sudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev

sudo apt-get install libtiff5-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev

sudo apt-get install libxine2-dev libv4l-dev

sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

sudo apt-get install qt5-default libgtk2.0-dev libtbb-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev

sudo apt-get install libvorbis-dev libxvidcore-dev

sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev

sudo apt-get install x264 v4l-utils

(3)安装可选的依赖

sudo apt-get install libprotobuf-dev protobuf-compiler

sudo apt-get install libgoogle-glog-dev libgflags-dev

sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen

(4)安装Numpy包

sudo pip3 install numpy

sudo pip2 install numpy

说明:建议两个都安装,这样在能够运行以前编写的python程序

第2步:下载最新的OpenCV和OpenCV_contrib

git clone https:/github.com/opencv/opencv.git

git clone https:/github.com/opencv/opencv_contrib.git

注意:

1、OpenCV和OpenCV_contrib两个目录需要位于同一级目录,否则后面的编译指令会有问题。

2、如果clone速度比较慢,大家可以上网找一下git使用代理的文章,然后配备一下。

3、建议用clone的方式下载,这样将来版本同步,只需要使用git pull origin master就可以,而不需要全部重新下载。

第3步:编译并安装OpenCV

进入OpenCV目录,新建并进入build文件夹,然后打开一个终端,依次输入以下三条指令:

1、cmake

cmake \

-D CMAKE_BUILD_TYPE=Release \

-D CMAKE_INSTALL_PREFIX=/usr/local \

-D PYTHON2_EXECUTABLE=/usr/bin/python2 \

-D PYTHON3_EXECUTABLE=/usr/bin/python3 \

-D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 \

-D PYTHON3_INCLUDE_DIR=/usr/include/python3.5m \

-D PYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so \

-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \

-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/local/lib/python2.7/dist-packages/numpy/core/include/ \

-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include/ \

-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \

-D OPENCV_ENABLE_NONFREE=ON \

-D WITH_CUDA=ON ..

执行结束以后,如果出现以下信息,说明运行结果正常

图1:OpenCV基本信息版本号

图2:OpenCV对于Python的支持信息

2、make

make -j6

说明:

(1)-j6是指定编译的线程数量,可以根据计算机的性能指定调整编译的线程数量。

(2)make的过程大约需要1小时左右,视计算机性能

(3)make过程中会出现一些警告信息,不会影响make结果,常见的警告信息示例如下:

图3:警告信息示例1

(4)make结束时出现以下信息,表明运行结果正常

图4:警告信息示例2

3、make install

sudo make install

至此,整个安装。

安装过程中有任何疑问欢迎来撩

作者:花木兰

申明:本文为易学智能原创内容,未经允许请勿转载

欢迎关注“易学智能”头条号,评论区有问必答

easyaiforum.cn论坛提供编程实验和学习平台

查看原文 >>
相关文章