使用QT来绘制MAT

时间:2024-03-26 17:43:01

使用QT来绘制MAT

使用QT来绘制MAT使用QT来绘制MAT使用QT来绘制MAT

使用QT来绘制MAT


使用QT来绘制MAT


现在开始写自定义类MatView

MatView.h文件

#pragma once
#include <QOpenGLWidget>
class MatView:public QOpenGLWidget
{
Q_OBJECT //为QT对象
public:
MatView();
MatView(QWidget *p);//构造的时候要指定一个父类
~MatView();
};


MatView.cpp文件

#include "MatView.h"
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/imgproc.hpp>
#include <QImage>
#include <QPainter>
using namespace cv;
void MatView::paintEvent(QPaintEvent *e)
{
Mat src = imread("1.png");//这里假设是jpg图片就不行
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);
}


MatView::MatView(QWidget *p) :QOpenGLWidget(p)
{


}




MatView::~MatView()
{
}


MatView::MatView()
{


}