2012-07-17 54 views
1

MATLAB(R2010a)(Image1和Image2)中註冊兩個圖像後,我似乎無法弄清楚如何獲得翻譯正確。該算法已經過測試並可與其他程序一起使用。這裏有一些相關的片段。在MATLAB中的圖像轉換

TForm = maketform('affine', Transform); 

info = imfinfo('Image1.bmp'); 

Reg = imtransform(Image1, TForm,... 
      'XData', [1 (size(Image1,2)+Transform(3,1))],... 
      'YData', [1 (size(Image1,1)+Transform(3,2))],... 
      'FillValues', 255); 

figure('Name', 'Reg'),... 
imshow(Reg, 'InitialMagnification', 250); 

imwrite(Reg, 'Reg.bmp', 'bmp'); 

hold on 

H = imshow(Image2, gray(256)); 
set(H, 'AlphaData', 0.6) 

這時候我註冊圖像1到圖像1,只有當我嘗試註冊此搜索到鏡像2(或者反過來)不會發生。我有相同的代碼在C中,似乎工作正常。我相信這跟我的imtransform功能有關。

嗯,我相信它必須採取一些措施來應對轉型。我用Image1直接註冊Image1(關於center of mass旋轉了15度),並且它沒有做正確的轉換。轉換輸出是:

Transform = 

0.9676 -0.2557   0 
0.2596 0.9694   0 
32.7217 -25.5110 1.0000 

如果我輸入這個到圖像註冊程序,它工作得很好。下面是一個例子圖像我沒有剛纔,

Example of strange MATLAB registration

A =原始圖像,B =旋轉的原稿圖像,C =原稿圖像轉化。

轉換是正確的(使用FMRIB's-FLIRT註冊軟件進行測試)。將MATLAB應用於圖像時,MATLAB必須做一些不同的事情。

+1

我認爲你需要更精確地指定你的問題。翻譯有什麼問題?也許你可以舉一些例子圖片。目前我真的不明白問題在哪,並且很難幫助你。 – Ghaul 2012-07-18 07:16:43

+0

這可能是一個愚蠢的問題,但我怎麼上傳圖片到一個線程?我似乎無法弄清楚這一點。 – Shinobii 2012-07-19 03:12:53

+0

當你編輯你的問題只需按下文本框上方的圖像圖標,或按「Ctrl + G」。 – Ghaul 2012-07-19 08:24:31

回答

1

旋轉矩陣的符號相反。