QT5.7+opencv3.0做的简易视频播放器
利用 QT中QTimer进行刷新。
//main.cpp
#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);timer = new QTimer(this);QObject::connect(timer,SIGNAL(timeout()),this,SLOT(readFrameSlot()));
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{capture.open(0);//"1.avi"if( !capture.isOpened()){qDebug()<< "open camera error"<<endl;this->close();}else{timer->start(33);}
}void MainWindow::on_pushButton_2_clicked()
{timer->stop();ui->label->setPixmap(QPixmap());this->close();
}
void MainWindow::readFrameSlot()
{capture >> frame;if(!frame.empty()){img = QImage((const unsigned char*)(frame.data),frame.cols,frame.rows,QImage::Format_RGB888).rgbSwapped();img = img.scaled(ui->label->width(),ui->label->height(),Qt::IgnoreAspectRatio,Qt::FastTransformation);//调整图片大小,使图片和显示的label控件一样大ui->label->setPixmap(QPixmap::fromImage(img));}
}
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QDialog>
#include <QDebug>
#include <QTimer>
#include <QImage>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();Mat frame;//video frameVideoCapture capture;QTimer *timer;QImage img;private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();void readFrameSlot();
private:Ui::MainWindow *ui;
};#endif // MAINWINDOW_H
若出现UI什么问题大部分都是都是ui界面文件中的控件名字与代码中不一致导致的。
QT5.7+opencv3.0做的简易视频播放器相关推荐
- QT5.50+opencv3.0+VS2013安装教程
QT5.50+opencv3.0+VS2013安装教程 1.安装软件 VS2013 opencv3.0 qt-vs-addin-1.2.4-opensource qt-opensource-windo ...
- C语言基于GTK+Libvlc实现的简易视频播放器(二)
简易视频播放器-全屏播放 一.课程说明 上一次我们使用gtk+libvlc实现了一个最简单的视频播放器,可以实现点击按钮暂定和停止播放视频,以及同步显示视频播放进度,但即使作为一个视频播放器,只有这些 ...
- 【Java】简易视频播放器
[效果图] [功能] 1.当窗口获取焦点后,按空格暂停/播放 2.原速播放键.暂停/播放键.倍速播放键(最高3倍速,每次递增0.5) 3.进度条可点击选择播放位置 4.时间显示.播放速度显示 [项目与 ...
- java视频播放器制作_java创建简易视频播放器
java创建简易视频播放器 发布时间:2020-09-23 04:28:09 来源:脚本之家 阅读:98 作者:南柯一梦xihe 最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个 ...
- 视频播放页php,html jquery简易视频播放器
html jquery js 简易视频播放器 直接上代码:html> Document #durationbar{ width: 500px; height: 20px; } #duration ...
- 【基于QMediaPlayer的简易视频播放器】— 3、结合QSlider实现播放进度控制和音量控制
基于QMediaPlayer的简易视频播放器 1.创建基本布局 2.QMediaPlayer的基本使用 3.结合QSlider实现播放进度控制和音量控制 4.重载QSlider鼠标响应事件,实现单击跳 ...
- Android的媒体播放器——简易视频播放器(详解)
一.案例效果 二.主界面的设计与功能 2.1 案例效果 2.2 布局界面 activity_main.xml 参考代码: <?xml version="1.0" encodi ...
- 视频播放器+android,简易视频播放器
NetConnection 对象 0002 var netConnection:NetConnection=new NetConnection ; 0003 /*如果连接到没有使用服务器的 priva ...
- Video标签自定义简易视频播放器
Video标签自定义简易视频播放器 提示:以下是本篇文章正文内容,下面案例可供参考 一.Dom结构 <template><el-dialog :title="winTitl ...
最新文章
- 关于cookie与本地 存储的区别的问题。
- 年度总结——文字留住岁月,情感点缀年华
- 58同城买二手电脑的感想
- 客户连接多个服务端_Linux 服务端最大并发数是多少?
- mysql-bin日志文件清理
- 求一个任意实数c的算术平方根g_中考总复习实数知识点
- java 限流熔断_SpringCloud-Alibaba-Sentinel服务降级,热点限流,服务熔断
- 咏南中间件+开发框架中秋国庆大促
- 添加库文件_PLC|教你把 Micro/WIN 的库文件导入到 Micro/WIN SMART 中
- android 代码 华为 os,Android | 带你零代码实现安卓扫码功能
- 《深度学习Python实践》附录——决策树模型可视化
- 用 QT实现拖放(drag-drop)功能
- 软件设计师刷题与知识点总结 笔记-2
- CDN加速技术可以解决的问题——诺必达云服务
- rootfs bootfs bootloader
- 五子棋(含较高级的人机对战)
- spring boot实战
- Oracle清理回收站的方法
- 我的编程竞赛之路 ——中国大学生计算机编程第一人楼天城访谈
- zebra源码分析-导读