Matlab imwarp,图像不合适

时间:2013-06-25 13:24:06

标签: image matlab

我正在使用Matlab R2013a来对齐两个相似的图像。输出看起来很好,但两个图像由于x,y错位而不适合。我认为这是由于图像的旋转造成的。是否有一种简单的方法可以使图像“居中”,这样在仿射变换后两个图像都可以叠加?

Transformation = imregtform(uint8(A),uint8(B),'affine', ...
                        optimizer,metric);
[X RB] = imwarp(A,Transformation,'OutputView',imref2d(size(A)));

B是原始图像。 A被注册到B.在仿射变换之后,X包含旋转和缩放的图像,但需要在x和y轴上对齐以完全适合A.

感谢任何提示! 都灵

2 个答案:

答案 0 :(得分:3)

在OutputView中,您需要大小(B),因为B是您的参考图像,并且您希望重新采样的A版本与B具有相同的大小。

答案 1 :(得分:1)

设置imwarp函数X的输出图像的大小,与要覆盖X的输入图像B的输出图像的大小相同。

X = imwarp(A, Transformation, 'OutputView', imref2d( size(B) ));

然后,您可以使用imfuse重叠两张图片并使用imshow显示:

falseColorOverlay = imfuse( B, X);
imshow( falseColorOverlay, 'initialMagnification', 'fit');

B将为绿色,而X将为品红色。