2012年6月16日土曜日

OpenCVでオプティカルフローを計算してみる(まだ途中)

前回の続き

間違えてたっぽい箇所:
velx, velyのcvCreateMatの第一、第二引数が逆(かも)

cvCalcOpticalFlowBMの第一、第二引数はprevImg.getCvImage()みたいに取得すべき(多分)

でも動かない。

で、oF + openCVのコード検索してると
こことか
こことかにいっぱいお名前が出てくる
Takashi Maekawaさんの
を調べてみた。

落とすとcvOpFlowBMExampleというディレクトリが入ってる。
src見るとmain.cpp testApp.cpp testApp.hが入ってて
今までみたoFの作法と一緒でそのままビルドできそう。
できなかった。
testApp.hの中でofCvColorImageとかofCvGrayscaleImageとかの名前のヘッダー読み込んだり同名の型でメンバー宣言してるけど
oFについてきたアドオン、ofxOpenCvが定義してるのは
ofxCvColorImageとかofxCvGrayscaleImageしかない。

アドオン側の名前が変わったのだと信じて、Maekawaさん側のコードにxを足していくと、とりあえずビルドはできた。
が、cvCalcOpticalFlowBMの呼び出しでcv::Exception出て止まるなあ…

http://edotprintstacktrace.blogspot.jp/2009/10/cvcalcopticalflowbm.html
を試してもダメ。

ぎゃー前進してない!

とりあえず、探した限りでは「そのまま動くoF+openCVでのサンプル」は無かった。
動作するコードが無いことには話にならないので、次はoFから一旦離れてopenCVだけのサンプルコードを探してみる。もちろん動くやつ。

メモ
http://opencv.jp/sample/optical_flow.html
http://www40.atwiki.jp/chugoku/pages/114.html

続く

1 件のコメント: