2013年3月14日木曜日

OpenCVのOptical Flowを試してみた



2.4.4から、Dual TV L1方式がサポートされたので試してみた。

sampleが、sample\tvl1_optical_flow.cppで提供されているが、2枚の画像でフローを求めるものである

以前作成した、カメラの入力画像からオプティカルフローを計算するプログラムを修正した。

修正は、最初に

    Ptr<DenseOpticalFlow> tvl1 = createOptFlow_DualTVL1();

でオブジェクトを作成し、前の画像と今の画像(双方白黒)を与えるとフローを得ることができる

    tvl1->calc(frame0, frame1, flow);

処理は重く、VGA画像を80x60に縮小しても、5fpsの速度しか得られない


蛇足
インスタンス化は、createOptFlow_DualTVL1を呼ぶのだが、最初打ち間違えてcreateOpticalFlow_DualTVL1()としたため
くだらないことで時間を食った。

0 件のコメント:

コメントを投稿