2016年2月2日火曜日

OpenCv(Sharp)でオプティカルフロー



OpenCvSharpでオプティカルフローを行ってみた。ソースコードは"実践OpenCV 2.4―映像処理&解析"のオプティカルフロー、178ページのC++のコードをほぼそのまま使用している。
サンプルには検出しやすそうなキーボードを使ってみた。キーボードのバックライトで表示された文字もちゃんと文字として認識できるのが面白い。
それとオリジナルの処理として画像の下側に移動の長さの量を表示している。上の画像は平行移動しているので鋭いスペクトルが出ている。ということで出現回数が多い移動を平均すれば移動方向が把握できる。と思ったのだけど、流石にそんな簡単じゃない。



上の画像は平行移動ではなく、カメラを回転させたサンプル。回転中心が移動量最小で、中心から離れる程に移動量が多くなる。なので鋭いスペクトルは出ず、様々な長さの移動が検出される。
とりあえずシェイクリダクションでもやってみようかと思っていたけど、かなり大変のようだ。とりあえずオプティカルフローで遊ぶという目的は達成したけど、もうちょっといろいろ調べてみよう。

0 件のコメント:

コメントを投稿