matlab图像配准改错
日月之球 2020-06-29 10:52:09 function Q=Peizhun(I,J)
I=imread('cross1.jpg');
J=imread('cross2.jpg');
if isrgb(I)
I1 = rgb2gray(I);
else
I1=I;
end
if isrgb(J)
J1= rgb2gray(J);
else J1=J;
end
I=double(I1);
J=double(J1);
ticRegistrationParameters=Powell(I,J);
tocElapsedTime=toc;
x=RegistrationParameters(1);
y=RegistrationParameters(2);
ang=RegistrationParameters(3);
MI_Value=RegistrationParameters(4);
RegistrationResult=sprintf('X,Y,Angle=[%.5f][%.5f][%.5f]',x,y,ang)
MI_Value=sprintf('MI_Value=[%.4f]',MI_Value)
X=round(x);
Y=round(y);
Ang=round(ang);
se = translate(strel(1),[X Y]);
J2 = imdilate(J1,se);
J3 = imrotate(J2,Ang,'nearest','crop');%[FusionImage,RegistrationImage]=Fusion(x,y,ang,I,J);%imshow(FusionImage)[FusionImage]=Fus(I1,J3);
figure(1);
imshow(I1);
title('Base image');
figure(2);
imshow(J1);
title('Float image');
figure(3);
imshow(J3);
title('Trans image');
figure(4);
imshow(FusionImage);
title('Registration image');