Overlapping Images

Single Point Match

Identify one matching point in each image. This defines a translational overlap.

Given

  m1       583x424      1977536  double array
  m2       545x424      1848640  double array

Overlap is determined from a common point located in each image using xv

       x     y
 m1  226   516
 m2  165    79
--------------
      61   437

matlab code:

 
c1=zeros(1000,500);
c1(1:583,1:424)=m1;
c2=zeros(1000,500);
xoff = 61;
yoff=437;
c2((1+yoff):(545+yoff),(1+xoff):(424+xoff))=m2;
c = c1 + c2 - c1.*c2;
tiffwrite(c,'join.tif');

A small section of the overlap region is shown below. The section is enlarged by a factor of four.

The overlap takes the complement of the product of the complemented images:

out = 1 - (1-m1)*(1-m2)

out = m1 + m2 - m1*m2

The following shows an overlapped section where one image is displaced 5 pixels horizontally. The section is enlarged by a factor of four.

Cross Correlation (large scale)

cross correlation of original images

The cross-correlation image below is scaled by 1/4 in size.

No sign of a secondary peak

edge-gradient images

cross-correlation of edge-gradient images

The cross-correlation image below is scaled by 1/4 in size.

still no sign of a secondary peak

Cross Correlation (small-scale)

Extract common regions from each image

overlap image

Cross correlation of original images

Cross correlation of edge-gradient images

There is a secondary peak in the above image located (-5,9) pixels from the center, but it is much clearer in the following image.


Maintained by John Loomis, last updated July 22, 1997