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.