我正在使用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。
谢谢你的任何提示!持续时间
发布于 2013-06-27 10:42:55
在OutputView中,您需要大小( B ),因为B是您的参考图像,并且您希望A的重新采样版本具有与B相同的大小。
发布于 2015-09-09 05:30:00
设置imwarp
函数的输出图像X的大小,与要覆盖X的输入图像B的大小相同。
X = imwarp(A, Transformation, 'OutputView', imref2d( size(B) ));
然后,您可以使用imfuse
重叠这两个图像,并使用imshow
显示它
falseColorOverlay = imfuse( B, X);
imshow( falseColorOverlay, 'initialMagnification', 'fit');
B将显示为绿色,而X将显示为洋红色。
https://stackoverflow.com/questions/17298579
复制相似问题