gusucode.com > 基于互信息的图像配准matlab源码程序 > 基于互信息的图像配准matlab源码程序/myMI.m

    function [mi]=myMI(x,y,ang,structure)
x=round(x);
y=round(y);
ang=round(ang);

handles=structure;
MIname=handles.MIname;
J=handles.J;
I=handles.I;

se = translate(strel(1), [x y]);
J = imdilate(J,se);
J = imrotate(J,ang,'nearest','crop');
I=double(I);
J=double(J);

if handles.NumOfVar==0
    evstrg=strcat('feval(''',MIname,'''',',I,J',')');
elseif handles.NumOfVar==1
    var1=handles.var1;
    evstrg=strcat('feval(''',MIname,'''',',I,J,var1',')');
elseif handles.NumOfVar==2
    var1=handles.var1;
    var2=handles.var2;
    evstrg=strcat('feval(''',MIname,'''',',I,J,var1,var2',')');
end
 mi=eval(evstrg);