• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OpenCV cvmatchtemplate)

OpenCV cvmatchtemplate での画像一致検出のプログラムについて

このQ&Aのポイント
  • OpenCVで画像一致検出のプログラムを組んでいます。
  • Cvmatchtemplateは動作していますが、そのパラメーターについて詳しく理解できていません。
  • 具体例が書かれているサイトや本を教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

具体例というのが、どこまで期待しているのか?わかりませんが、OpenCVの引数は画像処理用語的には以下のような表現をします。 CV_TM_SQDIFF→SSD(Sum of Squared Difference) CV_TM_CCORR_NORMED→NCC(Normalized Cross-Correlation) CV_TM_CCOEFF_NORMED→ZNCC(Zero-mean Normalized Cross-Correlation) このNormalized Cross-Correlationは『正規化相互相関』なので詳しくはこれらのキーワードで検索してもらうと、詳細がわかると思います。 当然ですが、二乗和を用いた場合は結果が小さいほど似ている事となります。 逆に相関を用いた場合は結果が大きいほど似ている事になります。 また、『相関』というのは、ほぼベクトルの内積を計算している事と等しくなります。 CV_TM_CCORRの場合は内積そのものです。 CV_TM_CCORR_NORMEDの場合は内積の公式をcosθ=a・b/(|a||b|)とした場合と同じです。 cosθを計算しているので、最も似ている場合、θが0°(ズレが無い)となり最大相関の1となり、θが180°(真逆にズレている)の場合、相関値は-1となります。 一般的にCV_TM_CCOEFF_NORMED(正規化相互相関)が輝度値の変化に影響を受けずらく比較的、安定してパターンを検出しますが、逆に、全く関係なさそうな部分を誤検出する場合もあります。 本はディジタル画像処理(CGーARTS協会)という本がオススメです。

TinyPine
質問者

お礼

ご回答ありがとうございました。 丁度私も下記のサイトを見つけ、今まで分からなかった式がやっと理解出来る様になり、各々どんな事をやっているのか考えて見ようと思った所です。 http://dixq.net/board/log/bbslog_76.html 実際の問題としてはマスターとターゲットの輝度差の問題がありますので、CV_TM_CCORR_NORMEDが良さそうですので、これから色々試験して処理時間も考慮してどのパラメーターを採用するか検討して見たいと思います。 ありがとうございました。

関連するQ&A