Ich arbeite an einer Bildverarbeitungsanwendung, die eine diskrete Fourier-Transformation verwendet, um Unschärfe / Schärfen zu implementieren. Die Anwendung funktioniert mehr oder weniger, aber etwas an der Mechanik verwirrt mich immer noch.
Insbesondere wird auf diese Weise der Prozess des Zentrierens der Nullfrequenzen durchgeführt.
In dem Beispiel, das ich gesehen habe, wird das Eingabebild (mit Graustufenintensitäten) vorverarbeitet, indem es mit einer Matrix der Größe multipliziert wird, die dem Eingabebild entspricht, dessen Werte , wobei x die Zeile, y die Spalte ist. also ein Muster abwechselnd 1 und - 1
Gemäß den Anmerkungen entspricht dies dem Vertauschen der Quadranten der Matrix durch Umdrehen der und y- Achse.
Ich verstehe, warum dies getan wird, und ich möchte betonen, dass ich verstehe, dass mein Code / Fourier-Zeug funktioniert. Ich verstehe nur nicht, warum das Multiplizieren der Eingabematrix mit 1 / -1 dazu führt, dass die Nullfrequenzkomponente um 0 zentriert wird.
Vielen Dank
. Die Fourier-Transformation sieht so aus:
) durchführen, ergibt sich ein einzelner Punkt genau in der Mitte der Fourier-Transformation :
. (Denken Sie daran, dass wir unsere Rotation noch nicht durchgeführt haben. Das Zentrum der Fourier-Transformation sind also die hohen Frequenzen und die niedrigen Frequenzen befinden sich immer noch an den Ecken.) Aber dies ist der "Rotationskern"! Wenn Sie sich mit diesem Rotationskern befassen, wird alles nach unten und rechts verschoben (aber Dinge, die von unten rechts abfallen, drehen sich nach oben links.)
Während Sie das Fourier-Transformationsbild mit dem Rotationskern (im Frequenzbereich) falten, erhalten Sie :
.
, was eine Fourier-Transformation von: hat