• Ubantu opencv安装


    1.安装准备

    1.1安装环境

    • ubantu 18.04
    • opencv4.4.0
    • opencv-contrib4.4.0 (支持 dnn 图像分类、图像分割等模块)

    注:opencv和扩展库opencv-contrib的版本需保持一致,本文以4.4.0为说明,其他版本的安装方法一样

    1.2 安装cmake

    sudo apt install cmake
    
    • 1

    1.3 安装依赖包

    sudo apt install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev  libpng-dev  libjasper-dev  libcurl4-openssl-dev  libtbb2 libdc1394-22-dev
    sudo apt-get install libgtk2.0-dev
    sudo apt-get install pkg-config
    
    • 1
    • 2
    • 3

    1.2 下载opencv及contrib源码(4.4.0)

    opencv源码下载
    opencv4.4.0 源码地址:https://github.com/opencv/opencv/releases?page=2
    在这里插入图片描述
    下载Source code(zip)Source code(tar.gz)

    opencv-contrib下载
    opencv-contrib 源码地址:https://github.com/opencv/opencv_contrib/releases/tag/4.4.0
    在这里插入图片描述
    下载Source code(zip)Source code(tar.gz)

    2.安装

    2.1 新建安装目录

    mkdir imgproc
    
    • 1

    2.2 解压

    将opencv及opencv_contrib源码,拷贝到imgproc目录,并解压

    tar zxvf opencv-4.4.0.tar.gz
    tar zxvf opencv_contrib-4.4.0.tar.gz
    
    • 1
    • 2

    在这里插入图片描述

    2.3 配置opencv

    2.3.1 创建编译和安装目录

    opencv-4.4.0源码下新建build目录

    cd ~/imgproc/opencv-4.4.0
    mkdir build  #新建build目录
    
    • 1
    • 2

    imgproc目录下新建安装目录

    cd ~/imgproc
    mkdir opencv-4.4.0_install
    
    • 1
    • 2

    2.3.2 编译opencv

    cd ~/imgproc/opencv-4.4.0/build  #进入build目录
    cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/home/yuan/opencv-4.4.0_install -D OPENCV_EXTRA_MODULES_PATH=/home/yuan/opencv_contrib-4.4.0/modules  ..  
    
    • 1
    • 2

    注:/home/yuan需要改为自己的家目录,..表示安装到上一级目录,不要遗漏

    1.依赖包 ippicv_2020_lnx_intel64_20191018_general.tgz下载失败

    在文件~/opencv4.3/3rdparty/ippicv/ippicv.cmake 中找3个关键值:
    43行:下载目录的地址:https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/
    5行:IPPICV_COMMIT值:a56b6ac6f030c312b2dce17430eef13aed9af274
    10行:文件名:ippicv_2020_lnx_intel64_20191018_general.tgz
    三个值组合起来,就是下载地址:https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz

    下载好了之后,直接放到~/opencv4.3/3rdparty/ippicv/目录下,修改 ippicv.cmake文件的第42行:

    #"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
    "file:///xxxxx/opencv4.3/3rdparty/ippicv/"
    
    • 1
    • 2

    参考: Ubuntu18.04 安装 OpenCV4.3 及环境配置

    2. 编译OpenCV以及openc_contrib提示缺少boostdesc_bgm.i文件出错的解决

    参考链接:https://www.cnblogs.com/penuel/p/13696252.html

    在这里插入图片描述
    由于网速等原因,以下文件需要在本地下载好,其中下载链接可以在build文件夹下的日志文件 CMakeDownloadLog.txt,在日志文件CMakeDownloadLog.txt中搜索 boostdesc_bgm.i 关键词 (不是在文件夹中搜索)

    日志文件里就有它的下载地址,直接复制其下载地址到网页可以看该到文件的源码,直接拷贝源码并生存同名文件,放在 opencv_contrib/modules/xfeatures2d/src/ 路径

    修改 ~/opencv_contrib_4.3/modules/xfeatures2d/cmake/download_boostdesc.cmake 文件27行:

    #"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/"
    "file:///xxxxx/opencv_contrib_4.3/modules/xfeatures2d/src"	
    
    • 1
    • 2

    因为这个https://raw.githubusercontent.com网址下载不了,需要更换到本地的路径,注意格式file:// + 绝对路径

    3.face_landmark_model.dat.zip下载

    下载地址:https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
    下载完成后,把face_landmark_model.dat.zip 放到文件夹~/opencv_contrib_4.3/modules/face/ 中,修改 ~/opencv_contrib_4.3/modules/face/CMakeLists.txt 19行:

    #"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"
    "file:///xxxxx/opencv_contrib_4.3/modules/face/"     
    
    • 1
    • 2

    参考: Ubuntu18.04 安装 OpenCV4.3 及环境配置

    如果不想自己下载,可以直接下载我下载好的文件,文件链接:ubantu 下安装C++ 版opencv的依赖文件

    2 提示找不到feature2d/test/test_detectors_regression.impl.hpp
    参考链接:https://blog.csdn.net/xiewenrui1996/article/details/108683866

    编译过程中出现如下错误:

    fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory

    原因是没找到这个文件,解决方法如下:

    将opencv4.4.0 / modules / 下的features2d文件复制,然后粘贴到build目录中来解决该问题

    3 如果编译中断,根据下面的命令重新执行编译过程

    make clean
    make -j4
    
    • 1
    • 2

    2.3.3 安装
    编译完成后需要执行make install来进行安装

    make install
    
    • 1

    完成编译后,在安装目录下将生成如下文件
    在这里插入图片描述

    2.4 环境变量配置

    2.4.1 打开或创建opencv4.conf文件,并添加opencv安装路径
    sudo   gedit  /etc/ld.so.conf.d/opencv4.conf
    
    • 1

    在opencv4.conf文件中添加一行如下命令:

    /home/yuan/opencv-4.4.0_install/lib
    
    • 1
    2.4.2 使opencv配置文件生效
    sudo  ldconfig
    
    • 1
    2.4.3 配置bash环境变量
    sudo gedit ~/.bashrc   
    
    • 1

    在文件末尾添加如下内容:

    export  PKG_CONFIG_PATH=/home/yuan/opencv-4.4.0_install/lib/pkgconfig
    
    • 1

    生效配置文件

    source ~/.bashrc
    
    • 1
    2.4.4 验证opencv环境配置是否成功

    进入opencv-4.4.0_install/lib/pkgconfig,查看文件清单:
    在这里插入图片描述
    其中opencv4.pc里面记录了opencv有关的环境,包括版本、依赖的库以及头文件等。

    vim opencv4.pc
    
    • 1

    在这里插入图片描述
    运行如下命令测试能不能找到opencv4库文件,注意opencv4名需要与pkgconfig文件下的opencv4.pc对应。

    pkg-config  --cflags  --libs opencv4
    
    • 1

    在这里插入图片描述

    2.5 opencv测试

    2.5.1 进入example_cmake 目录

    找到opencv-4.4.0/samples/cpp/example_cmake`目录,该目录下面有一个测试程序,
    在这里插入图片描述

    删除多余的文件,只保留CMakeLists.txtexample.cpp这两个文件

    rm -rf Makefile
    
    • 1
    2.5.2 修改CMakeLists.txt
    vim CMakeList.txt
    
    • 1

    在这里插入图片描述
    将opencv源码的build路径添加到Opencv DIR

    set (Opencv_DIR /home/SMCV/einrj/imgproc/opencv-4.4.0/build) # 需要修改为对应build目录
    
    • 1
    执行cmake
    cmake .
    
    • 1

    执行后,生成了makefile文件
    在这里插入图片描述
    最后执行make

    make
    
    • 1

    执行后,效果如下
    在这里插入图片描述
    完成执行后,生成目标可执行文件opencv_example
    在这里插入图片描述
    直接运行可执行文件即可

    ./opencv_example
    
    • 1
  • 相关阅读:
    Java架构师分布式搜索词库解决方案
    基于事件触发机制的孤岛微电网二次电压与频率协同控制MATLAB仿真模型
    面试--mysql基础
    用正则表达式剔除文本中的html标签
    企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)
    SpringBoot2.0---------------10、SpringBoot普通参数与基本注解
    Python 连接 Oracle 详解
    产品速递 | 璞华易投估值管理系统,灵活多样的数据模型让估值更加精准高效!
    LabVIEW开发虚拟与现实融合的数字电子技术渐进式实验系统
    有了这个工具,支付宝商家多个账号下的账单管理更方便了
  • 原文地址:https://blog.csdn.net/weixin_38346042/article/details/127693995