1

私はMatlabのnormxcorr2関数を使用して、正規化された相互相関を実行することにより、画像とのテンプレートマッチングを行っています。テンプレートと画像の間の最大の対応を見つけるには、normxcorr2を実行してから、normxcorr2によって返されるすべての値の最大絶対値を見つけることができます(関数は-1.0から1.0の間の値を返します)。

Googleの簡単な検索から、負の相関係数は2つの変数間の逆の関係を意味し(たとえば、xが増加すると、yは減少する)、正の相関係数は逆の関係を意味する(たとえば、xが増加すると、yが増加する)ことがわかりました。これは画像テンプレートマッチングにどのように適用されますか?つまり、normxcorr2からの負の値は、テンプレートマッチングに関して概念的に何を意味しますか?

4

2 に答える 2

1

正規化された相互相関を正規化されたベクトルの内積として表示します。2 つのベクトル間の角度がゼロの場合、内積は 1 になります。それらが反対方向を向いている場合、それらの内積は負の 1 になります。これは、配列を取り、列を端から端まで積み重ねる場合、実際には直接的な考えです。結果は、基本的に 2 つのベクトル間のドット積です。

また、個人的な逸話として、テンプレート マッチングについて最初に混乱したのは、直感的に、2 つの画像の要素ごとの減算が画像の類似性の良い指標になると信じていたことです。相互相関を初めて見たとき、なぜ要素ごとの乗算を使用するのか疑問に思いました。すると、後の演算はベクトルの内積と同じものだと気付きました。前に述べたように、ベクトル内積は、2 つのベクトルが同じ方向を指していることを示します。あなたの場合、2 つのベクトルが最初に正規化されます。したがって、範囲は -1 から 1 です。実装について詳しく知りたい場合は、JP Lewis による「Fast Normalized Cross Correlation」がこのテーマに関する古典的な論文です。

于 2013-03-11T00:02:53.637 に答える
0

ウィキペディアで式を確認してください 。

f(x, y) - mean(f)とが異なる符号を持つ場合t(x,y) - mean(t)、補遺の結果は負になります(stdは常に正です)。そのような(x、y)がたくさんある場合は、合計も負になります。1.0ifは、ある画像が別の画像と等しいことを意味すると考えるかもしれません。-1.0ある画像が別の画像のネガであることを意味します(見つけてみてくださいnormxcorr2(x, -x)

于 2013-03-11T00:16:50.160 に答える