我正在读一个用OpenCV进行图像识别的视频文件,我只对每秒60帧中的1帧感兴趣,所以我不想在下一帧之前捕获60帧,而是通过在每次迭代之间设置帧位置来加快代码的速度
while (capture.isOpened()):
capture.set(cv2.CAP_PROP_POS_FRAMES, frame_count)
ret, frame = capture.read()
frame_count += round(fps)
if ret:
...
但是,当我这样做时,以下错误会在终端中不断地发送垃圾邮件:
^{pr2}$它看起来像是在读两帧,然后在下一帧之前稍等或放慢速度,然后又一次快速地读取两帧:
如果我这样做的“正常”方式,我读取所有帧,但只运行图像识别每60。frame它的工作完全正常,但是如果我增加运行图像识别的间隔时间(例如每分钟1帧或更少),我会发现实际上要花相当长的时间才能捕捉到所有我不使用的帧。在
如果您对此有任何意见,我将不胜感激,我已经寻找了一个很长时间的解决方案,但没有找到任何东西:)
目前没有回答
相关问题 更多 >
编程相关推荐