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?
24 Apr 2014
Generates Gabor filters using bandwidth, aspect ratio, phase, wavelength and angle as parameters.
I would like to ask the following question. I have used this filter with an image of all ones (imgin = ones(100,100)).
I get an image that consists entirely of ones, although my original image has no edges. Could you please explain what am I doing wrong or is this the normal behaviour of this filter?