single
Fourier-Transformation
Swipe um das Menü anzuzeigen
Die Fourier-Transformation (FT) ist ein grundlegendes mathematisches Werkzeug, das in der Bildverarbeitung verwendet wird, um die Frequenzkomponenten eines Bildes zu analysieren.
Sie ermöglicht die Umwandlung eines Bildes vom Ortsbereich (in dem die 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:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Wir verwenden COLOR_BGR2GRAY, da Bilder hauptsächlich im BGR-Format eingelesen werden, was die umgekehrte Reihenfolge von RGB ist.
Berechnung der 2D-Fourier-Transformation:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Hier wandelt fft2() das Bild vom Ortsbereich in den Frequenzbereich um, und fftshift() verschiebt die niederfrequenten Komponenten in das Zentrum.
Visualisierung des Betragsspektrums:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Da die Fourier-Transformation komplexe Zahlen liefert, werden für eine sinnvolle Visualisierung die Betragswerte (np.abs()) verwendet.
Die Funktion np.log verbessert die Sichtbarkeit, da die Rohwerte des Betrags stark variieren können.
Swipe to start coding
Gegeben ist ein image:
- Umwandlung des Bildes in Graustufen und Speicherung in der Variable
gray_image; - Anwendung der Fourier-Transformation auf
gray_imageund Speicherung in der Variabledft; - Verschiebung der Nullfrequenz in die Mitte und Speicherung des Ergebnisses in der Variable
dft_shift; - Berechnung des Betragsspektrums und Speicherung in der Variable
magnitude_spectrum.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen