Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Fourier-Transformation | Bildverarbeitung mit OpenCV
Grundlagen der Computer Vision

bookFourier-Transformation

Note
Definition

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 es, ein Bild vom räumlichen Bereich (in dem Pixelwerte direkt dargestellt werden) in den Frequenzbereich zu transformieren (wo Muster und Strukturen anhand ihrer Frequenz analysiert werden). Dies ist nützlich für Aufgaben wie Bildfilterung, Kantenerkennung und Rauschunterdrückung.

Zuerst muss das Bild in Graustufen umgewandelt werden:

gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Note
Hinweis

Wir verwenden COLOR_BGR2GRAY, da Bilder hauptsächlich im BGR-Format eingelesen werden, was die umgekehrte Reihenfolge von RGB ist.

Zur 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 die Mitte.

Zur 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 große Skalenschwankungen aufweisen.

Aufgabe

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_image und Speicherung in der Variable dft;
  • 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

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain why we use the frequency domain for image processing?

What are some practical applications of the magnitude spectrum?

How do I interpret the magnitude spectrum visually?

close

Awesome!

Completion rate improved to 3.45

bookFourier-Transformation

Swipe um das Menü anzuzeigen

Note
Definition

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 es, ein Bild vom räumlichen Bereich (in dem Pixelwerte direkt dargestellt werden) in den Frequenzbereich zu transformieren (wo Muster und Strukturen anhand ihrer Frequenz analysiert werden). Dies ist nützlich für Aufgaben wie Bildfilterung, Kantenerkennung und Rauschunterdrückung.

Zuerst muss das Bild in Graustufen umgewandelt werden:

gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Note
Hinweis

Wir verwenden COLOR_BGR2GRAY, da Bilder hauptsächlich im BGR-Format eingelesen werden, was die umgekehrte Reihenfolge von RGB ist.

Zur 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 die Mitte.

Zur 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 große Skalenschwankungen aufweisen.

Aufgabe

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_image und Speicherung in der Variable dft;
  • 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

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2
single

single

some-alt