如何设置时间间隔以从输入视频中获取帧? [英] How to set time interval to get frames from input video?

查看:118
本文介绍了如何设置时间间隔以从输入视频中获取帧?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从特定时间间隔的输入视频中获取帧.所以建议我任何对我有帮助的解决方案.告诉我如何在以下代码中设置时间限制.

I m trying to get frames from input video for particular time interval.so suggest me any solution that would be helpful for me.Tell me how to set time limit in the following code.

import cv2

vidcap = cv2.VideoCapture('baahubali2.mp4')
vidcap.set(cv2.CAP_PROP_POS_MSEC,1000)

success, image = vidcap.read()
count = 0
success = True

while success:
    success, image = vidcap.read()
    print('Read a new frame: ', success)
    cv2.imwrite("/home/kapil/Documents/major/image/frame%d.jpg" % count, image)     
    count += 1

推荐答案

这是一个解决方案:

import cv2


start_time_ms = 1000
stop_time_ms = 2000
vidcap = cv2.VideoCapture('baahubali2.mp4')


count = 0
success = True

while success and vidcap.get(cv2.cv.CV_CAP_PROP_POS_MSEC) < start_time_ms:
    success, image = vidcap.read()

while success and vidcap.get(cv2.cv.CV_CAP_PROP_POS_MSEC) <= stop_time_ms:
    success, image = vidcap.read()
    print('Read a new frame: ', success)
    cv2.imwrite("/home/kapil/Documents/major/image/frame%d.jpg" % count, image)    
    count += 1

开始和停止时间以毫秒为单位指定.在 start_time_ms 之前读取帧什么都不做,然后将帧作为图像写入,直到 stop_time_ms 或视频结束.

Start and stop time are specified in milliseconds. Frames are read doing nothing until start_time_ms and frames are then written as images until stop_time_ms or end of video.

这篇关于如何设置时间间隔以从输入视频中获取帧?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆