多焦距MI配準與小波融合

1.輸入數據

在這裏插入圖片描述

2.Matlab代碼

clc
clear
close all;

%%
%實現多焦距圖像配準與融合

%%
%1.read image
fixedPath = '1.jpg';
movePath = '2.jpg';
fixed = imread(fixedPath);
moving = imread(movePath);
if ndims(fixed)==3
    fixed = rgb2gray(fixed);
end
if ndims(moving)==3
    moving = rgb2gray(moving);
end
% figure, imshow(fixed),impixelinfo;
% figure, imshow(moving),impixelinfo;
figure, imshowpair(moving, fixed, 'Scaling','joint');
title('Not Registered');
%%
%2.register by MI
t1=clock;
[optimizer, metric] = imregconfig('multimodal');
optimizer.InitialRadius = 0.009;
optimizer.Epsilon = 1.5e-4;
optimizer.GrowthFactor = 1.01;
optimizer.MaximumIterations = 300;
movingRegistered = imregister(moving, fixed, 'affine', optimizer, metric);
t2=clock;
disp(etime(t2,t1));
figure
imshowpair(fixed, movingRegistered,'Scaling','joint');
title('Registered');
%%
%3.圖像融合
XFUS = wfusimg(fixed,movingRegistered,'sym4',5,'max','max');
%歸一化
XFUS = uint8(((XFUS - min(min(XFUS)))/(max(max(XFUS)) - min(min(XFUS))))*255);
figure,imshow(XFUS);
title('ImageFuse');

3.配準結果

在這裏插入圖片描述在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章