Fourier-transformasjon
Fourier-transformasjonen (FT) er et grunnleggende matematisk verktøy som brukes i bildebehandling for å analysere frekvenskomponentene i et bilde.
Den lar oss transformere et bilde fra romlig domene (der pikselverdier er representert direkte) til frekvensdomene (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:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Vi brukte COLOR_BGR2GRAY
fordi bilder hovedsakelig leses inn i BGR-format, som er motsatt av RGB.
For å beregne 2D Fourier-transformasjonen:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Her konverterer fft2()
bildet fra romdomenet til frekvensdomenet, og fftshift()
flytter lavfrekvente komponenter til midten.
For å visualisere magnitudespesktret:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Siden Fourier-transformasjonen gir komplekse tall som utdata, tar vi absoluttverdiene (np.abs()
) for en meningsfull visualisering.
Funksjonen np.log
forbedrer synligheten, ettersom rå magnitudeverdier 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
; - Bruk Fourier-transformasjon på
gray_image
og lagre resultatet i variabelendft
; - Utfør nullfrekvensforskyvning til sentrum og lagre resultatet i variabelen
dft_shift
; - Beregn et magnitüdespektrum og lagre det i variabelen
magnitude_spectrum
.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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?
Awesome!
Completion rate improved to 3.45
Fourier-transformasjon
Sveip for å vise menyen
Fourier-transformasjonen (FT) er et grunnleggende matematisk verktøy som brukes i bildebehandling for å analysere frekvenskomponentene i et bilde.
Den lar oss transformere et bilde fra romlig domene (der pikselverdier er representert direkte) til frekvensdomene (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:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Vi brukte COLOR_BGR2GRAY
fordi bilder hovedsakelig leses inn i BGR-format, som er motsatt av RGB.
For å beregne 2D Fourier-transformasjonen:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Her konverterer fft2()
bildet fra romdomenet til frekvensdomenet, og fftshift()
flytter lavfrekvente komponenter til midten.
For å visualisere magnitudespesktret:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Siden Fourier-transformasjonen gir komplekse tall som utdata, tar vi absoluttverdiene (np.abs()
) for en meningsfull visualisering.
Funksjonen np.log
forbedrer synligheten, ettersom rå magnitudeverdier 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
; - Bruk Fourier-transformasjon på
gray_image
og lagre resultatet i variabelendft
; - Utfør nullfrekvensforskyvning til sentrum og lagre resultatet i variabelen
dft_shift
; - Beregn et magnitüdespektrum og lagre det i variabelen
magnitude_spectrum
.
Løsning
Takk for tilbakemeldingene dine!
single