頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


iOSでPOCに挑戦(1) 位相限定相関法をやってみる

位相限定相関法ってのをiOSでやってみるというお話だよ。

画像処理関連でいろいろと調べてたら位相限定相関法(Phase Only Correlationってことで以下POCね)というのにたどりついたんだ。なんだそりゃって感じだよね。

位相限定相関法(POC) - スズメレンダラー・クマ将棋の開発日記
↑このあたりの記事がわかりやすいんだけど、POCを使えば二つの画像のずれを求めることができるんだよ。さらにもう少し手間暇かける、、、つまり料理の仕上げにオリーブオイルを加えるようなことをするとx、y方向のずれだけじゃなくて角度や大きさの違いも計算できるんだ。もこみちくんもびっくりだね。

百聞は一見に如かずってことで、実際にiOSデバイス(iPhone 4S)で動かしてるところを撮影してみたんだ。

撮影時の位置関係
↑位置関係はこんな感じ。画像が小さいのは部屋がちらかってるからだよ、ごめんね。
ディスプレイに立てかけてるレシピ(何でもよかったんだけど、近くにあったんだ)をiPhone 4S(iOS 6.0.1)で画像処理しているところをiPad(第三世代)で動画撮影しているよ。
その動画がこちら↓



これは最初にボタンをタップした時に画面中央部分を取得する(データ数は128x128、取得後左下に表示)んだけど、その画像を追いかけ続けるというもの。
毎回全画面から探すのは大変なので赤い点を左上とする正方形(データ数は128x128)のデータと最初の画像をPOCにより比較しているんだ。その結果により最初の画像であろうってところにブルーっぽい正方形を表示させているんだ。赤い点は最初の画像との位置の差を小さくするために、都度移動させてるよ。
手ぶれとかがあるとPOCの結果が出ないことがあるんだけど、そんな場合はブルーの正方形のhiddenプロパティをYESにして非表示にしてる。
なお、ブルーの正方形が若干微妙なアニメーションになっているのはCALayerを使っているからで、ここはあまり突っ込まないでね。


ここでは二枚の画像のずれだけじゃなく角度や大きさの変化も取得してるけど、まずは単純なx、y方向のずれを求めてみることをやってみよう。え?あまり興味ない?まあそう言われてもやるけどねっ!




<< PSOFTからアプリのプレゼント!   TopPage  YCbCr方式のデータの並び方がわからない >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/708-4f2858b3




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad