Fourier-Transformation
Ermöglicht die Umwandlung eines Bildes vom räumlichen Bereich (in dem Pixelwerte direkt dargestellt werden) in den Frequenzbereich (in dem Muster und Strukturen anhand ihrer Frequenz analysiert werden). Dies ist nützlich für Aufgaben wie Bildfilterung, Kantenerkennung und Rauschunterdrückung.
Zunächst muss das Bild in Graustufen umgewandelt werden:
Zur Berechnung der 2D-Fourier-Transformation:
Hier wandelt fft2()
das Bild vom räumlichen Bereich in den Frequenzbereich um, und fftshift()
verschiebt die niederfrequenten Komponenten in die Mitte.
Zur Visualisierung des Betragsspektrums:
Da die Fourier-Transformation komplexe Zahlen ausgibt, werden für eine sinnvolle Visualisierung die Betragswerte (np.abs()
) verwendet.
Die Funktion np.log
verbessert die Sichtbarkeit, da die Rohbetragswerte stark in ihrer Größenordnung variieren.
Swipe to start coding
Gegeben ist ein image
:
- Bild in Graustufen umwandeln und im Variable
gray_image
speichern; - Fourier-Transformation auf
gray_image
anwenden und im Variabledft
speichern; - Nullfrequenzverschiebung zum Zentrum durchführen und das Ergebnis im Variable
dft_shift
speichern; - Magnitudenspektrum berechnen und im Variable
magnitude_spectrum
speichern.
Lösung
Danke für Ihr Feedback!