当前位置 : 主页 > 操作系统 > centos >

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

来源:互联网 收集:自由互联 发布时间:2021-04-07
Opencv大家应该很熟悉了,即使没有使用过,也应该都听过,它是经典的图像处理库,OpenCV在Windows下安装是很简单的,只需要配置DLL即可。但是在Linux下,因为Linux各种发行版本多种多样

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需要先安装必要的工具包。

  • GCC 4.4.x 或更新
  • CMake 2.8.7 或更高版本
  • Git
  • GTK+2.x 或更高版本, including 头 (libgtk2.0-dev)
  • pkg-config
  • Python 2.6或更高版本以及带有开发人员包的Numpy 1.5或更高版本(Python -dev, Python - Numpy)
  • ffmpeg或libav开发包:libavcodec-dev,libavformat-dev,libswscale-dev
  • [可选] libtbb2 libtbb-dev
  • [可选] libdc1394 2.x
  • [可选] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [可选] CUDA Toolkit 6.5 or higher

安装依赖

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

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

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

558idc@558idc:~/558idc.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

添加

558idc@558idc:~/558idc.com$  sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

再次运行如下命令:

558idc@558idc:~/558idc.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、编译安装

解压源码

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

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

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

558idc@558idc:~/558idc.com$ mkdir 558idcbuild

进入创建的文件夹

558idc@558idc:~/558idc.com$ cd 558idcbuild/

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

执行cmake,生成makefile

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

编译

558idc@558idc:~/558idc.com$ make

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

安装

558idc@558idc:~/558idc.com$ sudo make install

查看安装结果

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

4、配置

安装完后配置

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

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

/usr/local/lib

使配置生效

558idc@558idc:~/558idc.com$ sudo ldconfig

添加环境变量

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

在文件最后添加

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

使环境变量生效

558idc@558idc:~/558idc.com$ source /etc/bash.bashrc

5、测试

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

找到

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

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

按顺序执行

558idc@558idc:~/558idc.com$ cmake .

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

558idc@558idc:~/558idc.com$ make

558idc@558idc:~/558idc.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 过程

再次运行

558idc@558idc:~/558idc.com$ ./opencv_example

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

Ubuntu 18.04.2下编译安装OpenCV 3.4.0 过程

即表示配置成功。

网友评论