OpenCV の VideoCapture は、バッファを利用してキャプチャされたフレームを保存します。このバッファによりパフォーマンスは向上しますが、適切に処理されないと遅延が発生する可能性があります。
特定のハードウェア構成に対して、OpenCV は CV_CAP_PROP_BUFFERSIZE プロパティを提供します。このプロパティを設定すると、バッファ サイズを制御して、古いフレームの蓄積を減らすことができます。
この裏技は時間を監視します。フレームを取得するために撮影されます。時間が著しく短い場合、フレームはバッファからのものとみなされ、破棄されます。時間が特定のしきい値を超えると、返されたフレームは最新であるとみなされます。
バッファの蓄積を防ぐには, 専用スレッドは、grab()を使用して高速にフレームを連続的に取得できます。メインのワーカー スレッドがフレームを必要とする場合、スピンロックなどの同期メカニズムを使用して、このバッファ スレッドからフレームを取得できます。
以上がOpenCV で VideoCapture の遅延を解消するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。