matlab 图像变换imwarp

function Transformation(Imgname)
    I = imread(Imgname);

    input_points1= [1 1;1 400;375 400;375 1];
    output_points1= [1 1;1 200;200 200;200 1];
    input_points2 = [1 1; 1 400; 375 400; 375 1];
    output_points2 = [1 1; 1 200; 200 200; 200 50];
    input_points3 = [1 1; 1 100; 1 200; 1 300; 1 400; 375 400; 375 300; 375 200; 375 100; 375 1];
    output_points3 = [1 1; 10 50; 12 100; 10 150; 1 200; 200 200; 210 150;212 100; 210 50; 200 1];

    TFrom = fitgeotrans(input_points2,output_points2,'affine');%计算变换矩阵,这里是仿射变换

    I_trans = imwarp(I,TFrom,'OutputView',imref2d(size(I)));
%     imshowpair(I,I_trans,'montage');%将两图并排放在一起
    figure
    subplot(1,2,1),imshow(I);
    subplot(1,2,2),imshow(I_trans);


end

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_32095699/article/details/80803646