single
Fouriertransformasjon
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 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:
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 romlig domene til frekvensdomene, og fftshift() flytter lavfrekvente komponenter til sentrum.
For å visualisere magnitudespesktret:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Siden Fourier-transformasjonen gir komplekse tall, benyttes absoluttverdier (np.abs()) for 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; - Utfør Fourier-transformasjon på
gray_imageog lagre resultatet i variabelendft; - Utfør nullfrekvensforskyvning til sentrum og lagre resultatet i variabelen
dft_shift; - Beregn et magnitudspektrum 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