Opencv(2) QT自定义opengl的Widget绘制Mat
//matview.h
#pragma once
#include<QOpenGLWidget>
class matview:public QOpenGLWidget
{
Q_OBJECT
public:
matview(QWidget *p);
~matview();
void paintEvent(QPaintEvent *e);
};
//matview.cpp
#include "stdafx.h"
#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("lena.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()
{
}