5-05 相互相関を使った画像抽出と位置検出
●相互相関の応用−画像認識
前節では相互相関値=画像の類似度であることを説明しました。本節ではその特性を生かし、画像抽出と位置検出を行います。 |
●二次元に拡張して画像に適用する
このExcelをダウンロードして開いてみましょう。最初のREADMEシート(図5-73)にEXCELファイルの簡単な説明があります。
同図にあるように、相互相関関数は「二次元」に拡張してあります。また N = 8, M = 40 としており、x, yは8×8の行列、相互相関の結果 Rxyは40×40個になります。 |
図5-73 最初のシートREADME
●隣のシートにテンプレート
charFシートには"F"を形どったテンプレートがあります。正の値が2.765となっていますが、これは8×8画素の平均が0になるように調整した値です(*1)。
(*1)直流分があるとそのぶん相関結果にバイアスがかかるので、平均が0になるようにする。図5‐74のA92 ,B92, C92セルでそうなる値(2.765)を計算している。 |
図5-74 8×8個の平均がほぼ0になっている
●アルファベットを抽出、位置検出する
テンプレートは5個あり、それぞれF, L, X, O, N が形どられています。図5‐75は"N"の画像を抽出するためのテンプレートになります。 |
図5-75 charNシート。これも平均すると0になる
●大きな画像の中から文字を探し出す
図5‐76のようにchar10シートは48×48画素あり、そのなかにアルファベットが10文字(それぞれ8×8画素)、適当に置かれています。このシートから
F, L, X, O, N の文字を抽出・位置検出します。 |
図5-76 8×8の文字画像がちりばめられている
●相互相関の式(図5‐73)の"y"の部分
図5‐77はshift40x40シートで、char10シートから8×8画素のエリアを上下左右に1画素ずらしながらとっています。その結果、8×8画素が40×40個になり、これらとテンプレートの相互相関値を計算します。 |
図5-77 y [i+v] [j+h] ここでv, h = 0, 1, 2, ... 39
●手作業では大変なのでVBAを使う
shift40x40シートの各セルをクリックすると計算式を見ることができますが、これらはVBA(Module01)を使って自動的に生成されたものです。 |
次のページへ
目次へ戻る |