主要参考了 https://blog.csdn.net/qq_41185569/article/details/109219705
1. 安装QT,从链接 http://download.qt.io/official_releases/qt/ 下载,我下载的是 qt-opensource-windows-x86-5.14.2.exe
2. 下载Opencv,从链接 https://github.com/huihut/OpenCV-MinGW-Build 下载,我下载的是 OpenCV-MinGW-Build-OpenCV-4.1.1-x64.zip
3. 解压缩Opencv,然后把bin目录添加到环境变量下的PATH中,
4. 上述路径修改后,重启一下系统比较保险
5. Qt 新建Widget工程
6. 在 .pro文件中添加如下内容
LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\x64\mingw\bin\libopencv*.dll
INCLUDEPATH += D:\software\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include \
D:\software\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include\opencv2
7. 在主函数中添加头文件,及测试代码
#include <opencv2/opencv.hpp>
using namespace cv;
Mat test = imread("D:\\test.jpg");
imshow("test", test);
waitKey(0);
8. 如果运行时报错的话,尝试执行 构建——>清理项目,重新编译试试
9. 注意,既然上面使用了MinGW 64,编译的时候就不要使用 MinGW 32了,不然会报错,如“file not recognized: File format not recognized”
10. 如果要用 Qt 显示 Opencv 的图片,可以在ui编辑界面拖进来一个Label,然后把图片显示到label上,主代码参考如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/opencv.hpp>
using namespace cv;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
Mat srcImg = imread("D:\\test.jpg");
Mat temp;
cvtColor(srcImg, temp, COLOR_BGR2RGB);
QImage Qtemp = QImage((const unsigned char*)(temp.data), temp.cols, temp.rows, temp.step, QImage::Format_RGB888);
ui->label->setPixmap(QPixmap::fromImage(Qtemp));
ui->label->resize(Qtemp.size());
ui->label->show();
}
MainWindow::~MainWindow()
{
delete ui;
}
——————————————————————————————
如果下载的是 OpenCV-MinGW-Build-OpenCV-3.4.7.zip 的话,参考配置如下:
LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-3.4.7\x86\mingw\bin\libopencv*.dll
INCLUDEPATH += D:\software\OpenCV-MinGW-Build-OpenCV-3.4.7\include \
D:\software\OpenCV-MinGW-Build-OpenCV-3.4.7\include\opencv2 \
D:\software\OpenCV-MinGW-Build-OpenCV-3.4.7\include\opencv