テンプレートマッチング

テンプレートマッチング とは画像処理ないしコンピュータビジョンの一手法。デジタル画像処理で、テンプレート画像に一致する画像の小さな部分を見つける手法で特定のパターンを検出するための画像などを用意し、観測画像と照らしあわせて当該箇所を検出する。比較する方法はさまざまである。 これは、製造において品質管理の一部として、移動ロボットをナビゲートする方法、または画像内のエッジを検出する方法として使用が可能。

機能ベースのアプローチ

テンプレートベースのアプローチ

モーショントラッキングとオクルージョン処理

計算解剖学における変形可能なテンプレート

相互相関または絶対差の合計を使用して説明されるテンプレートベースのマッチング

実装 
minSAD = VALUE_MAX;

// loop through the search image
for ( size_t x = 0; x <= S_cols - T_cols; x++ ) {
  for ( size_t y = 0; y <= S_rows - T_rows; y++ ) {
    SAD = 0.0;

    // loop through the template image
    for ( size_t j = 0; j < T_cols; j++ )
      for ( size_t i = 0; i < T_rows; i++ ) {

        pixel p_SearchIMG = S[y+i][x+j];
        pixel p_TemplateIMG = T[i][j];
		
        SAD += abs( p_SearchIMG.Grey - p_TemplateIMG.Grey );
      }

    // save the best found position 
    if ( minSAD > SAD ) { 
      minSAD = SAD;
      // give me min SAD
      position.bestRow = y;
      position.bestCol = x;
      position.bestSAD = SAD;
    }
  }
  
}

プロセスの高速化

マッチングの精度を向上させる

同様の方法

使用例

関連項目 

 顔認証システム 
 パターン認識 
 コンピュータビジョン

参考文献

外部リンク 

 OpenCVでのテンプレートマッチング 
 テンプレートマッチングを使用した視覚オブジェクト認識 
 回転、スケール、並進不変のテンプレートマッチングのデモプログラム 
 遠近不変のテンプレートマッチング 

画像処理
コンピュータビジョン