2012-01-01 8 views
3

OpenCVではどのビデオ形式を使用できますか? AVIとカメラからのロードに加えて何かを使うことができますか? サポートされている唯一の形式の場合は、他のビデオ形式を使用するためにビデオコンバータが必要です。OpenCVでのキャプチャの読み込み

答えて

1

最新の情報が不明ですが、this OpenCV wiki pageはどのコーデックがサポートされているかをよく理解しています。まともなクロスプラットフォームをサポートしている唯一のフォーマットは、AVIのようなものです。選択肢は、外部のコンバータを使用して変換を行うか(推奨どおり)、ビデオライブラリを使用して画像をロードし、データの適切なcv::MatまたはIplImage *ヘッダーを作成するコードを記述することです。

あなたが大量のビデオを処理しているのでなければ、抵抗を最小限に抑え、ビデオをAVIに変換することをお勧めします(OpenCVがサポートしている詳細については上のリンクを参照してください)。ロッシー圧縮を避けるように注意してください。画像処理アルゴリズムが大量に混乱するでしょう。

+1

リンク先のwikiページはなくなりましたが、アーカイブは[こちら](https://web.archive.org/web/20130524095153/http://opencv.willowgarage.com/wiki/VideoCodecs)です。 – chappjc

0

OpenCVは、他のライブラリ(例えば、ffmpegおよびVFW)へのビデオエンコードおよびデコードを「ファームアウト」する。また、highguiソースdirectoryを見ると、利用可能なすべてのVideoCaptureラッパーが表示されます(具体的にはcap_*の実装に注意してください)。 AVIは単なるコンテナであり、実際OpenCVが読めるビデオコーデックにとってそれほど重要ではありません。 AVIには、ビデオ、オーディオ、さらには字幕ストリームの複数の異なる組み合わせを含めることができます。このことについて私の他のanswerを参照してください。 Hereは、コンテナとコーデックの違いを説明する簡単な記事です。

Linuxであれば、ffmpegが処理したいビデオコーデックのデコードをサポートしていることを確認してください。次のコマンドをサポートしているのffmpegのバージョンをコーデックを確認することができます:

ffmpeg -formats 

Windowsでは、あなたはあなたがK-Lite Codec Packのようなビデオの様々なタイプをデコードするために利用可能なコーデックをたくさん持っているようにしたいでしょう。

関連する問題