我想先将视频转换成帧,然后再将其输入分类模型。因此,我需要从视频转换的每个唯一时间戳上的帧,这里的时间戳是视频中的秒数。以下来自opencv的代码可让我每捕获10个帧就进行转换,但是我需要视频中每个帧的时间戳。请让我知道谢谢
import cv2
vidcap = cv2.VideoCapture('testing.mp4');
success,image = vidcap.read()
count = 0
success = True
while success:
success,image = vidcap.read()
print('read a new frame:',success)
if count%10 == 0 :
cv2.imwrite('frame%d.jpg'%count,image)
print('success')
count+=1
答案 0 :(得分:0)
首先,我们必须获取视频的FPS,然后使用opencv通过增加count变量来捕获帧。然后计算视频的变量/ fps,以给出视频中每个帧的时间戳。
import cv2
vidcap = cv2.VideoCapture('testing.mp4')
fps = vidcap.get(cv2.CAP_PROP_FPS)
success,image = vidcap.read()
count = 0
success = True
while success:
success,frame = vidcap.read()
count+=1
print("time stamp current frame:",count/fps)