I was going though the image registration code based on Fast Fourier Transform (FFT). Very well implemented code. Thank you for sharing it. It is helping in understanding how to implement the image registration.
I would like to know why do we use the transform function (transformImage) in your code??
In the paper'An FFT based Technique for Translation, Rotation and Scale-invariant Image Registration' it is mention about Image transform using bilinear interpolation. Why do we need such transform? Is this transformation Bilinear interpolation?
what is the need to pass the fft shifted signal through the high pass filter, given by the lines shown below?
IA = hipass_filter(size(I1, 1),size(I1,2)).*abs(FA);
IB = hipass_filter(size(I2, 1),size(I2,2)).*abs(FB);
transform image function that u have used
L1 = transformImage(IA, SizeX, SizeY, SizeX, SizeY, 'nearest', size(IA) / 2, 'valid');
can also be done as say
a= log(1+abs|fft2(I)|), so why the long procedure needs to be computed?