OpenCV の VideoCapture で、フレームの蓄積により遅延の問題が発生しました。キャプチャバッファ。回避策として、バッファをすばやくクリアするために 30fps でバッファを読み取るという手段を講じました。
OpenCV は、バッファ サイズを手動で設定する方法を提供します。 :
<code class="cpp">cv::VideoCapture cap; cap.set(CV_CAP_PROP_BUFFERSIZE, 3); // store only 3 frames</code>
ただし、このソリューションは DC1394 v 2.x バックエンドでのみサポートされています。
代替案このアプローチは、フレームの取得にかかる時間を測定することです。
CV を使用して、高速でフレームを継続的に取得する 3 番目のスレッドを作成できます。 ::VideoCapture.grab() を使用してバッファを空に保ちます。スピンロックを使用して、このスレッドとワーカー スレッド間のアクセスを同期します。
以上がキャプチャ バッファの蓄積によって引き起こされる OpenCV VideoCapture の遅延を克服するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。