www.pudn.com > 1111111registrationbasedoncorrelation.rar > 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);