【Qt】Qt5.14.2配置OpenCV3.4.6环境

5 篇文章 5 订阅

写在前面

本文是在Qt的MinGw编译器配置OpenCV环境,这里仅作过程记录,不做原理讲解。其中大多数流程参考了别的博主的博客,由于版本问题,在配置过程中还是出现了很多问题。所以这里针对特定的版本做一个记录。
参考博客:
Qt配置OpenCV教程,亲测已试过(详细版)
Qt5+OpenCV3.4.6环境搭建

1、系统环境

这里仅说明我当时配置时所使用的环境

  • win11 64位
  • Qt 5.14.2
  • OpenCV 3.4.6
  • CMake 3.23.2

2、配置环境变量

我的各个软件的安装路径:

Qt:D:\software\Qt\Qt5.14.2
Opencv:D:\software\opencv346\opencv
CMake:D:\software\cmake-3.23.2-windows-x86_64

这里我们使用mingw730_64(可能有些人有好几个版本,根据自己需求去选择即可,如果跟我的不一样,文章下面说明的路径根据你的实际情况去修改)
所以我配置的环境变量如下

在这里插入图片描述

3、编译OpenCV

在OpenCV的目录下面,新建一个opencv-build的目录(文件夹名称可以自定义),作为编译输出的地方。比如我这里:
D:/software/opencv346/opencv/opencv-build

3.1CMake设置

①选择目录
# Where is the source code:
D:/software/opencv346/opencv/sources

# Where to build the binaries:
D:/software/opencv346/opencv/opencv-build

勾选Advanced
然后点击Configure
在这里插入图片描述

②Configure选项

在这里插入图片描述
在这里插入图片描述
Compilers

# C
D:/software/Qt/Qt5.14.2/Tools/mingw730_64/bin/gcc.exe

# C++
D:/software/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe

在这里插入图片描述
点击Finish

在这里插入图片描述
等待绿条拉满,然后出现一大片红,然后开始检查参数配置。
在这里插入图片描述

③修改变量

1、找到CMAKE_MAKE_PROGRAM,确认Value
在这里插入图片描述
2、勾选 ENABLE_CXX11WITH_OPENGLWITH_QT
在这里插入图片描述
在这里插入图片描述
3、取消勾选 WITH_OPENGL_D3D11_NV
在这里插入图片描述
然后再次点击Configure,等待绿条拉满

④再次确认变量

在这里插入图片描述
确认QT5xxxcc_DIR这几个变量的Value,如图所示即可(如果已经有了就不用修改,如果没有就修改一下)。
然后再次点击Configure。

⑤Generate

此时不再出现红色,点击Generate。
在这里插入图片描述
等待绿条拉满,出现Generating done就可以了。
在这里插入图片描述

3.2 编译

进入刚刚我们创建的opencv-build文件夹中,你会看到刚刚CMake输出的内容。
在这里插入图片描述
将鼠标放在该文件夹界面内,按住shift键,同时点击鼠标右键,点击在此处打开Powershell窗口(s),进入Windows Powershell
在这里插入图片描述
输入下面命令,按回车键执行该命令。

mingw32-make -j 8

注意!!!这一步骤可能耗时会比较久。这里的-j 8是为了让CPU进行多任务处理,可以加快编译速度。根据自己电脑的配置进行设置。
我的电脑是i7-12700 12核CPU,所以我选择-j 12大概几分钟就完成了。

等待终端跑完。。。。。。。。。
在这里插入图片描述
按照我上面的步骤来操作,是不会出现问题的。

一开始我是按照上面那几个博客里的步骤,就出现了各种错误。
就比如在39%的时候出现:mingw32-make: *** [Makefile:165: all] Error 2 等等
通过不断的踩坑填坑最后还是解决了

100%完成之后,输入

mingw32-make install

在这里插入图片描述完成之后退出。

添加环境变量

opencv-build输出的内容添加到环境变量,路径如下

D:\software\opencv346\opencv\opencv-build\install\x64\mingw\bin

在这里插入图片描述
至此 OpenCV编译完成。

4、用Qt测试

①新建Qt项目

在Qt Create中新建一个项目,按照正常流程新建即可,在选择kits的时候要注意选择MinGw 64,(在第2步的配置环境变量的时候,你选择的是什么,这里就选什么,否则会出错!下面会说)
在这里插入图片描述

②添加OpenCV

xxx.pro文件中
在这里插入图片描述
添加以下内容,根据你自己的实际情况修改:

INCLUDEPATH += D:\software\opencv346\opencv\opencv-build\install\include
LIBS += D:\software\opencv346\opencv\opencv-build\lib\libopencv_*.a

在这里插入图片描述
在mainwindow.cpp中加上如下代码

#include <opencv2/opencv.hpp>
using namespace cv;

③测试图片

在MainWindow的构造函数中添加

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    
	//一定要使用绝对路径,且不要有中文,其他可能会报错
    Mat image = imread("F:/img/11182.png",1); 
    namedWindow("Display window",WINDOW_AUTOSIZE);
    imshow("Display window",image);
}

④检查kit

在这里插入图片描述

⑤运行

在这里插入图片描述

问题说明

如果kit不是我选择的MingGW 64的话,比如我这里选MSVC2017 64
在这里插入图片描述
一运行就会报这些错误
在这里插入图片描述
此时你只要改回MingGW 64即可。

MSVC编译器需要使用另外的配置,可以看我另一篇文章【Qt】添加第三方库的知识补充

至此,Qt5.14.2配置OpenCV3.4.6环境完成。

引用\[1\]中提到了QtOpenCV的安装路径,引用\[2\]中提到了OpenCV的下载和解压步骤,引用\[3\]中提到了使用CMake进行编译的命令。 问题: 如何在Qt5.14.2中使用OpenCV? 回答: 在Qt5.14.2中使用OpenCV,首先需要下载并安装QtOpenCV。根据引用\[1\]中的路径,Qt安装在D:\software\Qt\Qt5.14.2OpenCV安装在D:\software\opencv346\opencv。然后,根据引用\[2\]中的步骤,将OpenCV4.5.0和opencv_contrib4.5.0解压到相应的文件夹中。接下来,在OpenCV4.5.0文件夹下创建一个build文件夹,并打开终端进入build文件夹。最后,根据引用\[3\]中的命令执行cmake编译,指定CMAKE_BUILD_TYPE为RELEASE,OPENCV_EXTRA_MODULES_PATH为opencv_contrib-4.5.0/modules/face的路径,然后执行编译命令。这样就可以在Qt5.14.2中使用OpenCV了。 #### 引用[.reference_title] - *1* [【QtQt5.14.2配置OpenCV3.4.6环境](https://blog.csdn.net/iiinoname/article/details/125330878)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ubuntu20下Qt5.14.2+OpenCV(含Contrib)-4.5.0环境搭建](https://blog.csdn.net/qq_40170041/article/details/128917337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值