2013-06-25 207 views
2

我使用Matlab R2013a來對齊兩個相似的圖像。輸出看起來很好,但由於x,y未對齊,兩張圖像都不適合。我認爲這是由於圖像的旋轉。是否有一種簡單的方法可以將圖像「居中」,以便在仿射變換後兩幅圖像都可以疊加?Matlab imwarp,圖像不適合

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.

感謝您的任何提示! 都靈

+0

你是如何指定'optimizer'和'metric'的? – Floris

+0

[優化器,公制] = imregconfig('multimodal'); – Durin

回答

3

在OutputView你想要的大小(B),因爲B是你的參考圖像和你想的重採樣版本具有相同的大小B.

0

設置imwarp功能的輸出圖像的大小,X,與您想疊加X的輸入圖像B相同。

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

然後可以使用​​重疊兩個圖像,並使用imshow顯示它:

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

B將被標記爲綠色,而X則是彩色的洋紅色。