我正在使用 cv2.VideoCapture 在 python 脚本中读取 RTSP 视频链接的帧。 .read() 函数位于每秒运行一次的 while 循环中,但是,我没有从流中获取最新的帧。我使用较旧的帧,这样我的延迟就增加了。无论如何,我是否可以获得最新的帧,而不是已通过管道传输到 VideoCapture 对象的旧帧?
我也面临同样的问题。似乎一旦 VideoCapture 对象被初始化,它就会将帧存储在某种缓冲区中,并为每个读取操作返回一个帧。我所做的是每次我想读取帧时初始化 VideoCapture 对象,然后释放流。以下代码以 10 秒的间隔捕获 10 张图像并存储它们。可以在循环中使用 while(True) 来完成相同的操作。
for x in range(0,10):
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
cv2.imwrite('test'+str(x)+'.png',frame)
cap.release()
time.sleep(10)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)