動画のaviファイルをフレームごとに、持って来る方法は?

[戻る]
いか 2009/09/07(月) 14:31:59
動画上で、
車窓から撮った
ガードレールが時間ごとに、
どんな動きをしていったトレースしていって、
乗り物の加速度を検証したいんです。
C言語を使おうが使うまいが、
どんな方法でも構いません。
録画は100秒程度のものです。

wclrp ( 'o') 2009/09/07(月) 21:37:49
AVIファイルはVideo for Windowsのライブラリがあるよ。
例えば
http://codezine.jp/article/detail/210?p=1

でもVfW用コーデックがないAVIファイルは上記方法ではデコードできない。
そのときメディアプレイヤーで再生できるならDirectShowでプログラムを作る。

もしかしたら便利なプログラムが公開されているかもしれないが俺は知らん。

いか 2009/09/07(月) 23:30:40
ありがとうございます。
そのVfW用コーデックとは
どこかで手にいれられないものなのですか?

wclrp ( 'o') 2009/09/08(火) 01:17:16
そのAVIを作成したツールを持っているならデコード出来るでしょ。
AVIってビデオとオーディオを一つのファイルに入れる入れ方であって
ビデオをどう圧縮するかはまた別のこと。
圧縮の種類は色々な会社が作成した色々なコーデックがあるので
AVIを作成するツールを作ったメーカーに聞いてくれ。

それと、今はVfWなんて古いものサポートしてなくても不思議じゃない。

最近のAVIUtilはDirectShowやプラグインに対応しているみたいだね。
俺は詳しくは知らない。
DirectShowやVfWのプログラムを作成するのが面倒なら、
ファイルが膨大になる懸念があるけど
AVIUtilで連番ビットマップファイルにすればいいと思うよ。
あるいはVfWライブラリのプログラムを作成し
AVIUtilで無圧縮AVIファイルに変換したものを使うとか。

いか 2009/09/08(火) 06:51:36
wclrp ( 'o')さん
いろいろありがとうござます。
助かります。
やってみます。

また、AVIファイルがフレームごとに展開できたとして、
白の腺の部分だけ検出したい場合は、
白に対応する8ビットなり16ビットなりの
デジタル値が順番にならぶのでしょうか?

wclrp ( 'o') 2009/09/08(火) 08:34:54
いろいろ検索してDIBビットマップの勉強してくれ。
特殊なのを除き、左から右、下から上の順になっているよ。

実際は白じゃなくて明るい灰色や暗い灰色のモーションブラーでぼやけた模様だろうね。
簡単なプログラムでガードレールだと判断ができるような判りやすい線なんてないだろうな。

Ismaell. 2009/09/08(火) 09:46:58
対象道路のガードレールの形状サイズや配置がわかっているなら
動画編集ソフトで、路線図と対応させながら適当mおきに目印を
付けていきます。目印は例えば音声トラックにパルスのような物。
・・・という前処理をして、
それぞれの起点からの距離がわかるので、あとはパルス位置を
計測する、というのはどうでしょう。

//初めまして、C++の話でなくてすみません。
//昔、開通前道路に銀紙を貼って似た様な事をした事があります。

古いスレッドには追加発言できません。