前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++ OpenCV播放视频及调用摄像头显示

C++ OpenCV播放视频及调用摄像头显示

作者头像
Vaccae
发布2019-07-24 13:06:26
2.5K0
发布2019-07-24 13:06:26
举报
文章被收录于专栏:微卡智享微卡智享

前一篇我们介绍了 《C++ OpenCV摄像头及视频操作类VideoCapture介绍》,我们现在就针对这个类里的API进行DEMO的演示。

先上干货

下面是我们这个DEMO的演示视频:

视频内容

代码演示

新建一个项目opencv-1001,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法

可以看到上面我们加了一个视频的播入标志,还有一个随机的取值,用于随机获取开始和结束播放的帧数。

整个DEMO的操作流程为

  1. 加载视频
  2. 获取视频的总帧数
  3. 随机生成本次播放的开始帧数和结束帧数
  4. 获取帧率,生成两帧的间隔时间
  5. 播放视频,播放过程中加入当前帧数的显示及按键控制暂停或退出
  6. 关闭释放视频资源

1.加载视频

我们用到了open的函数,open后面的参数直接就是视频的路径。

这个注释的代码是代表开启摄像头,里面的int参数代表着开启摄像头的序号。

后面的namedwindow就不再介绍了,可以看看以前的文章中说过


2.获取视频的总帧数

用到的就是get函数里面的参数为CV_CAP_PROP_FRAME_COUNT


3.随机生成本次播放的开始帧数和结束帧数

通过RNG的随机数我们获取到视频的开始和结束播放帧数。然后再用函数set进行设置


4.获取帧率,生成两帧的间隔时间


5.播放视频,播放过程中加入当前帧数的显示及按键控制暂停或退出

定义了当前播放帧,然后用read的函数把每一帧的数据读取到我们的Mat里,然后用imshow显示出来。

设置当按下ESC键时直接退出播放视频,当前播放帧数大于结束帧数就直接提示视频播放完毕。

设置按下任意键暂停播放视频,当再按任意键时再继续播放视频。然后当前帧数再加1。


6.关闭释放视频资源

用release进行视频的释放,释放后按何意键退出我们的命令行程序。


-END-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档