【拜小白opencv】17-使用VideoCapture类读取播放视频操作--简洁版

论坛 期权论坛 脚本     
匿名技术用户   2020-12-21 13:33   153   0

常言道“温故而知新”,写此文章就是对自己目前学习内容的小小的总结与记录。

本文力求用最简洁的语言,详细的代码将此部分内容讲解清楚,但由于博主同样是刚刚接触OpenCV,或许表达上有些瑕疵,还望读者能够指教探讨,大家共同进步。

博主机器配置为:VS2013+opencv2.4.13+Win-64bit。

若本文能给读者带来一点点启示与帮助,我就很开心了。

===========================分割线========================


读取视频也是常用的操作,本节将使用VideoCapture类读取播放视频。

本节内容仅仅是个简洁版,只能读取显示视频,无其他相关操作。


======================分割线==================

代码演示

/*
 使用VideoCapture类读取播放视频操作--简洁版
*/

#include <opencv2/core/core.hpp>      
#include <opencv2/highgui/highgui.hpp>      
#include <opencv2/imgproc/imgproc.hpp>     
#include <iostream>    
using namespace std;
using namespace cv;

int main()
{
 //【1】读取视频文件
 VideoCapture capture("D:\\OutPutResult\\ImageTest\\tt.mp4");

 //【2】循环显示每一帧
 while (true)
 {
  Mat frameImg;  //定义一个Mat变量,用于存储每一帧的图像
  capture >> frameImg; //读取当前帧 
  /*若视频播放完成,退出循环*/
  if (frameImg.empty())
  {
   break;
  }
  imshow("读取视频", frameImg); //显示当前帧 
  waitKey(40);  //每帧画面存在40ms,即1秒25帧
 }
 return 0;
}

===========================分割线===========================

显示结果



===============================分割线========================

程序说明

如果你看过前几节内容,那么你会发现,本节与 【拜小白opencv】10-开启摄像头,显示图像;VideoCapture类
的内容有些相似,请读者反复观察这两节内容,发现它们的不同。哪一个是调用摄像头,哪一个是读取本机视频文件。

本节仅仅是简单是实现了读取视频文件,如果想知道如何获取视频帧的数量,尺寸,帧率等信息,请关注下一节内容。
==================================END====================================
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP