引言
这里使用Matlab里面自带的函数进行图像配准,在配准之前设置好配准的参数,调用imregister()函数就可以得到配准的图像。
1. 编码
这里使用到的Matlab工具函数为
moving_reg = imregister(moving,fixed,transformType,optimizer,metric)
[moving_reg,R_reg] = imregister(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric)
___ = imregister(___,Name,Value)
moving:浮动图像
fixed:参考图像
transformType:图像变换的类型
optimizer和metric:是配准的参数
图像的变换类型在Matlab里面有如下几种
实现的例子
%img_B 浮动CT图像
%img_A 参考MRI图像
%设置配准参数,互信息作为度量
[optimizer, metric] = imregconfig('multimodal');
optimizer.GrowthFactor = 1.01;
optimizer.Epsilon = 1.5e-6;
optimizer.InitialRadius = 0.001;
optimizer.MaximumIterations = 500;
%配准
moving = imregister(img_B, img_A, 'affine', optimizer, metric);
%显示配准的图像
figure();
imshowpair(img_A, moving, 'Scaling', 'joint');