2009年10月7日水曜日

cvCalcOpticalFlowBMでハマったことのメモ

追記(2010/09/22): このままでは動かないらしいです.


動機
こちらの記事をみかけたので.雪豹でやってみようかと思った.

エントリー化の動機
そのままでは動かなかったのでメモ.たぶんOpenCVのバージョンとかの問題.

参考
こちら

現象
動機のサイトの通りやると(おいらが“通り”にはやれてないから動かないわけだが)
OpenCV ERROR: Sizes of input arguments do not match ()
in function cvCalcOpticalFlowBM, ../../src/cv/cvoptflowbm.cpp(596)

とでて落ちた.

やったこと
上記問題については以下について修正(その他雪豹用(OpenCV.frameworkとか)にあれこれ).
修正前
 rows = int(ceil (double (src_img1->height) / block_size));
cols = int(ceil (double (src_img1->width) / block_size));

修正後
 cols = floor((src_img1->width - block.width) / shift.width); 
rows = floor((src_img1->height - block.height) / shift.height);


そんだけ.

0 件のコメント: