【发布时间】:2018-11-05 11:38:30
【问题描述】:
我目前正在做一个项目,我需要解析视频并将其传递给多个模型。视频以 60fps 的速度播放。我不需要通过模型运行每一帧。我在尝试跳过不需要的帧时遇到了一些问题。我尝试了两种相当慢的方法。
方法一代码sn-p: 这里的问题是我仍在阅读视频的每一帧。只有每 4 帧通过我的模型。
cap = cv2.VideoCapture(self.video)
while cap.isOpened():
success, frame = cap.read()
if count % 4 !=0:
count += 1
continue
if success:
''Run frame through models''
else:
break
方法2代码sn-p: 这种方法比较慢。在这种情况下,我试图避免阅读不必要的帧。
cap = cv2.VideoCapture(video)
count=0
while True:
if count % 4 != 0:
cap.set(cv2.CV_CAP_PROP_POS_FRAMES, count*15)
count+=1
success, frame = cap.read()
任何关于如何以最有效的方式实现这一目标的建议将不胜感激。
【问题讨论】:
标签: python opencv computer-vision video-processing