Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

Opencv大家应该很熟悉了,即使没有使用过,也应该都听过,它是经典的图像处理库,OpenCV在Windows下安装是很简单的,只需要配置DLL即可。但是在Linux下,因为Linux各种发行版本多种多样,所以我们只有自己通过编译源码的方式来安装OpenCV了,本文测试的是Ubuntu 18.04.2,源码安装会自动根据你当前的Ubuntu系统中安装的组件来编译OpenCV源码,所以说你编译好的这份OpenCV库是独一无二的,移到别的地方就不行了的。

这里讲解如何在Ubuntu 18.04.2下编译安装OpenCV 3.4.0步骤过程。

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

1、源码下载

OpenCV官网:https://opencv.org/

github地址: https://github.com/opencv/opencv/releases/tag/3.4.0

直接下载 https://github.com/opencv/opencv/archive/3.4.0.tar.gz

目前最新版本是OpenCV 4.1.0,不过我没有用最新版本,本文测试的是OpenCV 3.4.0。

2、安装依赖

首先看官方的安装说明,这个非常有必要,官方写的比较好,基本按照官方说明进行操作就可以了。

官方编译安装说明:https://docs.opencv.org/3.4.1/d7/d9f/tutorial_linux_install.html

安装OpenCV需要先安装必要的工具包。

安装依赖

linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install build-essential

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

如果提示 E: 无法定位软件包 libjasper-dev

添加

linuxidc@linuxidc:~/linuxidc.com$  sudo add-apt-repository "deb xenial-security main"

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

再次运行如下命令:

linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

检查自己安装的gcc、cmake的版本是否太低。

3、编译安装

解压源码

linuxidc@linuxidc:~/linuxidc.com$  tar xvzf opencv-3.4.0.tar.gz

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

在源码外创建一个编译文件夹,不要直接在源码文件夹里面操作,以防乱了源码,对后续开发不利

linuxidc@linuxidc:~/linuxidc.com$ mkdir linuxidcbuild

进入创建的文件夹

linuxidc@linuxidc:~/linuxidc.com$ cd linuxidcbuild/

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

执行cmake,生成makefile

linuxidc@linuxidc:~/linuxidc.com$ cmake ../opencv-3.4.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local

编译

linuxidc@linuxidc:~/linuxidc.com$ make

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

安装

linuxidc@linuxidc:~/linuxidc.com$ sudo make install

查看安装结果

linuxidc@linuxidc:~/linuxidc.com$ pkg-config --cflags --libs opencv

4、配置

安装完后配置

linuxidc@linuxidc:~/linuxidc.com$ sudo gedit /etc/ld.so.conf.d/opencv.conf

打开文件可能是空白的,没有关系,继续下一步,在文件末尾添加

/usr/local/lib

使配置生效

linuxidc@linuxidc:~/linuxidc.com$ sudo ldconfig

添加环境变量

linuxidc@linuxidc:~/linuxidc.com$ sudo gedit /etc/bash.bashrc

在文件最后添加

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

使环境变量生效

linuxidc@linuxidc:~/linuxidc.com$ source /etc/bash.bashrc

5、测试

下面用一个小程序测试一下

找到

cd到opencv-3.4.0/smaples/cpp/example_cmake目录下

我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下

按顺序执行

linuxidc@linuxidc:~/linuxidc.com$ cmake .

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

linuxidc@linuxidc:~/linuxidc.com$ make

linuxidc@linuxidc:~/linuxidc.com$ ./opencv_example

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

报错Gtk-Message: Failed to load module "canberra-gtk-module"

解决方法

sudo apt-get install libcanberra-gtk-module 

如下图:

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

再次运行

linuxidc@linuxidc:~/linuxidc.com$ ./opencv_example

即可看到打开了摄像头,在左上角有一个Hello OpenCV

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

即表示配置成功。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12063.html