Fourier Transform y Fourier Descriptors para extraer características de formas en Java

Estoy tratando de construir un sistema simple para reconocer formas simples utilizando los descriptores de Fourier: estoy usando esta implementación de la transformación rápida de Fourier en mi programa: (enlace a continuación)
http://www.wikijava.org/wiki/The_Fast_Fourier_Transform_in_Java_%28part_1%29

<code>fft(double[] inputReal, double[] inputImag, boolean direction)
</code>

las entradas son: parte real e imag (que son esencialmente las coordenadas x, y del parámetro de límite que tengo) y las salidas son los números reales e imag transformados.

Pregunta: ¿Cómo puedo usar la salida (transformada real, imag) como descriptores invariables de mis formas simples?

Esto fue lo que pensé:

calcularR = sqrt( real^2 + imag^2 ) para cada n pasos.dividir cadaR porR[1] = El factor de normalización para hacerlo invariante.

El problema es que obtengo valores R muy diferentes para imágenes ligeramente diferentes (como rotaciones ligeras aplicadas, etc.)

En otras palabras :
Mis descriptores no son invariantes ... Creo que estoy haciendo algo mal al obtener el valor R

Respuestas a la pregunta(2)

Su respuesta a la pregunta