はじめに
![新人ムラ太](../images/images_character/chara4/chara4_hellow.png)
前回はファルコ先生の得意技「パターンマッチング概要」について教えてもらいました!
パターンマッチングを使えば、任意のパターンを簡単に探し出せるんですね。
![ファルコ先生](../images/images_character/chara3/chara3_explain.png)
そうね。前回の基礎はばっちりみたいだから、今回は実際にパターンマッチング処理をやっていくわよ!
![新人ムラ太](../images/images_character/chara4/chara4_normal.png)
わかりました!よろしくお願いします!
あれ、ファルコ先生、今回いつもと雰囲気違う気がするんですが。。
![ファルコ先生](../images/images_character/chara3/chara3_cleopatra.png)
気のせいよ。それではしっかりついてきなさい!
パターンマッチングをやってみよう
テンプレートマッチングでは、テンプレート画像とサーチ画像との一致度(類似度)を計算していきます。
今回はわかりやすく説明するため一致度(類似度)を0~100%までの数値で表現します。
まずは「サーチ画像A」から「テンプレート画像A」のようなリンゴの絵を探してみます。
一致度(類似度)が80%以上のものを探してみると3か所の候補が見つかりました。
![パターンマッチング_1](../images/27/27_001.png)
「検出パターンA」と「検出パターンC」はリンゴの絵が反転しているため、本来であればマッチングしてほしくないパターンです。
![パターンマッチング_2](../images/27/27_002.png)
次に、より高精度なマッチングを行うため一致度(類似度)が95%以上のものだけを探してみましょう。
「サーチ結果A2」のように「テンプレート画像A」と同じパターンが見つかりました。
![パターンマッチング_3](../images/27/27_003.png)
今度は基板上の部品を探してみましょう。
探したい部分を「テンプレート画像B」に指定します。
![パターンマッチング_4](../images/27/27_004.png)
「サーチ画像B」から「テンプレート画像B」を探します。
一致度(類似度)が95%以上で、基板上の「テンプレート画像B」と同じ部分が見つかりました。
![パターンマッチング_5](../images/27/27_005.png)
まとめ
![新人ムラ太](../images/images_character/chara4/chara4_understand.png)
一致度(類似度)の基準を調整することで、マッチング精度を緩めたり厳しくしたりできることがわかりました!
![ファルコ先生](../images/images_character/chara3/chara3_explain.png)
そうね、この基準をうまく調整して検査などに応用することが多いわよ!
決められた場所に正しく部品があるかどうかもチェック可能ね。
![新人ムラ太](../images/images_character/chara4/chara4_understand.png)
なるほど、それでは僕好みのクレオパトラ似の女性をテンプレートマッチングで探してみます!
![パターンマッチング_6](../images/27/27_006.png)
![新人ムラ太](../images/images_character/chara4/chara4_impatient.png)
う~ん、なかなか一致しないですね。。(というか、なぜかファルコ先生が一致してるし。。)
それにしてもファルコ先生の顔色が悪いんですけど、どうしちゃったんですか?
![ファルコ先生](../images/images_character/chara3/chara3_cleopatra.png)
私もクレオパトラっぽく化粧してみたのよ。素敵だと思わない?
![新人ムラ太](../images/images_character/chara4/chara4_normal.png)
・・・・?
画像処理のマッチングって難しいですね!もっと勉強します!
-
パターンマッチングでは一致度の基準値設定が重要である
-
一致度の基準が低いと検出しやすいが誤検出が多くなる
-
一致度の基準が高いと検出しにくいが誤検出は少なくなる