5

発生中の胚の形状の移動速度を計算するために、MATLABのnormxcorr2 (正規化された相互相関)を使用しようとしています。3 つの質問があります。

1) 私の画像サイズは 260x360 ピクセルです。テンプレートのサイズを 10x10 ピクセルに指定し、50x50 ピクセルの検索ウィンドウで後続のフレームでこのテンプレートを検索するようにコマンドに依頼します。サイズ 59x59 の相関行列を取得します。したがって、これは、コマンドが検索ウィンドウ内でテンプレートをピクセルごとに移動して、最適な相関関係を探すことを意味します。右?

2) 相関行列の各値は、検索ウィンドウのテンプレート行列を表します。右?

3) 相関行列の 10 行目と 16 列目に最大値があるとします。これは、最も相関の高いテンプレートが、画像の y 方向の 10 番目のマトリックスと x 方向の 16 番目のマトリックスにあることを意味します。右?

4

1 に答える 1

4

normxcorr2の使用法を説明するために、次の例を検討してください(このページから採用)

%# Make light gray plus on dark gray background
template = 0.2*ones(11);
template(6,3:9) = 0.6;
template(3:9,6) = 0.6;
BW = single(template > 0.5);         %# Make white plus on black background
imtool(template, 'InitialMagnification','fit')

%# Make new image that offsets the template
offsetTemplate = 0.2*ones(81);
offset = [30 50];                    %# Shift by 30 rows, 50 columns
offsetTemplate( (1:size(template,1))+offset(1), ...
                (1:size(template,2))+offset(2) ) = template;
imtool(offsetTemplate, 'InitialMagnification',400)

%# Cross-correlate BW and offsetTemplate to recover offset
cc_norm = normxcorr2(BW, offsetTemplate);
imtool(cc_norm, 'InitialMagnification',400)
[max_cc_norm, imax] = max( abs(cc_norm(:)) );
[ypeak, xpeak] = ind2sub(size(cc_norm), imax(1));
corr_offset = [ (ypeak-size(template,1)) (xpeak-size(template,2)) ];

fprintf('Input offset: %d,%d\nRecovered offset: %d,%d\n', offset, corr_offset)
于 2009-11-08T02:14:48.943 に答える