计算两个矩阵的互相关系数,可以应用于计算两幅近似图片之间的偏移量。
% imoffset.m
% Calculate image offset
% by Xiaozhou
imagefile='image-';
% Region for comparison
xc1=10;
yc1=10;
xc2=90;
yc2=90;
width=xc2-xc1+1;
height=yc2-yc1+1;
% images serial no.
istart=1;
iend=50;
iref=50; % use the last image as the reference
nim=iend-istart+1;
% initial offset
offx=zeros(1,nim);
offy=zeros(1,nim);
imref=imread([imagefile num2str(iref,'%03d') '.tif']);
region0=imref(yc1:yc2,xc1:xc2);
for i=1:nim
im=imread([imagefile num2str(i+istart-1,'%03d') '.tif']);
region=im(((yc1-20):(yc2+20)),((xc1-20):(xc2+20)));
imcorr=normxcorr2(region0,region);
[corrmax,imax]=max(imcorr(:));
[ypeak, xpeak] = ind2sub(size(imcorr),imax);
offx(i)=offx(i)+xpeak-width-20;
offy(i)=offy(i)+ypeak-height-20;
end