Fourier-Transformation und Fourier-Deskriptoren zum Extrahieren von Shapes-Features auf Java
Ich versuche, ein einfaches System zum Erkennen einfacher Formen mithilfe von Fourier-Deskriptoren zu erstellen: Ich verwende diese Implementierung der Fast Fourier-Transformation in meinem Programm: (Link unten)
http://www.wikijava.org/wiki/The_Fast_Fourier_Transform_in_Java_%28part_1%29
<code>fft(double[] inputReal, double[] inputImag, boolean direction) </code>
Eingaben sind: Real- und Imageteil (die im Wesentlichen x, y-Koordinaten des Grenzparameters sind, den ich habe) und Ausgaben sind die transformierten Real- und Imagezahlen.
frage: Wie kann ich die Ausgabe (transformierte reelle, imaginäre) als invariante Deskriptoren meiner einfachen Formen verwenden?
Das dachte ich mir:
BerechnungR = sqrt( real^2 + imag^2 )
für jeweils N Schritte.teile jedesR
durchR[1]
= der Normalisierungsfaktor, um es invariant zu machen.Das Problem ist, dass ich sehr unterschiedliche R-Werte für leicht unterschiedliche Bilder erhalte (z. B. leichte Rotationen usw.)
Mit anderen Worten :
Meine Deskriptoren sind nicht unveränderlich ... Ich glaube, ich mache etwas falsch, wenn ich den R-Wert erhalte.