Fourier-transformasjon
Dette gjør det mulig å transformere et bilde fra romdomenet (der pikselverdier er representert direkte) til frekvensdomenet (der vi analyserer mønstre og strukturer basert på deres frekvens). Dette er nyttig for oppgaver som bildefiltrering, kantdeteksjon og støyreduksjon.
Først må vi konvertere bildet til gråtoner:
For å beregne 2D Fourier-transformasjonen:
Her konverterer fft2()
bildet fra romdomenet til frekvensdomenet, og fftshift()
flytter lavfrekvente komponenter til sentrum.
For å visualisere magnitudespesktret:
Siden Fourier-transformasjonen gir komplekse tall, tar vi absoluttverdiene (np.abs()
) for en meningsfull visualisering.
Funksjonen np.log
forbedrer synligheten, ettersom råverdiene for størrelsen varierer mye i skala.
Swipe to start coding
Du har fått et image
:
- Konverter bildet til gråtoner og lagre det i variabelen
gray_image
; - Utfør Fourier-transformasjon på
gray_image
og lagre resultatet i variabelendft
; - Utfør nullfrekvensforskyvning til sentrum og lagre resultatet i variabelen
dft_shift
; - Beregn et magnitdespektrum og lagre det i variabelen
magnitude_spectrum
.
Løsning
Takk for tilbakemeldingene dine!