ubuntu16.04下安装opencv3.4.1及其扩展模块

1.源文件下载

opencv-3.4.1.tar.gz(https://github.com/opencv/opencv/releases)

opencv_contrib-3.4.1.tar.gz(https://github.com/opencv/opencv_contrib/releases)

2.安装必要的库

步骤1.安装依赖项

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

可选的

sudo apt-get install checkinstall yasm libtiff5-dev libjpeg-dev libjasper-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils libeigen3-dev

步骤3.生成cmake编译配置

这里下载文件可能会出错,解决办法就是去官网下载

下载:ippicv_2017u3_lnx_intel64_general_20170822.tgz

然后参考:http://doc.okbase.net/u010739369/archive/291261.html解决

创建编译目录

1 cd opencv-3.1.0 2 mkdir release 3 cd release

编译opencv及opencv_contrib

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/opencv/opencv_contrib/modules/ ..  
  
如果不安装opencv_contrib模块,则第二步的命令为:  
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local  
CMAKE_INSTALL_PREFIX为你的opencv安装路径,OPENCV_EXTRA_MODULES_PATH是你的opencv_contrib/modules/的路径,可以参照在我的电脑上为
另外我们要打开支持opengl的opencv
ubuntu下安装opencv,支持opengl要在cmake的时候,加入-D WITH_OPENGL=ON就行,

原来是机器里装了gtk3,所以HAVE_GTKGLEXT==FALSE,机器里恰巧又没有QT,所以没有去检查OpenGL项目。

看来是gtk3与gtkglext不兼容,为了支持opengl,只能使用gtk2了。在cmake的时候,再增加一个选项-D WITH_GTK_2_X=ON就OK了。下面是cmake的输出结果:

就可以了。

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.4.1 -D OPENCV_EXTRA_MODULES_PATH=/home/zn/opencv-3.4.1/opencv_contrib-3.4.1/modules/ -D WITH_OPENGL=ON -D WITH_GTK_2_X=ON ..

4.安装

make
sudo make install

make的时候大概会出现报错,参考以下链接解决

https://github.com/opencv/opencv/issues/6016

5.测试

查看opencv版本

pkg-config --modversion opencv

参考:

https://blog.csdn.net/neilooo/article/details/78425559

http://doc.okbase.net/u010739369/archive/291261.html