Opencv 简单视频播放器
最近看了一下[1]_2011_OpenCV 2 Computer Vision Application Programming Cookbook.pdf,写了一个利用Opencv库实现的简单视频播放器。源码如下所示,英文注释大家应该可以看懂的。O(∩_∩)O~
// C++ header and namespace
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;// Opencv header and namespace
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/video/video.hpp>
using namespace cv;bool JumpToFrame(false);int main(int argc, char* argv[])
{ //!< Check out Input videoif (argc != 2){cerr << "Usage: VideoPlayer.exe VideoFilename." << endl;exit(1);}//!< Check out Open VideoVideoCapture capture(argv[1]);if (!capture.isOpened()){return 1;}#pragma region InfoOfVideolong NumberOfFrame = static_cast<long>(capture.get(CV_CAP_PROP_FRAME_COUNT));double HeightOfFrame = capture.get(CV_CAP_PROP_FRAME_HEIGHT);double WidthOfFrame = capture.get(CV_CAP_PROP_FRAME_WIDTH);double FpsOfVideo = capture.get(CV_CAP_PROP_FPS); cout << "The name of the input video is " << argv[1] << "." << endl;cout << "NumberOfFrame : " << NumberOfFrame << endl;cout << "HeightOfFrame : " << HeightOfFrame << endl;cout << "WidthOfFrame : " << WidthOfFrame << endl;cout << "FpsOfVieo : " << FpsOfVideo << endl;#pragma endregion// !< JumpToFrame functionwhile (JumpToFrame){double Position = 0.0;cout << "Please input the number of frame which you want jump to!" << endl;cin >> Position;capture.set(CV_CAP_PROP_POS_FRAMES, Position);}// !< Delay between each frame in ms corresponds to video frame rate(fps)Mat frame;bool stop(false);int delay = 1000 / FpsOfVideo;namedWindow("Extracted Frame");while (!stop){//read next frame if anyif (!capture.read(frame)){break;}imshow("Extracted Frame", frame);//introduce a delay or press key to stopif (waitKey(delay) >= 0){stop = true;}}// !< Close the video file.// Not required since called by destructorcapture.release();return 0;
}
Opencv 简单视频播放器相关推荐
- 使用opencv开发视频播放器一
最近由于项目需求,要在界面中内嵌一个简单的视频播放器,能够打开视频,逐帧播放,进度条拖动等功能. 因此,首先尝试使用opencv编写.原因:1.便于后续处理:2.opencv提高的接口较完善.很快就动 ...
- android 实现视频播放功能,android开发之简单视频播放器(VideoView)
简单视频播放器的使用 一.简单使用videoView和MediaController实现播放控制 1.添加需要的权限 2.设置布局 android:id="@+id/main_video&q ...
- 轻松玩转Python:打开文件夹,搜索视频文件,实现简单视频播放器
目录 1.功能描述: 2.具体实现: 3.代码实现: 4.执行效果: 1.功能描述: 这段代码实现了一个简单的视频播放器,可以打开指定的文件夹并搜索其中的视频文件,将搜索结果展示在列表框中,用户可以选 ...
- C++ OpenCV制作视频播放器
目录 一:视频播放效果展示 二:完整源码分享 一:视频播放效果展示 1.1 点击开始播放按钮,能够播放视频 1.2 点击暂停播放 视频停在某一帧画面 同时按钮文本改变为继续播放 以便用户继 ...
- Android Studio——简单视频播放器
1.界面分析 三个界面:主界面,视频列表界面,视频播放界面,如下图所示: 2.实现思路 (1)主界面设计 很简单,就一个背景和一个控件,然后为控件设置点击事件,然后跳转到视频列表界面 activity ...
- PyQt5 简单视频播放器
文章目录 1.主要组件 2.功能代码 3.功能展示 4.如果播放不了 1.主要组件 QVideoWidget:这个类主要用作播放视频的控件 QMediaPlayer :实现媒体播放的类 2.功能代码 ...
- <Python>PyQt5+ffmpeg,简单视频播放器的编写(解码器:K-lite)
更新日志: 202211251640:第一版,基本功能:视频导入,播放.暂停.播放时间显示.音量控制 视频播放器 概述:本文是利用PyQt5加上ffmpeg来编写一个具备基本功能的视频播放器(播放.暂 ...
- 原生h5+css3 实现简单视频播放器组件
视频播放器组件案例 实现效果 实现功能 全屏切换 进度条点击跳播 音量点击设置大小 涉及知识点 video对象属性 .duration 获取视频总长度(秒) .currentTime 当前播放时间(秒 ...
- SDL,ffmpeg实现简单视频播放器
看了雷神的一些文章和解释,自己重新实现了一下相关代码的东西,做为加深. 一起在音视频领域加油咯! // 基于FFmpeg用SDL实现一个视频播放器(.h264) ///* AVFormatContex ...
最新文章
- C#(asp.net)对字符串的操作公共类(StringUtil.cs)
- Oracle中的date与timestamp
- linux软中断分析,linux操作系统下的软中断问题分析_linux教程
- sealed、new、virtual、abstract与override 趣解
- 避免在 ASP.NET Core 3.0 中为启动类注入服务
- c++ h cpp文件如何关联_C++核心准则SF.5: .cpp文件必须包含定义它接口的.h文件
- 微型计算机可避免强磁场干扰,微型计算机测控系统抗干扰技术
- 【杂文】Vue 杂文
- HTML示例08---CSS3概述
- linux系统下卸载rpm方式安装的mysql5.7.*
- macOS 12兼容机型列表 想知道你的Mac是否支持macOS Monterey吗?
- 896.Montonic Array - LeetCode
- Activity与Service通信(不同进程之间)
- SVN汉化包安装后,没有出现对应的语言选项问题解决(附SVN1.12.1汉化包下载地址)
- kali中binwalk/foremost/zip2john工具的配合使用
- r5驱动 索尼exmor_SONY的驱动安装顺序(还不知道的赶快进来看看!!)
- 一些常用的正则表达式(个人收集)
- 在不同融资阶段,公司该如何估值
- 红米8.0系统手机(亲测有效)激活xposed框架的经验
- w ndows7与XP哪个好,Win7系统与Win XP系统哪个更好?Windows7与WindowsXP区别介绍-系统城·电脑系统下载之家...