1

現在、OpenCV を必要とするプログラムの機能をいくつか開発しています。検討中のアイデアの 1 つは、1 分間のビデオ データをメモリに保存する「バッファ」の使用であり、イベント トリガーごとにそのバッファから 13 秒のビデオ ファイルのように抽出する必要があります。

現在、OpenCV に関する十分な経験がないため、可能かどうかはわかりません。ドキュメントを見ると、メモリに書き込むことができる関数は imencode と imdecode だけですが、これらはイメージです。一連の画像をビデオ ファイルに書き込む方法が見つかればすばらしいのですが、今のところ、ビデオ バッファーを使用することを考えています。

また、OpenCV バージョン 2 仕様も使用しています。

TL;DR ビデオの一部をメモリに書き込めるかどうか知りたいです。

4

1 に答える 1

1

OpenCV では、すべてのビデオはフレーム (画像) のコレクションとして扱われます。カメラの FPS に応じて、フレームを定期的にキャプチャし、それらでバッファを埋めることができます。その間、最も古いフレーム (1 分前に撮影) を破棄できます。したがって、FIFO データ構造を実装して目標を達成できます。13 秒のサンプルを取得するのは簡単です。ランダムなフレームにジャンプして、13*FPS フレームを連続してビデオ ファイルに書き込むだけです。

しかし、私がOpenCVを使用した限り、同期とタイミングの問題がいくつかあります。

これは、ビデオ i/o に関する OpenCV ドキュメントのリンクです特に、コードの最後のチャンクは、作成に使用するものです。

TL;DR : ビデオはありません。ほとんど違いのない連続した画像があります。したがって、それらをそのように扱う必要があります。

于 2012-09-03T10:08:51.740 に答える