OpenCv4.4.0+Qt5.12.2+OpenCv-Contrib-4.4.0

2024-06-01 22:48

本文主要是介绍OpenCv4.4.0+Qt5.12.2+OpenCv-Contrib-4.4.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OpenCv4.4.0+Qt5.12.2+OpenCv-Contrib-4.4.0编译配置

简介

系统环境

System:Win10_64

IDE版本

QtCreator:4.8.2
Qt:5.12.2
CMake:3.17.1
OpenCv:4.4.0

下载

OpenCv

OpenCv:OpenCv下载列表

OpenCv_4.4.0:OpenCv4.4.0

来自于某一个博主:

OpenCv:国内索引列表

OpenCv:OpenCv4.4.0

官网链接就不贴了。

OpenCv_Xontrib_4.4.0

OpenCv_contrib:OpenCv_contrib

OpenCv_contrib_4.4.0:OpenCv_Contrib_4.4.0

Qt5.12.2

Qt:Qt官网下载地址

Qt5.12.2:Qt5.12.2.exe

CMake

CMake:CMakeDownload

CMake3.17.1:GitHubCmake3.17.1

CMake3.17.1.msi:cmake-3.17.1-win64-x64.msi

安装

Opencv

配置图片

双击打开 opencv-4.4.0-vc14_vc15.exe,选择自己的安装路径。笔者:**E:\**E盘根目录

安装完为: E:\opencv

OpenCv-Contrib-4.4.0

解压opencv_contrib-4.4.0.zip,解压至 E:\opencv目录下

为:‘’

    目录: E:\opencvMode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2020/9/27      9:30                build
d-----        2020/9/27      9:39                opencv_contrib-4.4.0
d-----        2020/9/27      9:34                sources
-a----        2020/7/18      7:23           2336 LICENSE.txt
-a----        2020/7/18      7:23          27913 LICENSE_FFMPEG.txt
-a----        2020/7/18      7:23            731 README.md.txt

Qt5.12.2

正常的双击安装。注意选择MinGw。安装目录为 E:\Qt

    目录: E:\QtMode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2020/8/15     17:08                Qt5.12.2
d-----        2020/8/15     12:03                Qt5.9.2

注意:如果没有Qt帐号需要断网安装,就可以点击skip 跳过登录界面。或者自己注册帐号登录也可以。根据自己需要配置一些依赖库。

CMake

双击安装。

编译

MinGw_64

CMake配置

当前目录结构

    目录: E:\opencvMode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2020/9/27      9:30                build
d-----        2020/9/27      9:39                opencv_contrib-4.4.0
d-----        2020/9/27      9:34                sources
-a----        2020/7/18      7:23           2336 LICENSE.txt
-a----        2020/7/18      7:23          27913 LICENSE_FFMPEG.txt
-a----        2020/7/18      7:23            731 README.md.txt

创建编译目录,安装目录

PS E:\opencv> mkdir MinGw_64目录: E:\opencvMode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2020/9/27     12:42                MinGw_64PS E:\opencv> mkdir MinGw_64_build目录: E:\opencvMode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2020/9/27     12:42                MinGw_64_build

配置 source code 和 build the binaries

在这里插入图片描述

点击Configure

工程类型配置

工程类型选则: MinGw Makeifile

编译器选择:QtTools 下的 MinGw/bin gcc and g++
在这里插入图片描述
在这里插入图片描述
configure配置

等待配置完成 显示 Configuring done

配置安装路径

CMAKE_INSTALL_PREFIX  E:/opencv/MinGw_64

配置modules

OPENCV_EXTRA_MODULES_PATH  E:/opencv/opencv_contrib-4.4.0/modules

在CMakeGui Search栏 搜索 CMAKE_INSTALL_PREFIXOPENCV_EXTRA_MODULES_PATH,即可找到对应的配置项。

配置支持Qt

WITH_QT	TRUE

在CMakeGui Search栏 搜索 WITH_QT 即可找到对应的配置项。

配置OPENGL

WITH_OPENGL TRUE

取消Test编译

BUILD_PERE_TESTS FALSE
BUILD_TESTS FALSE
BUILD_opencv_python_tests FLASE
OPENCV_ENABLE_ALLOCATOR_STATS FALSE
OPENCV_GENERATE_SETUPVARS FALSE

在CMakeGui Search栏 搜索 test 即可找到对应的配置项,全部取消

配置完成后继续点击Configure

QT5_DIR配置

在点击Configure 之后 会有如下错误提示:

CMake Error at cmake/OpenCVFindLibsGUI.cmake:18 (find_package):Could not find a package configuration file provided by "Qt5" with any ofthe following names:
Qt5Config.cmakeqt5-config.cmakeQt5Config.cmakeAdd the installation prefix of "Qt5" to COPENCV_ENABLE_ALLOCATOR_STATSMAKE_PREFIX_PATH or set "Qt5_DIR"to a directory containing one of the above files.  If "Qt5" provides aseparate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):CMakeLists.txt:686 (include)
Configuring incomplete, errors occurred!

该错误是没有找到Qt5 的 安装路径。

在Everything 搜索 Qt5Config.cmake,即可找到对应路径。

    目录: E:\Qt\Qt5.12.2\5.12.2\mingw73_64\lib\cmake\Qt5Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2019/3/12     17:49           1606 Qt5Config.cmake
-a----        2019/3/12     17:49            288 Qt5ConfigVersion.cmake
-a----        2019/3/12     17:49            249 Qt5ModuleLocation.cmake
Qt5_DIR E:\Qt\Qt5.12.2\5.12.2\mingw73_64\lib\cmake\Qt5

配置完成之后,继续点击Configure

等到 Configuring done。继续配置。

取消

BUILD_opencv_rgbd FALSE
BUILD_opencv_python3 FALSE
BUILD_opencv_python3_building_generator FALSE
BUILD_opencv_rapid FALSE
OPENCV_GENERATE_SETUPVARS FALSE
OPENCV_ENABLE_ALLOCATOR_STATS FALSE

配置完成之后,继续点击Configure

等到 Configuring done.

检测下载

    目录: E:\opencv\MinGw_64_build\downloads\xfeatures2dMode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2020/9/27     14:04          14852 boostdesc_bgm.i
-a----        2020/9/27     14:04          14864 boostdesc_bgm_bi.i
-a----        2020/9/27     14:04           7832 boostdesc_bgm_hd.i
-a----        2020/9/27     14:04         138093 boostdesc_binboost_064.i
-a----        2020/9/27     14:04         275322 boostdesc_binboost_128.i
-a----        2020/9/27     14:04         549754 boostdesc_binboost_256.i
-a----        2020/9/27     14:04         426280 boostdesc_lbgm.i
-a----        2016/3/17     20:49        1257733 vgg_generated_120.i
-a----        2016/3/17     20:49         773330 vgg_generated_48.i
-a----        2016/3/17     20:49         915012 vgg_generated_64.i
-a----        2016/3/17     20:49        1012932 vgg_generated_80.i
    目录: E:\opencv\MinGw_64_build\3rdparty\ffmpegMode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2020/9/27     14:03            361 ffmpeg_version.cmake
-a----        2020/9/27     13:24       21213184 opencv_videoio_ffmpeg.dll
-a----        2020/9/27     13:31       22100992 opencv_videoio_ffmpeg_64.dll
    目录: E:\opencv\MinGw_64_build\testdata\cv\faceMode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2020/9/27     13:40       72368157 face_landmark_model.dat

在如上目录查看是都有对应的文件,没有则打开

E:\opencv\MinGw_64_build\CMakeDownloadLog.txt

找到下载路径,下载对应的文件。

编译

管理员权限打开 powershell ,执行如下命令:

PS E:\opencv\MinGw_64_build> E:\Qt\Qt5.12.2\Tools\mingw730_64\bin\mingw32-make.exe -j8
E:\Qt\Qt5.12.2\Tools\mingw730_64\bin\mingw32-make.exe -j8

mingw32-make.exe 路径为对应 Qt mingw 安装路径。

相关错误

E:/Qt/Qt5.12.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/math.h:36:1: error: 'include' does not name a typeinclude <cmath>
gcc: error: long: No such file or directory
E:\Qt\Qt5.12.2\Tools\mingw730_64\bin\windres.exe: preprocessing failed.
CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):CONFIGURATION IS NOT SUPPORTED: validate setupvars script in installdirectory
Call Stack (most recent call first):CMakeLists.txt:968 (include)

Qt工程测试Demo

随便拿了之前的一段代码,图片合并或者说全景图拼接的。

工程目录

    目录: D:\8-Project\Qt-Project\opencv_helloMode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2020/9/26     20:49         528828 01.png
-a----        2020/9/26     20:49         519384 02.png
-a----        2020/9/26     20:31            183 main.cpp
-a----        2020/9/28      1:01           1843 mainwindow.cpp
-a----        2020/9/26     21:02            343 mainwindow.h
-a----        2020/9/26     21:01           1349 mainwindow.ui
-a----        2020/9/28      0:52           1319 opencv_hello.pro
-a----        2020/9/28      0:48          14674 opencv_hello.pro.user

libdir / includepath 配置

在Pro文件内部添加:

INCLUDEPATH += E:\opencv\MinGw_64\include\
INCLUDEPATH += E:\opencv\MinGw_64\include\opencv2\win32:CONFIG(release, debug|release): LIBS += E:/opencv/MinGw_64/x64/mingw/lib/libopencv_*.a

因为只编译了 release 版本,所以只添加了Release

源码

bool MainWindow::OpencvStitch()
{//载入图片cv::Mat fImage = cv::imread("./01.png");cv::Mat sImage = cv::imread("./02.png");//图片列表std::vector<cv::Mat> imgs;imgs.push_back(fImage);imgs.push_back(sImage);//图片生成cv::Mat outImage;cv::Ptr<cv::Stitcher> stitcher = cv::Stitcher::create();cv::Stitcher::Status status = stitcher->stitch(imgs,outImage);//图片合成结果if (status != cv::Stitcher::Status::OK){QString errmsg = "";if (status == cv::Stitcher::Status::ERR_NEED_MORE_IMGS)errmsg = "image no overlapping area";else if (status == cv::Stitcher::Status::ERR_HOMOGRAPHY_EST_FAIL)errmsg = "image no match ";elseerrmsg = "image parameter processing failed ";qDebug() << "stitch imgs fail! : " << errmsg;return false;}else{//重定向图片cv::Mat stitchImage = cv::Mat::zeros(fImage.rows, fImage.cols, CV_8UC3);cv::resize(outImage, stitchImage, stitchImage.size());//Opencv与Qt格式转换 有默认 BGR-> RGBcv::Mat qLabelImg;cv::cvtColor(stitchImage,qLabelImg,cv::COLOR_BGR2RGB);//生成QImageQImage qImg = QImage((const unsigned char*)(qLabelImg.data),qLabelImg.cols,qLabelImg.rows,qLabelImg.step,QImage::Format_RGB888);//QLabel显示图片ui->label->setPixmap(QPixmap::fromImage(qImg));ui->label->resize(qImg.size());qDebug() << ui->label->size();ui->label->show();return true;}
}

运行结果

源图片
运行结果

这篇关于OpenCv4.4.0+Qt5.12.2+OpenCv-Contrib-4.4.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1022314

相关文章

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++中OpenCV 矩阵运算的实现

《C/C++中OpenCV矩阵运算的实现》本文主要介绍了C/C++中OpenCV矩阵运算的实现,包括基本算术运算(标量与矩阵)、矩阵乘法、转置、逆矩阵、行列式、迹、范数等操作,感兴趣的可以了解一下... 目录矩阵的创建与初始化创建矩阵访问矩阵元素基本的算术运算 ➕➖✖️➗矩阵与标量运算矩阵与矩阵运算 (逐元

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

C/C++和OpenCV实现调用摄像头

《C/C++和OpenCV实现调用摄像头》本文主要介绍了C/C++和OpenCV实现调用摄像头,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录准备工作1. 打开摄像头2. 读取视频帧3. 显示视频帧4. 释放资源5. 获取和设置摄像头属性

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de

python+OpenCV反投影图像的实现示例详解

《python+OpenCV反投影图像的实现示例详解》:本文主要介绍python+OpenCV反投影图像的实现示例详解,本文通过实例代码图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前言二、什么是反投影图像三、反投影图像的概念四、反向投影的工作原理一、利用反向投影backproj

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor