matlab 图片配准

function Register()%配准
    fixed = rgb2gray(imread('img05.jpg'));
    moving = rgb2gray(imread('img04.jpg'));
    figure
    imshowpair(fixed,moving,'montage');
    %imshowpair
    %‘falsecolor’ 字面意思理解就是伪彩色的意思了,其实就是把两幅图像的差异用色彩来表示,这个是默认的参数。
    %‘blend’ 这是一种混合透明处理类型
    % 'diff’ 这是用灰度信息来表示亮度图像之间的差异,这是对应‘falsecolor’的一种方式。
    % ‘montage’可以理解成‘蒙太奇’,这是一种视频剪辑的艺术手法,其实在这里我们理解成拼接的方法就可以了

    title('Unregister');
    [optimizer,metric] = imregconfig('multimodal');
     optimizer.MaximumIterations = 500;
     optimizer.InitialRadius = optimizer.InitialRadius/3.5;

    movingRegister = imregister(moving,fixed,'affine',optimizer,metric);%配准
    figure
    imshowpair(fixed,movingRegister,'montage');


    tformSimilarity = imregtform(moving,fixed,'similarity',optimizer,metric);%求变换矩阵
    Rfixed = imref2d(size(fixed));

    movingRegisteredRigid = imwarp(moving,tformSimilarity,'OutputView',Rfixed);%moving 变换
    figure
    imshowpair(movingRegisteredRigid, fixed);
end

这里写图片描述

猜你喜欢

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