OpenCV读取视频产生稳定延迟情况的解决方案(一)
Solution for reading pictures with stable delay by OpenCV
最近在做对代码的延时标定,发现了一个问题,图像处理已经达到了20ms每循环,但OpenCV的视频帧整体延时了500ms,并且第一帧收帧时如果在500ms以内就imshow帧,则出现错误中断。
采取以下措施定位问题:
使用微软专用软件标定相机,发现相机只是拍照+回传至电脑内存,延迟不超过100ms,因此不是相机问题;
测试程序时钟,除了初始化的500ms以外,每次循环不超过20ms,因此,不是代码问题;
OpenCV;
最终确定是OpenCV的问题,接下来定位:
OpenCV版本问题;
OpenCV其它问题;
自用OpenCV版本为2.4.13,换成3.1也有整体延时的情况。 最后上网搜索博客:
https://blog.csdn.net/qq_43443531/article/details/97375918
https://blog.csdn.net/qq_38392644/article/details/85197264
OpenCV默认输出格式为YUYV,可将其改成MJPG格式。 尝试成功:
...
capture.open(1)