Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细)

  • 前期准备—环境依赖
    • Cmake(编译器)
    • 依赖环境
    • Python环境
    • streamer环境
      • 图像处理依赖
  • 安装OpenCV
  • 编译OpenCV
    • 配置cmake编译参数
  • make编译
  • 配置OpenCV动态库
  • 验证OpenCV环境
    • # python环境下OpenCV环境验证:
  • 安装Opencv_contrib
    • 下载opencv_contrib
    • 配置编译项
    • 出现的问题
      • 一、ippicv下载问题
      • 下载ippicv_2019_lnx_intel64_general_20180723.tgz
      • 修改opencv相关配置文件
    • 二、boostdesc和vgg_generated文件下载较慢的问题
  • make安装(Opencv_contrib)
  • 切换OpenCV版本 (补充)
  • OpenCV代码测试
    • 调用摄像头

前期准备—环境依赖

Cmake(编译器)

具体安装细节可以参考之前写的一篇《Ubuntu下安装Cmake(编译)》

依赖环境

sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

具体为以下环境依赖

build-essential 
libgtk2.0-dev 
libgtk-3-dev 
libavcodec-dev 
libavformat-dev 
libjpeg-dev 
libswscale-dev 
libtiff5-dev

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第1张图片

Python环境

注意OpenCV4.2.0需要Python3.x的环境

sudo apt install python3-dev

此外还需要Numpy函数库

sudo apt install python3-numpy

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第2张图片

streamer环境

sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

图像处理依赖

sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev

PS:对于显示图像imshow(),正常显示几秒后报错:
Gtk-Message: 11:37:50.847: Failed to load module “canberra-gtk-module”
问题为缺少库,执行命令安装即可:

sudo apt-get install libcanberra-gtk-module

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第3张图片

安装OpenCV

在OpenCV官网(https://opencv.org/releases/)找到OpenCV 4.2.0版本,下载Sources源码
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第4张图片
也可以在OpenCV的GitHub中下载:
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第5张图片

编译OpenCV

下载完成后解压进入OpenCV 4.2.0的文件目录中
新建build文件作为编译文件夹

mkdir build
cd build

配置cmake编译参数

cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第6张图片

make编译

终端执行

make -j8

OpenCV4版本默认不生成.pc文件,执行OPENCV_GENERATE_PKGCONFIG=ON生成。
PS:这里-j的参数是根据CPU的核数,8核-j8,4核-j4
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第7张图片
编译完成后执行安装:

sudo make install

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第8张图片

配置OpenCV动态库

配置OpenCV动态库环境,程序执行时加载动态库.so的路径*

cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf'

更新pkg-config

sudo ldconfig

验证OpenCV环境

终端执行:

pkg-config --libs opencv4
pkg-config --cflags opencv4

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第9张图片
出现如图所示即可表示OpenCV安装成功

# python环境下OpenCV环境验证:

进入Python环境,终端执行:

Python3
import cv2

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第10张图片

安装Opencv_contrib

下载opencv_contrib

OpenCV-Github官方:https://github.com/opencv/opencv_contrib

配置编译项

进入OpenCV4.2.0的目录,清空刚才编译的build文件夹,重新编译:
这里需要注意Opencv_contrib的路径Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第11张图片

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4 -D OPENCV_EXTRA_MODULES_PATH=/home/bigboss/opencv-4.2.0/opencv_contrib-4.2.0/modules/ ../

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第12张图片

出现的问题

一、ippicv下载问题

在Cmake编译中可能会出现ippicv下载问题
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第13张图片

下载ippicv_2019_lnx_intel64_general_20180723.tgz

Github地址:https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv
PS:这里的下载根据自己的系统架构选择
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第14张图片

修改opencv相关配置文件

进入**…/opencv-4.2.0/3rdparty/ippicv路径下打开ippicv.cmake**文件
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第15张图片
修改第47行内容:将原来的下载网址替换为下载的本地文件路径:

   "file:~/Downloads/"  # 根据自己的实际路径参考

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第16张图片
修改后:
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第17张图片

二、boostdesc和vgg_generated文件下载较慢的问题

在编译中可能会遇到boostdescvgg_generated下载较慢的问题:
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第18张图片
可以通过离线下载https://github.com/JZhong-Li/boostdesc_bgm.i
复制到到**opencv_contrib/modules/xfeatures2d/src/**目录中
Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第19张图片

make安装(Opencv_contrib)

终端执行make,-j的参数根据自己CPU实际内核做调整

maake -j4

如果遇到:

Makefile:165: recipe for target 'all' failed
make: *** [all] Error 2

重复执行make即可,
在这里插入图片描述
最后执行

sudo make install

切换OpenCV版本 (补充)

 sudo gedit /etc/ld.so.conf.d/opencv.conf

PS:执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加并保存

/usr/local/lib

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第20张图片
同步配置路径生效

sudo ldconfig

配置bash

sudo gedit /etc/bash.bashrc

在最末尾添加:

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

Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)_第21张图片

保存使得配置生效

source /etc/bash.bashrc  

更新环境信息

sudo updatedb

OpenCV代码测试

调用摄像头

进入**/opencv-4.2.0/samples/cpp/example_cmake**

cd opencv-4.2.0/samples/cpp/example_cmake
cmake .
make
./opencv_example

执行结构:

你可能感兴趣的:(OpenCV,c++,opencv,python,ubuntu)