はじめに

前回はファルコ先生の得意技「パターンマッチング概要」について教えてもらいました!
パターンマッチングを使えば、任意のパターンを簡単に探し出せるんですね。

そうね。前回の基礎はばっちりみたいだから、今回は実際にパターンマッチング処理をやっていくわよ!

わかりました!よろしくお願いします!
あれ、ファルコ先生、今回いつもと雰囲気違う気がするんですが。。

気のせいよ。それではしっかりついてきなさい!
パターンマッチングをやってみよう
テンプレートマッチングでは、テンプレート画像とサーチ画像との一致度(類似度)を計算していきます。
今回はわかりやすく説明するため一致度(類似度)を0~100%までの数値で表現します。
まずは「サーチ画像A」から「テンプレート画像A」のようなリンゴの絵を探してみます。
一致度(類似度)が80%以上のものを探してみると3か所の候補が見つかりました。

「検出パターンA」と「検出パターンC」はリンゴの絵が反転しているため、本来であればマッチングしてほしくないパターンです。

次に、より高精度なマッチングを行うため一致度(類似度)が95%以上のものだけを探してみましょう。
「サーチ結果A2」のように「テンプレート画像A」と同じパターンが見つかりました。

今度は基板上の部品を探してみましょう。
探したい部分を「テンプレート画像B」に指定します。

「サーチ画像B」から「テンプレート画像B」を探します。
一致度(類似度)が95%以上で、基板上の「テンプレート画像B」と同じ部分が見つかりました。

まとめ

一致度(類似度)の基準を調整することで、マッチング精度を緩めたり厳しくしたりできることがわかりました!

そうね、この基準をうまく調整して検査などに応用することが多いわよ!
決められた場所に正しく部品があるかどうかもチェック可能ね。

なるほど、それでは僕好みのクレオパトラ似の女性をテンプレートマッチングで探してみます!


う~ん、なかなか一致しないですね。。(というか、なぜかファルコ先生が一致してるし。。)
それにしてもファルコ先生の顔色が悪いんですけど、どうしちゃったんですか?

私もクレオパトラっぽく化粧してみたのよ。素敵だと思わない?

・・・・?
画像処理のマッチングって難しいですね!もっと勉強します!
-
パターンマッチングでは一致度の基準値設定が重要である
-
一致度の基準が低いと検出しやすいが誤検出が多くなる
-
一致度の基準が高いと検出しにくいが誤検出は少なくなる