OpenCV对于Qt C++的支持有两种编译方式MinGW和MSVC。

MSVC:MSVC教程链接

以下实现是MinGW: win10系统Qt5.12.9配置OpenCV4.5.1库教程 Qt,OpenCV,Cmake详细下载安装教程
引用原作者尝试后心得改进说明:https://blog.csdn.net/weixin_42322013/article/details/88808230

软件准备

首先要说的是装软件还是装最新的好,不用考虑各种软件的版本对应问题,都是最新版的情况下它们互相之间一定是兼容的,下边具体来说下需要的几个软件。

    64位win10系统
    Qt 5.12.9
    Cmake 3.18.0
    OpenCV 4.5.1

以下叙述顺序即为安装配置顺序

Qt

Download

国内镜像网站
这里给大家推荐几个国内著名的 Qt 镜像网站,主要是各个高校的:

中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/
清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/
北京理工大学:http://mirror.bit.edu.cn/qtproject/
中国互联网络信息中心:https://mirrors.cnnic.cn/qt/

在这里插入图片描述

自行下载,安装方面比较简单就先忽略了。

Cmake

Download

Cmake截止目前的最新版本是3.14.0,链接:https://cmake.org/download/ 点击如下页面红色箭头所指链接下载
在这里插入图片描述

Installation

安装步骤如下所示:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述安装位置可以自定义
在这里插入图片描述

OpenCV

Download

OpenCV截止目前的最新版是4.5.1,链接:https://opencv.org/releases.html
在这里插入图片描述

双击下载后的程序

在这里插入图片描述

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

点开这里的sources文件夹,你会发现里边的文件和上边由opencv-4.5.1.zip解压出来的文件是一样的, 由于我们配置时只需要用到sources文件夹里的东西,所以你下载Sources还是Win pack都是可以的。

【重要】:将mingw加入环境变量之后,一定要重启电脑才能实效
右击此电脑
点击属性
点击左上角高级系统设置
点击高级页面下的环境变量
点击系统变量中的Path
点击编辑
点击新建
D:\Qt\Qt5.12.9\Tools\mingw730_64\bin
将该路径加入即可

如图所示:环境变量全部添加上后,一定要重启电脑
在这里插入图片描述

Compiling OpenCV

进入C:\Program Files\CMake\bin,点击cmake-gui.exe

    Where is the source code: D:\OpenCV4.5.1\opencv\sources
    
    Where to build the binaries: D:\OpenCV4.5.1\opencv\opencv-build(opencv-build这个文件夹要新建)

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

保持默认MinGW Makefiles,点击Specify native compilers,再next
在这里插入图片描述

Compilers:

C D:/Qt/Qt5.12.9/Tools/mingw730_64/bin/gcc.exe
C++ D:/Qt/Qt5.12.9/Tools/mingw730_64/bin/g++.exe
Fortran不用管

在这里插入图片描述

点击Finish

这个时候如果遇到:(没遇到,忽略这个问题)
QT 编译Opencv 一致报错:

CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
解决办法:如图所示勾选Advanced,对变量:CMAKE_MAKE_PROGRAM 设置value .QT目录下的mingw32-make.exe 即可

在这里插入图片描述

Configuring done之后,会出现一大片红的,不用管,下拉将WITH_OPENGL和WITH_QT选中即可,然后再次点击Configure
在这里插入图片描述

此时仍会有红色出现
在这里插入图片描述

按照上述设置将出现红色几个条框的Value进行更改

Set Qt5Concurrent_DIR to D:\Qt\Qt5.12.1\5.12.1\mingw73_64\lib\cmake\Qt5Concurrent
Set Qt5Core_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5Core
Set Qt5Gui_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5Gui
Set Qt5OpenGL_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5OpenGL
Set Qt5Test_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5Test
Set Qt5Widgets_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5Widgets
Set Qt5_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5

再次点击Configure之后,红色消失,最后点击Generate
在这里插入图片描述

Generate完成之后,关闭Cmake即可,此时进入之前我们新建的文件夹D:\OpenCV4.5.1\opencv\opencv-build
在这里插入图片描述

将鼠标放在该文件夹界面内,按住shift键,同时点击鼠标右键,点击在此处打开Powershell窗口(s),进入Windows Powershell,输入

mingw32-make -j 8

按回车键执行该命令,这里的-j 8是为了让CPU进行多任务处理,可以加快编译速度。我的电脑是4核CPU,如果你的配置更高,你也可以选择更高的数字

在这里插入图片描述

100%完成之后,输入

mingw32-make install

在这里插入图片描述
完成之后退出
另外再将如下路径按照前述方式加入环境变量即可
D:\OpenCV4.5.1\opencv\opencv-build\install\x64\mingw\bin
在这里插入图片描述

测试程序:使用Qt显示图片

打开Qt,点击New Project

在这里插入图片描述

默认使用Qt Widgets Application模板,直接点右下方Choose
在这里插入图片描述
如图所示创建路径和项目名称,下一步
在这里插入图片描述
默认MinGW,下一步
在这里插入图片描述
全部默认,下一步
在这里插入图片描述
完成
在这里插入图片描述
在test.pro中红框位置加上如下代码

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

这个很重要,好多教程中这里都写错了
在这里插入图片描述
在mainwindow.cpp中红框位置加上如下代码


    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    using namespace cv;
    Mat image=imread(“E:\Fighting.jpg”,1);//一定要使用绝对路径,其他可以回报错
    namedWindow( “Display window”, WINDOW_AUTOSIZE );
    imshow( “Display window”, image );

不用理会此时出现的红色警告提示,选择菜单栏构建,执行qmake之后红色即会消失
在这里插入图片描述
运行程序,显示出窗口和图片
在这里插入图片描述

至此,大功告成!

在这里插入图片描述

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐