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

写在前面

本文是在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环境完成。

猜你喜欢

转载自blog.csdn.net/iiinoname/article/details/125330878