我正试图在matlab中将一系列图像对齐。
我有一系列彼此非常相似的图像。它们在x或y方向上略微偏移。图像的每个角上都有4个十字准线,以帮助对齐。我想将它们对齐,使整个系列位于所有四个十字准线的顶部。我还希望在文件对齐后找出文件之间的任何差异。
我一直在努力让对齐工作,但我似乎无法在matlab中找到它。
感谢您的帮助!
答案 0 :(得分:1)
我猜image registration是您可能正在寻找的。 p>
答案 1 :(得分:0)
尝试
%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