ビデオがあり、フレームを処理したい。
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 が正しくないことです。たとえば、上記のコードは 1 秒あたり 12 フレームでビデオを表示しようとしますが、processFrame()
完了するまでに時間がかかる場合、fps が低くなり、ビデオが遅れて見えます。
ここで遅延値を計算する必要があります。fps が 12 のままになるように値を動的に割り当てるにはどうすればよいですか? ありがとう。