0
点赞
收藏
分享

微信扫一扫

Qt + OpenCV 简单播放MP4视频

静悠 2022-07-18 阅读 84


文章目录

  • ​​一、设计UI与代码​​
  • ​​三、效果演示​​

一、设计UI与代码

简单的Ui布局设计

Qt + OpenCV 简单播放MP4视频_#include


.pro文件添加如下:

win32
{
message('运行win32版本')
INCLUDEPATH += E:\opencv3\opencv\sources\build\install\include\
E:\opencv3\opencv\sources\build\install\include\opencv2\
E:\opencv3\opencv\sources\build\install\include\opencv

LIBS += -L E:\opencv3\opencv\sources\build\install\x64\mingw\lib\libopencv_*.a
}

mainwindow.h

#ifndef
#define
#include <opencv2/opencv.hpp>
#include <QMainWindow>
#include <QTimer>
#include <QImage>
#include <QPixmap>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void Init();

private slots:
void playing();
//生成代码
void on_play_clicked();
void on_stop_clicked();

private:
Ui::MainWindow *ui;
QTimer *p_timer;
QString filename;
cv::VideoCapture *capture;

};
#endif// MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
p_timer = new QTimer(this);
p_timer->setInterval(30);

connect(p_timer,SIGNAL(timeout()),this,SLOT(playing()));
ui->play->setEnabled(true);
ui->stop->setEnabled(false);
Init();
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::Init()
{
capture = new cv::VideoCapture("E:\\Desktop\\bb1893d5908d24f15eee88beeb7e1537.mp4");
}

void MainWindow::playing()
{
cv::Mat frame;
*capture >> frame;
if (frame.empty()) return;
cv::cvtColor(frame, frame, cv::COLOR_BGR2RGB);
QImage disImage = QImage((uchar*)(frame.data),frame.cols,frame.rows,frame.step,QImage::Format_RGB888);
ui->label->setPixmap(QPixmap::fromImage(disImage));
}

void MainWindow::on_play_clicked()
{
p_timer->start();
ui->play->setEnabled(false);
ui->stop->setEnabled(true);
}

void MainWindow::on_stop_clicked()
{
p_timer->stop();
ui->play->setEnabled(true);
ui->stop->setEnabled(false);
}

三、效果演示

Qt + OpenCV 简单播放MP4视频_开发语言_02


鸣谢与参考



举报

相关推荐

0 条评论