2016-11-11 13 views
2

我想用MATLAB做基於翻譯的圖像註冊,所以我首先做了一個簡單的測試。在MATLAB中的圖像註冊功能不適用於簡單的測試

首先,我創建2個簡單的二進制圖像 enter image description here enter image description here

你可以看到有在這些2個圖像之間的垂直方向上的20像素的移位,然後我試圖2個函數來登記:

[optimizer,metric] = imregconfig('Monomodal'); 
tform = imregtform(img1,img2,'Translation',optimizer,metric); 
img1reg = imregister(img1,img2,'Translation',optimizer,metric); 

imregtform也沒有imregister工作; imregtform給出了恆等變換矩陣,並且imregister「img1reg」的輸出與輸入運動圖像「img1」完全相同。

我該如何解決這個問題?

這裏是我使用的代碼:

img1 = zeros(100, 20); 
img1(35:45,:) = 1; 
img2 = zeros(100, 20); 
img2(55:65,:) = 1; 
[optimizer,metric] = imregconfig('Monomodal'); 
tform = imregtform(img1,img2,'Translation',optimizer,metric); 
img1reg = imregister(img1,img2,'Translation',optimizer,metric); 
+0

有趣。我從來沒有使用這些功能,但直覺說他們應該工作。我試圖'親切',並給出了不是身份,但奇怪的東西。 –

回答

相關問題