AUTOPOSITION automatically registers two images.
[image1 image2] = AUTOPOSITION(image1, image2) will register image1 to
image2. Image2 must be smaller in both dimensions than image2. Image1
is cropped to image2's size, and image2 may be cropped if it is found to
lie outside of image1. Most of the code is taken from an Image
Processing Toolbox demo, but some extra lines have been added for
robustness. Both images must be grayscale images.
[image1 image2 offset] = AUTOPOSITION(image1, image2) returns the offset
generated by the normxcorr2 function.
Example:
---------------
% If you have the IP Toolbox 4.0, you may have to change the TIF
% extenstions to PNG
im1 = imread('bacteria.tif');
im2 = im1(50:170, 100:150);
figure, subplot(2,2,1), imagesc(im1, [0 239]), title('Original')
axis image
subplot(2,2,2), imagesc(im2, [0 239]), axis image, title('Cropped')
[im3 im4 offset] = autoposition(im1, im2);
subplot(2,2,3), imagesc(im3, [0 239]), axis image, title('Aligned')
subplot(2,2,4), imagesc(imsubtract(im4,im3), [-5 5]), axis image, colorbar
title('Difference of registered images');
offset