Совместите серию изображений вместе в Matlab - PullRequest
1 голос
/ 01 марта 2012

Я пытаюсь выровнять серию изображений вместе в Matlab.

У меня есть серия изображений, которые очень похожи друг на друга. Они слегка смещены в направлении x или y. Все изображения имеют 4 перекрестия в каждом углу изображения, чтобы помочь с выравниванием. Я хотел бы выровнять их так, чтобы вся серия лежала поверх всех четырех перекрестий. Я также хотел бы обрезать любые различия между файлами после их выравнивания.

Я пытался заставить выравнивание работать, но я не могу понять это в Matlab.

Вот два примера изображений. [1] [2]

Спасибо за вашу помощь!

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Полагаю, регистрация изображения - это то, что вы можете искать.

0 голосов
/ 10 июля 2012

Попробуйте

%size(img2) <= size(img1) 

img1 = 255-mean(imread('a1.png'),3); 
img2 = 255-mean(imread('a2.png'),3); 

c = normxcorr2(img2,img1); 
[y x] = find(c==max(c(:))); 
y = y-size(img2,1); 
x = x-size(img2,2); 

T = maketform('affine',[1 0 x;0 1 y; 0 0 1]'); 
img2N = imtransform(img2,T,'xdata',[1 size(img1,2)],'ydata',[1 size(img1,1)]); 
imagesc(max(img1,img2N));
axis image 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...