我是靠谱客的博主 靓丽凉面,最近开发中收集的这篇文章主要介绍用Python Opencv实现视频快进,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

怎么用Opencv实现视频快进?小白可能会增大ftp,减小等待时间,但是这种方式大大增加了程序计算量,而且快进有上限,一般电脑全力计算也只不过能快进两三倍而已。要想实现大步幅快进就要用到跳帧:比如读取完第一帧直接读取第十帧,这样就快进了十倍。

如何实现跳帧读取?这里就要用到VideoCapture::set函数。set函数用于为视频对象的属性VideoCaptureProperties设置值。 cv.CAP_PROP_POS_FRAMES 属性就是接下来要读取的帧的索引。 `

cap = cv2.VideoCapture(path)
cap.set(cv.CAP_PROP_POS_FRAMES, index)

就可以实现读取第index帧了。

set就会有getVideoCapture::get函数用于获取相应属性的值,比如视频的总帧数,播放帧率等。

getset函数通过API来调用操作系统,进而调用设备驱动,再调用硬件。

VideoCaptureProperties都是用int型整数来表示的,大约有40个左右。
后面的是对一些专业相机的设置,不太常用。这里记录前16个:

Velue属性名描述
0cv.CAP_PROP_POS_MSEC视频当前播放位置的时间(毫秒)
1cv.CAP_PROP_POS_FRAMES接下来要解码/捕获的帧的基于0的索
2cv.CAP_PROP_POS_AVI_RATIO视频文件的相对位置:0 为开始,1 为结束。
3cv.CAP_PROP_FRAME_WIDTH帧图像的宽度。
4cv.CAP_PROP_FRAME_HEIGHT帧图像的高度。
5cv.CAP_PROP_FPS帧率。
6cv.CAP_PROP_FOURCC视频编码格式 (4个字符)。
7cv.CAP_PROP_FRAME_COUNT视频文件中的帧数。
8cv.CAP_PROP_FORMATVideoCapture :: retrieve()返回的Mat对象的格式。
9cv.CAP_PROP_MODE特定于后端的值,指示当前的捕获模式。
10cv.CAP_PROP_BRIGHTNESS图像的亮度(仅适用于支持该功能的相机)。
11cv.CAP_PROP_CONTRAST图像的对比度(仅适用于相机)。
12cv.CAP_PROP_SATURATION图像饱和度(仅适用于相机)。
13cv.CAP_PROP_HUE图像的色相(仅适用于相机)。
14cv.CAP_PROP_GAIN图像增益(仅适用于支持该功能的相机)。
15cv.CAP_PROP_EXPOSURE曝光(仅适用于支持该功能的相机)。
16cv.CAP_PROP_CONVERT_RGB布尔标志,指示是否应将图像转换为RGB。

最后

以上就是靓丽凉面为你收集整理的用Python Opencv实现视频快进的全部内容,希望文章能够帮你解决用Python Opencv实现视频快进所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部