我目前正在为不同分辨率的图像处理一个多模态配准问题。对于分辨率相对相同的图像,利用matlab多模态配准管道可以很好地匹配目标(中间的立方体物体)。
然而,如果运动图像和固定图像之间存在较大的尺度变化,基于强度的多模态配准就不起作用。
我尝试使用筛选/浏览功能匹配来恢复比例,但由于这两个图像来自非常不同的设备,我无法获得正确的结果。我一直在考虑深入学习的方法,但不确定如何开始。欢迎提出任何意见或建议。
我在下面附加了我的代码,这样您就可以自由地测试它了。
moving = imread('moving.png');
fixed = imread('fixed1.png');
figure
subplot(311)
imshowpair(fixed,moving,'montage')
title('Before Registration')
% Optimizer and Metric setting
optimizer = registration.optimizer.OnePlusOneEvolutionary;
optimizer.GrowthFactor = 1.05; %1.0001
optimizer.Epsilon = 1.5e-06;
optimizer.InitialRadius = 0.00625; %0.0022 0.0015
optimizer.MaximumIterations = 200; %500
metric = registration.metric.MattesMutualInformation;
metric.NumberOfSpatialSamples = 500;
metric.NumberOfHistogramBins = 25;
tformRigid = affine2d([1 0 0;0 1 0; 0 0 1]);
[movingRegistered,~,tform] = imregister2(moving,fixed,'affine',optimizer,metric,'DisplayOptimization',false);
subplot(312)
imshowpair(fixed,movingRegistered,'montage')
title('After Rigid Transform (Fix Spatial Difference)')