VS2019:基于Qt+OpenCV创建项目

VS2019:基于Qt+OpenCV创建项目

  • 一、前言

  • 二、具体配置流程

    • VS创建Qt项目

      • 插件安装需要

      • 创建

    • VS中Qt项目配置OpenCV

  • 三、测试

    • 输出如下:

  • 四、待更新内容

  • 五、参考文档


一、前言

如标题所说,这篇文章是基于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版本,可以从这里下载,下载完成之后,双击,按照提示就可以安装完毕。

image.png

勇哥注: 如果你通过vs的“管理扩展”来安装这个插件,会发现速度极慢!可以通过镜相站后来下载,见下面的链接。

1.QT各版本地址下载地址

2.VS插件qt下载地址下载地址

创建

之后,你打开VS,就可以看见创建项目里面多了一些qt的项目的创建项。

image.png

1、这里我们选择Qt GUI Application,点击下一步。

2、填写项目名称和位置,然后点击创建。

image.png

3、然后会弹出来qt向导,点击next,默认配置就行,点击next。(其中省略了一些简单步骤)

image.png


4、这里选择QWidget,点击finish。
这样的话,是可以直接写qt代码或者运行的,但是我们需要吧opencv加进来,所以需要配置一些信息。

VS中Qt项目配置OpenCV

1、点击项目解决方案,右击项目名称,点击属性。

image.png2、

(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++目录下的库目录

image.png

3、设置 链接器–>输入–>附加依赖项 值为opencv_world410d.lib

image.png


三、测试

我这里简单的写了两行代码,用来测试,代码如下:

qtForOpencv.h, qtForOpencv.cpp

#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;
};
#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);
}

输出如下:

image.png

四、待更新内容

待更新内容只可观看,切勿实操。

在windows中调试话,需要安装一个调试工具,win sdk, 叫Windows 10 SDK

然后进行安装,进行到这里,只需要勾选Debugging Tools for Windows.


五、参考文档

[1] VS2019:配置opencv教程
[2] C++ QT5.9 跨平台界面编程原理和实战
[3] OpenCV安装教程
[4] QT5.11下载与安装教程


2020/2/3 勇哥补注:

后来发现最新的QT5.9.9 根本没有x64的版本,官方说需要你自己编译出x64版本来。

这个就是为难我这个c++白痴了,这是其一。

image.png

其二,我为什么想要找最新版的QT呢,是因为我想要最新的msvc2019_64。

下图是我安装的qt5.60,它是64位的QT,支持vs2013。

image.png

但是如果在vs2019里面用,会出现一个错误:

“检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”(main.obj 中)”

错误原因是qtmain.lib是vs2013编译出来的,而我们现在编译应用是使用的是vs2019导致这个问题。

因此需要新版的QT来解决这个问题。

勇哥很奇怪这篇文章的作者为什么没提到这个问题呢?


————————————————

版权声明:本文为CSDN博主「jeT5devil」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_41288824/article/details/102323248


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864