本文主要讲讲解如何在QT中设置OPENCV,包含详细步骤。
MingW:mingw_百度百科 (baidu.com) 一种不同于VS 的MSVC的编译器,生来是为了平台扩展而用。具体可见百度。
计算机系统:windows 10
opencv : OpenCV-MinGW-Build-OpenCV-4.1.0
GitHub - huihut/OpenCV-MinGW-Build at OpenCV-4.1.0
QT: 5.9.0
由于我用的QT为5.9.0,不支持64位的mingw,制支持32位的MingW,所以我直接从GitHub上下载了别人已经编译好的OpenCV_MingW32位。 OpenCV-MinGW-Build-OpenCV-4.1.0
(话说我用CMake编译了五次,每次都不成功,没办法,就从GitHub直接下载了。如何用Cmake - MingW编译OpenCV C++,请直接百度)。
从GitHub 打包下载OpenCV 4.1.0 后,直接解压缩,然后进入到以下路径:
F:\OpenCV-MinGW-Build-OpenCV-4.1.0\x86\mingw\bin
我的是F盘。
将上面的路径配置到环境变量中:
如黄色区域所示。
然后新建一个QT 工程,我的工程命名是:QtOpenCvTest
然后,打开QtOpenCvTest.pro,在最后面输入:
INCLUDEPATH += F:\OpenCV-MinGW-Build-OpenCV-4.1.0\include
F:\OpenCV-MinGW-Build-OpenCV-4.1.0\include\opencv2
LIBS += F:\OpenCV-MinGW-Build-OpenCV-4.1.0\x86\mingw\bin\libopencv*.dll
打开mainwindow.ui,拖入一个label 控件:
打开mainwindow.cpp, 引入以下几个库和命名空间:
#include <QImage> #include <QPixmap> #include <opencv2/opencv.hpp> using namespace cv;
然后输入以下代码:
Mat img = imread("F:\\yourname.jpg"); cv::cvtColor(img, img, cv::COLOR_BGR2RGB); QImage image = QImage((const unsigned char *)(img.data),img.cols,img.rows,img.step,QImage::Format_RGB888); ui->label->setPixmap(QPixmap::fromImage(image)); ui->label->resize(image.size()); ui->label->show(); resize(800,500);
点击运行即可:
然后,Label便显示了opencv 从磁盘读取的图片。
至此,QT OPENCV C++ 配置结束。
如果你的QT是5.12.0或者更高的版本,请直接下载OpenCV-MinGW-Build-OpenCV-4.1.0-x64。因为更高版本的QT支持MingW 64 位编译器了。