2016-10-30 8 views
0

私はテンプレートマッチングのためにcorr2を使用しようとしています。しかし、関数に最初のピクセルとテンプレート行列の周りにウィンドウを与えると、NaNエラーが発生します。matrabのcorr2がNaNを返します

For ex :- 
template = uint8([1 1 1 0; 1 1 1 0;1 1 1 0]); 
window = uint8([0 0 0 0; 0 0 0 0;0 0 0 0]); 
When i do corr2 on this two matrix :- 
r = corr2(template,window); 
r = NaN. 

しかし、私は、ウィンドウ内の1に行列におけるゼロ値の1を変更した場合、それは私のNaN以外の出力を与えます。 私はリンクに従っています: - https://www.youtube.com/watch?v=Q-OzmDen4HU テンプレートマッチングでは、最初のピクセルの出力を0と表示します。私はどこに間違っているのか分からない。

答えて

2

Corr2 Documentation

あなたは、アルゴリズムの下のページの一番下を見れば、それはの結果はCorr2で表される方程式を与えます。

あなたの第2の行列は0行列であり、そして式の分母でこのような第二合計として0になり、あなたがこれを行うには理想的な方法をいただきましたので、0

+0

で割るのでしょうか?ビデオリンクのように、NaNの代わりにゼロが表示されています.Matlabの新機能ですので、このようなケースを扱うのが難しいと感じています。 – Batman

+0

計算前に 'nnz(template)== 0'または 'nnz(window)== 0'かどうかを確認すると、結果はゼロに関係なく出力されることがわかります。 –

+0

ok ...ありがとう! – Batman

関連する問題