Transformada de Fourier e Descritores de Fourier para extrair características de formas em Java

Eu estou tentando construir um sistema simples para reconhecer formas simples usando descritores de Fourier: Estou usando esta implementação de Fast Fourier Transform no meu programa: (link abaixo)
http://www.wikijava.org/wiki/The_Fast_Fourier_Transform_in_Java_%28part_1%29

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

as entradas são: real e imag part (que são essencialmente x, y coordenadas do parâmetro boundary) e outputs são os números real e imag transformados.

pergunta: Como posso usar a saída (transformada real, imag) como um descritivo invariante de minhas formas simples?

Isso foi o que eu pensei:

calcularR = sqrt( real^2 + imag^2 ) para cada N passos.dividir cadaR porR[1] = o fator de normalização para torná-lo invariante.

O problema é que eu recebo valores de R muito diferentes para imagens ligeiramente diferentes (como pequenas rotações aplicadas, etc)

Em outras palavras :
Meus descritores não são invariantes ... Acho que estou fazendo algo errado com a obtenção do valor R.

questionAnswers(2)

yourAnswerToTheQuestion