Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Fouriertransformatie | Beeldverwerking met OpenCV
Essentiële Computer Vision

bookFouriertransformatie

Note
Definitie

De Fourier-transformatie (FT) is een fundamenteel wiskundig hulpmiddel dat wordt gebruikt bij beeldverwerking om de frequentiecomponenten van een afbeelding te analyseren.

Hiermee kunnen we een afbeelding transformeren van het ruimtelijk domein (waar pixelwaarden direct worden weergegeven) naar het frequentiedomein (waar patronen en structuren worden geanalyseerd op basis van hun frequentie). Dit is nuttig voor taken zoals beeldfiltering, randdetectie en ruisonderdrukking.

Eerst moeten we de afbeelding omzetten naar grijswaarden:

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

We gebruiken COLOR_BGR2GRAY omdat afbeeldingen meestal worden ingelezen in BGR-indeling, wat het omgekeerde is van RGB.

Voor het berekenen van de 2D Fourier-transformatie:

dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)

Hier zet fft2() de afbeelding om van het ruimtelijk domein naar het frequentiedomein, en verplaatst fftshift() de laagfrequente componenten naar het midden.

Voor het visualiseren van het magnitude spectrum:

magnitude_spectrum = 20 * np.log(np.abs(dft_shift))

Aangezien de Fourier-transformatie complexe getallen oplevert, nemen we de absolute waarden (np.abs()) voor een zinvolle visualisatie.

De functie np.log vergroot de zichtbaarheid, omdat de ruwe magnitude-waarden sterk in schaal variëren.

Taak

Swipe to start coding

Je krijgt een image:

  • Zet de afbeelding om naar grijswaarden en sla deze op in de variabele gray_image;
  • Pas de Fourier-transformatie toe op gray_image en sla deze op in de variabele dft;
  • Voer een nul-frequentieverschuiving uit naar het midden en sla het resultaat op in de variabele dft_shift;
  • Bereken een magnitude spectrum en sla deze op in de variabele magnitude_spectrum.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 2
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

Awesome!

Completion rate improved to 3.45

bookFouriertransformatie

Veeg om het menu te tonen

Note
Definitie

De Fourier-transformatie (FT) is een fundamenteel wiskundig hulpmiddel dat wordt gebruikt bij beeldverwerking om de frequentiecomponenten van een afbeelding te analyseren.

Hiermee kunnen we een afbeelding transformeren van het ruimtelijk domein (waar pixelwaarden direct worden weergegeven) naar het frequentiedomein (waar patronen en structuren worden geanalyseerd op basis van hun frequentie). Dit is nuttig voor taken zoals beeldfiltering, randdetectie en ruisonderdrukking.

Eerst moeten we de afbeelding omzetten naar grijswaarden:

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

We gebruiken COLOR_BGR2GRAY omdat afbeeldingen meestal worden ingelezen in BGR-indeling, wat het omgekeerde is van RGB.

Voor het berekenen van de 2D Fourier-transformatie:

dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)

Hier zet fft2() de afbeelding om van het ruimtelijk domein naar het frequentiedomein, en verplaatst fftshift() de laagfrequente componenten naar het midden.

Voor het visualiseren van het magnitude spectrum:

magnitude_spectrum = 20 * np.log(np.abs(dft_shift))

Aangezien de Fourier-transformatie complexe getallen oplevert, nemen we de absolute waarden (np.abs()) voor een zinvolle visualisatie.

De functie np.log vergroot de zichtbaarheid, omdat de ruwe magnitude-waarden sterk in schaal variëren.

Taak

Swipe to start coding

Je krijgt een image:

  • Zet de afbeelding om naar grijswaarden en sla deze op in de variabele gray_image;
  • Pas de Fourier-transformatie toe op gray_image en sla deze op in de variabele dft;
  • Voer een nul-frequentieverschuiving uit naar het midden en sla het resultaat op in de variabele dft_shift;
  • Bereken een magnitude spectrum en sla deze op in de variabele magnitude_spectrum.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 2
single

single

some-alt