www.gusucode.com > 配准结果检验程序 gobad.m对图像进行“平移”和“旋转” > peizhun/FPMI.m
function mi=FPMI(I0,I1,ta,ca) % 增加 ta ,和 canny范围 %ta=7; % 均方差 width=3*ta; ssq=ta^2; [x,y]=meshgrid(-width:width,-width:width); e1 = exp(-(x.*x+y.*y)/(2*ssq)) /(0.5*pi*ssq); [M,N]=size(I0); I0=edge(I0,'canny',ca); I1=edge(I1,'canny',ca); I0=double(I0); I1=double(I1); b0=zeros(M,N); b1=zeros(M,N); for i=(3*ta+1):(M-3*ta) for j=(3*ta+1):(N-3*ta) if I0(i,j)~=0 b0([(i-3*ta):(i+3*ta)],[(j-3*ta):(j+3*ta)])= b0([(i-3*ta):(i+3*ta)],[(j-3*ta):(j+3*ta)])+e1; end if I1(i,j)~=0 b1([(i-3*ta):(i+3*ta)],[(j-3*ta):(j+3*ta)])= b1([(i-3*ta):(i+3*ta)],[(j-3*ta):(j+3*ta)])+e1; end end end mi=MI(b0,b1);