vs2015 + opencv3.4.0 + qt msvc2015_64-5.7.1 视屏显示
1、qt application
2、qtvideoread.cpp中代码为:
#include "qtvideoread.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include <QString>
#include <QLabel>
#include <QPainter>
#include <QTimer>
qtvideoread::qtvideoread(QWidget *parent, Qt::WindowFlags flags)
	: QMainWindow(parent, flags)
{
	ui.setupUi(this);
	// 初始化处理,建立QImage和frame的关联,开启定时器
	capture.open("E:/studyvsqt/qtvideoread/0920_01.mov");//-1 需要加载所在电脑视屏
	if (capture.isOpened())
	{
		capture >> frame;
		if (!frame.empty())
		{
			cv::cvtColor(frame, frame, CV_BGR2RGB);
			cv::flip(frame, frame, 1);
			image = new QImage((const unsigned char*)(frame.data), frame.cols, frame.rows, QImage::Format_RGB888);
			timer = new QTimer(this);
			timer->setInterval(30);
			connect(timer, SIGNAL(timeout()), this, SLOT(nextFrame()));
			timer->start();
		}
	}
}
qtvideoread::~qtvideoread()
{
}
void qtvideoread::paintEvent(QPaintEvent * e)
{
	// 更新图像
	QPainter painter(this);
	painter.drawImage(QPoint(0, 12), *image);
}
void qtvideoread::nextFrame()
{// 更新数据
	capture >> frame;
	if (!frame.empty())
	{
		cv::cvtColor(frame, frame, CV_BGR2RGB);
		cv::flip(frame, frame, 1);
		this->update();
	}
}
3、qtvideoread.h中代码为:
#ifndef QTVIDEOREAD_H
#define QTVIDEOREAD_H
#include <QtWidgets/QMainWindow>
#include "ui_qtvideoread.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
class qtvideoread : public QMainWindow
{
	Q_OBJECT
/*
public:
	qtvideoread(QWidget *parent = 0);
	~qtvideoread();
private:
	Ui::qtvideoreadClass ui;
	*/
public:
	qtvideoread(QWidget *parent = 0, Qt::WindowFlags flags = 0);
	~qtvideoread();
protected:
	void paintEvent(QPaintEvent * e);
private:
	Ui::qtvideoreadClass ui;
	cv::Mat frame;
	cv::VideoCapture capture;
	QImage *image;
	QTimer *timer;
	private slots:
	void nextFrame();
};
#endif // QTVIDEOREAD_H
4、点击运行就可以了
5、参考的网址:https://blog.csdn.net/yang_xian521/article/details/7042687
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号