参考原文章测试了如下配置安装ok
首先要说的是装软件还是装最新的好,不用考虑各种软件的版本对应问题,都是最新版的情况下它们互相之间一定是兼容的,下边具体来说下需要的几个软件。
64位win11系统
Qt 5.15.2
Cmake 3.21.0
OpenCV 4.6.0
以下叙述顺序即为安装配置顺序
OpenCV截止目前的最新版是4.5.1,链接:https://opencv.org/releases.html
双击下载后的程序
点开这里的sources文件夹,你会发现里边的文件和上边由opencv-4.5.1.zip解压出来的文件是一样的, 由于我们配置时只需要用到sources文件夹里的东西,所以你下载Sources还是Win pack都是可以的。
右击此电脑
点击属性
点击左上角高级系统设置
点击高级页面下的环境变量
点击系统变量中的Path
点击编辑
点击新建
D:\Qt\Qt5.12.9\Tools\mingw730_64\bin
将该路径加入即可
如图所示:环境变量全部添加上后,一定要重启电脑
进入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,点击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
#include
#include
using namespace cv;
Mat image=imread(“E:\Fighting.jpg”,1);//一定要使用绝对路径,其他可以回报错
namedWindow( “Display window”, WINDOW_AUTOSIZE );
imshow( “Display window”, image );
不用理会此时出现的红色警告提示,选择菜单栏构建,执行qmake之后红色即会消失
运行程序,显示出窗口和图片
至此,大功告成!