我有一个视频,我想处理帧。
VideoCapture capture("movie.mpg");
while(true) {
Mat frame;
capture >> frame;
// This may take some time to finish
processFrame(frame);
if (waitKey(80) == 'q')
break;
}
问题是,使用硬编码延迟waitKey(80)
会导致视频的 fps 不正确。例如,上面的代码尝试以每秒 12 帧的速度显示视频,但如果processFrame()
需要一些时间才能完成,则 fps 会降低,视频看起来会滞后。
我需要在这里对延迟值进行一些计算。您如何动态分配值以使 fps 保持在 12?谢谢。