Is there a better Fourier Transform-based algorithm to use in Image recognition
The Fourier Transform is good for picking up some similarities between images: 


Shifts in $x$ and $y$ are just phase changes in the Fourier domain.
Rotations in the $x-y$ plane cause rotations in the Fourier domain.


So, if this is what you are trying to achieve, then it makes sense.

See this paper for a performance analysis of doing this using the following algorithm