オプティカルフローのフリーソフトがいろいろ公開されているが,今回はそのうち
MDP-Flow2
と呼ばれるものを使ってみる
<インストール方法>
①
http://www.cse.cuhk.edu.hk/~leojia/projects/flow/のサイトからOptical Flow Estimation Software と書いているところをクリックし,ダウンロードを行う.
②ダウンロードしたファイルを展開する.
③
http://vision.middlebury.edu/flow/data/にあるThe ground-truth flow is provided in our .flo format. Information and C++ code is in flow-code.zipから,flow-code.zipをダウンロードする
floファイルをカラーマップに変換するプログラムである.
④ダウンロードしたファイルを展開する.
インストール完了.かなり簡単である.
<プログラム使用方法>
①インストール後展開してできたmdpofフォルダ内のmdpofフォルダ内にあるmdpof.exeを実行する.
実行方法は,コマンドプロンプトなどを用いて,
mdpof.exe imgdir [imgtype][smooth][largemotion][occlusion] [resultdir]
と記述する.
imgdir: 画像があるディレクトリ.オプティカルフローを計算する画像(2枚以上)を格納しておく.
imgtype: 画像の拡張子を記述する(.png,.bmp,.jpg,.ppmなど).
smooth: フロー数値の強度を表す.値は5~30で指定.大きいほど滑らかになる(デフォルトは8).
largemotion: 大きな動き(50ピクセル以上)の動きがあるかどうかで1か0かの値を記述する.ある場合は1を選択する(デフォルトは1).
occlusion: オクルージョン処理が適用されるかどうかを1か0で記述する.適用する場合は1,しない場合は0を選択する(デフォルトは0).
resultdir: 結果が出力されるディレクトリ(デフォルトはimgdir).
入力例
dpof.exe ".\data\Bird" ".png" 8 1 0 ".\data\Bird"
これで,出力ディレクトリに.floファイルが出力される.この.floファイルにflow情報が格納されている.
②インストール後展開してでてきたflow-codeフォルダ内のflow-codeフォルダ内にあるcolor_flow.exeを実行する.
実行方法は,コマンドプロンプトなどを用いて,
color_flow.exe flowFile pngFile
と記述する.
flowFile: mdpof.exeにより作成されたfloファイルのこと.
pngFile: floファイルによって変換されるカラーマップの出力pngファイル.
以上により終了である.しかし,私の場合は,カラーマップよりも実際のフロー数値を知りたいので,color_flow.cppを編集して新たなプログラムを作成した.
コンパイルを通すにはpngライブラリとのビルドを通さなくてはいけないので,少し大変.