qt自定义opengl绘制mat

新增opengl

image.png

ui部分

image.png

代码部分

新建MatView的类

// .h
#pragma once

#include<QOpenGLWidget>
class MatView :public QOpenGLWidget
{
	Q_OBJECT

public:

	MatView(QWidget* p);
	void paintEvent(QPaintEvent* e);

};

复制代码
//.cpp
#include "MatView.h"
#include<opencv2/opencv.hpp>
#include<QImage>
#include<QPainter>
using namespace std;
using namespace cv;
MatView::MatView(QWidget* p) :QOpenGLWidget(p)
{

}
void MatView::paintEvent(QPaintEvent* e)
{
	Mat src = imread("D:img\\2.jpg");
	if (src.empty()) {
		cout << "null" << endl;
	}
	cvtColor(src, src, COLOR_BGR2RGB);
	QImage img(src.data, src.cols, src.rows, QImage::Format_RGB888);
	QPainter painter;
	painter.begin(this);
	painter.drawImage(QPoint(0, 0), img);

}

复制代码

效果

image.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享