前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度解析:Web3.0区块NFT+defi系统开发逻辑Python框架方案

深度解析:Web3.0区块NFT+defi系统开发逻辑Python框架方案

原创
作者头像
开发v_StPv888
发布2022-10-25 15:09:30
3990
发布2022-10-25 15:09:30
举报
文章被收录于专栏:making

配置环境与系统开发搭建教程(铭籽)

基于上一篇中的界面程序,将图像的显示通过opencv实现,将opencv的环境加入至qt程序中,注意qt默认为release环境。

  • 属性->VC++目录->包含目录中添加
    • \build\include
    • \build\include\opencv
    • \build\include\opencv2
  • 属性->VC++目录->库目录中添加
    • \opencv\build\x64\vc14\lib
  • 属性->链接器->输入->附加依赖项中添加
    • opencv_world320d.lib
    • opencv_world320.lib

代码修改

QtGuiApplication1.h中加入声明

代码语言:javascript
复制
#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_QtGuiApplication1.h"
#include <opencv.hpp>

using namespace cv;
class QtGuiApplication1 : public QMainWindow
{
	Q_OBJECT

public:
	QtGuiApplication1(QWidget *parent = Q_NULLPTR);

private:
	Ui::QtGuiApplication1Class ui;
	//这里新加入的槽响应函数
	private slots:
	void func();
};
static QImage Mat2QImage(Mat& image);

QtGuiApplication1.cpp中加入实现

代码语言:javascript
复制
#include "QtGuiApplication1.h"
#include <opencv.hpp>

using namespace cv;

QtGuiApplication1::QtGuiApplication1(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	//建立信号-槽链接
	connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(func()));
}
//响应函数的具体操作
void QtGuiApplication1::func()
{
	ui.pushButton->setText(tr("OK"));
	ui.label->setPixmap(QPixmap("./pic.jpg"));
	QGraphicsScene *scene = new QGraphicsScene;
	//QImage *image = new QImage();
	//image->load("./pic.jpg");
	//scene->addPixmap(QPixmap::fromImage(*image));
	//ui.graphicsView->setScene(scene);
	Mat img = imread("pic.jpg");
	//MAT转换为Qt的格式
	QImage cvimg = Mat2QImage(img);
	scene->addPixmap(QPixmap::fromImage(cvimg));
	ui.graphicsView->setScene(scene);
}

static QImage Mat2QImage(Mat& image)
{
	QImage img;

	if (image.channels() == 3) {
		cvtColor(image, image, CV_BGR2RGB);
		img = QImage((const unsigned char *)(image.data), image.cols, image.rows,
			image.cols*image.channels(), QImage::Format_RGB888);
	}
	else if (image.channels() == 1) {
		img = QImage((const unsigned char *)(image.data), image.cols, image.rows,
			image.cols*image.channels(), QImage::Format_ARGB32);
	}
	else {
		img = QImage((const unsigned char *)(image.data), image.cols, image.rows,
			image.cols*image.channels(), QImage::Format_RGB888);
	}

	return img;
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置环境与系统开发搭建教程(铭籽)
  • 代码修改
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档