网上很多关于Qt配置OpenCV的教程都需要下载CMake编译Opencv,但是这种做法出错的概率很大,很多时候会受CMake或者Opencv版本的影响,又或者是没有使用Qt自带的Cmake-gui.exe程序,我在编译的时候也是频繁出错。
本文推荐的方法是使用编译好的Opencv程序,优点是使用非常方便,下载编译好的程序导入路径即可,缺点就是版本没那么灵活。
下载自己需要的版本
Releases · huihut/OpenCV-MinGW-Build (github.com)这是我在github上面找的几个编译好的opencv,我们选择自己觉得合适的版本下载即可(可以不考虑自己电脑上已有的版本)。
环境变量配置
找到x64(如果32位的则是x86)下的mingw下的bin目录,将路径放到环境变量中
如果你在配置好环境变量之前已经打开了Qt,我的建议是关闭再重新打开。
创建项目测试
我这里下载编译好的opencv是x64的,所以我需要新建一个mingw64bit环境的项目。
在pro文件中,将下载编译好的opencv的路径加入进来,这里需要添加include目录,bin和lib目录下的全部文件。x64(或者x86)之后的路径应该都一样,只需要更改之前的即可。
INCLUDEPATH += D:\qtworker\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\includeLIBS += D:\qtworker\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\x64\mingw\lib\libopencv_*.a \D:\qtworker\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\x64\mingw\bin\libopencv_*.dll
测试
#include "widget.h"#include <QApplication>#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main(int argc, char *argv[])
{QApplication a(argc, argv);cv::Mat img = cv::imread("C:\\Users\\beijixiongmao\\Desktop\\test\\3.jpg");namedWindow( "Display window", cv::WINDOW_AUTOSIZE );imshow( "Display window", img );Widget w;w.show();return a.exec();
}
运行成功