Ubuntu18.04|Ubuntu18.04 安装 Opencv4.4.0 及 Contrib (亲测有效)

一、下载源文件 首先下载 Opencv4.4.0 的源文件,点击下方地址,选择 4.4.0 版本的 Sources 版下载即可:
Opencv官方下载地址
然后下载 Contrib 的对应版本:
Opencv_Contrib下载地址

二、解压 使用unzip命令,将 Opencv4.4.0 解压到你想要的位置,例如/home/admin/ (admin用户的家目录)
然后将 Contrib 解压到 Opencv4.4.0 的解压目录下,例如/home/admin/opencv-4.4.0/

三、Apt安装必需包

sudo apt update sudo apt install cmake sudo apt install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev sudo apt install pkg-config


四、Cmake
  1. 进入 opencv 的解压目录 (例如/home/admin/opencv-4.4.0/)
  2. mkdir build
  3. cd build
  4. 注意下面这一步,最后一个参数 OPENCV_EXTRA_MODULES_PATH 要根据你的实际情况转变,把它换成你的 contrib 的解压目录下的 modules 目录,如果你按照本文来操作,则这个目录是../opencv_contrib/modules 或者 ../opencv_contrib-4.4.0/modules (因为此时所处的位置为build目录)。此外,该命令最后的..不能落掉:
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
    如果Cmake这一部分弄错了,则删除build目录,将这一部分重新执行。
【Ubuntu18.04|Ubuntu18.04 安装 Opencv4.4.0 及 Contrib (亲测有效)】
五、安装
  1. make
make -j$(nproc)

-jn 表示使用多个系统内核进行编译,通常有 -j4 -j8 等。如果不知道自己机器有几个内核,就使用上面这条命令。如果设置得超出了自己系统的内核数量,则容易报一些奇奇怪怪的错误。
如果在make的途中报错“缺少 boostdesc_bgm.i 等文件”,则参考下面这篇文章:
安装OpenCV时提示缺少boostdesc_bgm.i文件的问题解决方案
如果报错“缺少后缀名为 .hpp 的文件”,则在build目录下 cp -r ../modules/features2d ./ ,把opencv的modules目录拷贝过来。
  1. make install
sudo make install


六、配置
  1. 将OpenCV的库添加到系统路径
sudo vim /etc/ld.so.conf

在文件中加上一行:
include /usr/local/lib

保存后:
sudo ldconfig

  1. 配置系统bash
因为在 cmake 时,选择了自动生成 OpenCV 的 pkgconfig 文件,因此在 /usr/local/lib/pkgconfig 路径可以看到文件 opencv4.pc
修改 /bash.bashrc ,如果你使用的是 zsh 的命令行,则要修改的是 /etc/zsh/zshrc:
sudo vim /etc/bash.bashrc 或者 sudo vim /etc/zsh/zshrc

在文末添加如下内容并保存:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

然后使其生效:
source /etc/bash.bashrc 或者 source /etc/zsh/zshrc


七、验证
  1. 执行完上面所有步骤后,opencv4及contrib就安装完毕了。
使用命令验证,如果安装成功则会显示版本号:
pkg-config --modversion opencv4

  1. 也可以继续安装 python-opencv
sudo apt-get install python-opencv

输入命令 python 来进入 python 的命令行,然后 import cv2 来check是否成功。

    推荐阅读