一、前言
如标题所说,这篇文章是基于Qt和OpenCv来创建项目,所以 首先应该安装Qt和OpenCv,本篇文章主要阐述如何配置,安装Qt和OpenCV请参考已下文章。
环境:win10,VS 2019,qt 5.12.5,opencv 4.1.0
二、具体配置流程
VS创建Qt项目
插件安装需要
VS 不自带创建Qt项目,所以这里需要给 VS装一个插件,叫做qt-vsaddin-msvc2019-2.4.1.vsix
,根据自己的vs版本,可以从这里下载,下载完成之后,双击,按照提示就可以安装完毕。
创建
之后,你打开VS,就可以看见创建项目里面多了一些qt的项目的创建项。
1、这里我们选择Qt GUI Application,点击下一步。
2、填写项目名称和位置,然后点击创建。
3、然后会弹出来qt向导,点击next,默认配置就行,点击next。(其中省略了一些简单步骤)
4、这里选择QWidget,点击finish。
这样的话,是可以直接写qt代码或者运行的,但是我们需要吧opencv加进来,所以需要配置一些信息。
VS中Qt项目配置OpenCV
1、点击项目解决方案,右击项目名称,点击属性。
2、
(1):将D:\Ins_Develop\opencv4.x\opencv\build\include 和 D:\Ins_Develop\opencv4.x\opencv\build\include\opencv2 配置到 VC++目录下的包含目录
(2):将D:\Ins_Develop\opencv4.x\opencv\build\x64\vc15\lib配置到VC++目录下的库目录
3、设置 链接器–>输入–>附加依赖项 值为opencv_world410d.lib
三、测试
我这里简单的写了两行代码,用来测试,代码如下:
qtForOpencv.h
#include <QtWidgets/QWidget>
#include "ui_qtForOpencv.h"
#include <QLabel>
class qtForOpencv : public QWidget
{
Q_OBJECT
public:
qtForOpencv(QWidget *parent = Q_NULLPTR);
private:
Ui::qtForOpencvClass ui;
public:
QLabel* imgLabel;
};
qtForOpencv.cpp
#include "qtForOpencv.h"
#include <opencv2\opencv.hpp>
#include <opencv2\core.hpp>
#include <opencv2\imgcodecs.hpp>
#include <opencv2\imgproc.hpp>
using namespace cv;
using namespace std;
qtForOpencv::qtForOpencv(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
Mat src = imread("up2_2.jpg"); // 读取图片
if (src.empty()) {
printf("could not load image...\n");
}
cvtColor(src, src, COLOR_BGR2RGB); //BGR图片装换成RGB图片
cv::resize(src, src, Size(512, 512)); // 修改图片大小
imgLabel = new QLabel(this);
imgLabel->setText(QStringLiteral("原图"));
imgLabel->move(0, 0);
QImage showImg = QImage((const unsigned char*)(src.data), src.rows, src.cols, QImage::Format_RGB888);
imgLabel->setPixmap(QPixmap::fromImage(showImg));
imgLabel->show(); // 在qt界面显示图片
waitKey(0);
}
输出如下:
四、待更新内容
待更新内容只可观看,切勿实操。
在windows中调试话,需要安装一个调试工具,win sdk, 叫Windows 10 SDK
然后进行安装,进行到这里,只需要勾选Debugging Tools for Windows.
五、参考文档
[1] VS2019:配置opencv教程
[2] C++ QT5.9 跨平台界面编程原理和实战
[3] OpenCV安装教程
[4] QT5.11下载与安装教程