ubuntu20下Qt5.14.2+OpenCV(含Contrib)-4.5.0环境搭建

Posted qq_40170041

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu20下Qt5.14.2+OpenCV(含Contrib)-4.5.0环境搭建相关的知识,希望对你有一定的参考价值。

Qt若要能处理图片和视频,就必须安装OpenCV,而OpenCV中很多的高级功能如人脸识别等都包含在Contrib扩展模块中,需要将Contrib与OpenCV一起联合编译,目前所用这两个版本都是4.5.0版。

一、下载OpenCV

OpenCV的官方下载地址为http://opencv.org/releases.html,这里选择OpenCV4.5.0版,单击“Sources”超链接下载其源代码的压缩包,得到opencv-4.5.0.zip。
找到4.5.0版本的源码下载

二、下载Contrib

OpenCV官方将已经成熟稳定的功能放在opencv包里发布,而在发展中尚未成熟的技术则统一置于Contrib扩展模块中。通常情况下,下载的OpenCV中不包含Contrib扩展库的内容,如果只是进行一般的图片、视频处理,则仅使用OpenCV就足够了,但是OpenCV中默认不包含SIFT、SURF等先进的图像特征检测技术,另外一些高级功能(如人脸识别等),都在Contrib扩展库中,若欲充分发挥OpenCV的强大功能,则必须将其与Contrib扩展库放在一起联合编译使用。
从OpenCV标准Github网站中下载Contrib,地址为http://github.com/opencv。

三、环境配置

打开终端,依次执行

sudo apt-get install build-essential 
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

四、安装

将OpenCV4.5.0下载解压后,再将opencv_contrib4.5.0解压到OpenCV4.5.0文件夹里面(为方便后续操作,可将上面两个文件夹分别命名为opencv4.5.0和opencv_conrib4.5.0)

然后在opencv-4.5.0文件夹下创建一个build文件夹,用于编译
打开终端

cd build

执行cmake编译

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_EXTRA_MODULES_PATH=/home/yang/opencv-4.5.0/opencv_contrib-4.5.0/modules ..

在执行sudo make -j8 这一步是编译
最后执行sudo make install 这一步是安装
若出现下面的错误时:fatal error: boostdesc_bgm.i:没有那个文件或目录

这是因为camke配置的时候没有下载完全,可以重新尝试下载,或者从下面连接处下载

https://download.csdn.net/download/qq_40170041/87437485

然后将里面的文件放入opencv_contrib-4.5.0/modules/xfertures2d/src
在opencv 的cmake编译的时候遇到 找不到 feature2d/test/test_detectors_regression.impl.hpp文件的问题。

先找这个文件在哪儿:

find -name test_detectors_regression.impl.hpp

发现这个路径在opencv下的 modules 目录下的:

opencv-4.5.0/modules/feature2d/test/test_detectors_regression.impl.hpp

为啥找不到呢,我查看make的运行命令:

make VERBOSE=1

发现报错的gcc执行命令中 -I参数的序列中并没有包含 modules这个路径。
知道问题了就简单了,解决方法就是添加这个参数。
我是通过修改项目的 CMakeLists.txt 来实现的,简单暴力 的那种:

gedit opencv/CMakeLists.txt

在下面一行行添加:

include_directories("modules")

然后重新执行cmake

在重新编译安装就可以了

Qt中配置opencv库的路径

以上是关于ubuntu20下Qt5.14.2+OpenCV(含Contrib)-4.5.0环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Qt5.14.2开发Mqtt应用程序

Qt5.14.2开发Mqtt应用程序

Qt5.14.2开发Mqtt应用程序

Qt5.14.2开发Mqtt应用程序

Qt5.14.2下载与安装(保姆级图文教程)

VS2022+Qt5.14.2成功编译MITK2022.10