📄 zncc.m
字号:
N=1;
[ligne1,col1]= size(posc1);
[ligne2,col2]= size(posc2);
%la valeur moyenne de l'image 1
for i=1:ligne1
somme = 0;
for l=-N:1:N
for k=-N:1:N
somme=somme+double(ori_im1(posr1(i)+l,posc1(i)+k));
end
end
moyenne1(i)=somme/(2*N+1)^2;
end
%la valeur moyenne de l'image 2
for j=1:ligne2
somme =0;
for l=-N:1:N
for k=-N:1:N
somme=somme+double(ori_im2(posr2(j)+l,posc2(j)+k));
end
end
moyenne2(j)=somme/(2*N+1)^2;
end
for i=1:ligne1
for j=1:ligne2
ZNCC1 = 0;
num=0; %le numérateur de la formule
denom=0; %le dénominateur de la formule
denom1=0;
denom2=0;
for l=-N:1:N
for k=-N:1:N
num=num+(double(ori_im1(posr1(i)+l,posc1(i)+k))-double(moyenne1(i)))*(double(ori_im2(posr2(j)+l,posc2(j)+k))-double(moyenne2(j)));
denom1=denom1+sqrt((double(ori_im1(posr1(i)+l,posc1(i)+k))-double(moyenne1(i)))^2);
denom2=denom2+sqrt((double(ori_im2(posr2(j)+l,posc2(j)+k))-double(moyenne2(j)))^2);
denom=denom1+denom2;
ZNCC1 = num/denom;
end
end
ZNCC(i,j)=ZNCC1;
end
end
for i=80:ligne1
pt = find(ZNCC(i,:)==max(ZNCC(i,:)));
figure(3)
imshow(ori_im1);
hold on;
plot(posc1(i),posr1(i),'r+')
figure(4)
imshow(ori_im2);
hold on;
plot(posc2(pt),posr2(pt),'r+')
pause
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -