问题描述
我正在从事一个最终必须实时处理网络摄像头图像的项目。我有一些合适的测试视频用于测试我的程序。但是,我不知道如何用视频文件模拟实时处理。我可以在每一帧中读取并处理它,但这并不现实,因为算法太重而无法在每一帧上运行。我想单独“流式传输”视频并在每次算法开始使用真实的 fps 进行测试时拉入一帧,但我不知道如何执行此操作。
解决方法
这是您可以使用的代码的基本布局:
import cv2
cap = cv2.VideoCapture('path to video file')
while cap.isOpened():
ret,frame = cap.read()
### YOUR CODE HERE ###
if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows() # destroy all opened windows