Fourier-Transformation und Fourier-Deskriptoren zu extrahieren, Formen, Funktionen auf Java

Ich versuche zu bauen, ein einfaches system zu erkennen einfache Formen, die mit der Fourier-Deskriptoren:
Ich bin mit dieser Implementierung der Schnellen fourier-Transformation auf meinem Programm: (link unten)

http://www.wikijava.org/wiki/The_Fast_Fourier_Transform_in_Java_%28part_1%29

fft(double[] inputReal, double[] inputImag, boolean direction)

Eingaben sind: real und imag Teil (die im wesentlichen in x -, y-Koordinaten der Grenz-parameter habe ich)
- und Ausgänge sind die transformierten real und imag zahlen.

Frage: Wie kann ich mit dem output (transformierte real,imag ) als invariante Deskriptoren meiner einfachen Formen?

Das war, was ich dachte :

  • berechnen R = sqrt( real^2 + imag^2 ) für jedes N Schritte.
  • teilen jeden R durch R[1] = die Normalisierung Faktor zu machen, invariant.

Das problem ist ich bekomme sehr unterschiedliche R-Werte für leicht unterschiedliche Bilder (wie das leichte Rotationen angewendet, etc)

In anderen Worten :

Mein Deskriptoren sind nicht invariant... ich denke, ich mache etwas falsch mit dem bekommen der R-Wert.

  • Eine geniale Website für fourier-Reihe,nehmen Sie einen Blick auf dieses Fourier Series
InformationsquelleAutor user1356658 | 2012-04-25
Schreibe einen Kommentar