Fourier-transformering
Fourier-transformen (FT) er et grundlæggende matematisk værktøj, der anvendes i billedbehandling til at analysere frekvenskomponenterne i et billede.
Den gør det muligt at transformere et billede fra rummet (hvor pixelværdier er repræsenteret direkte) til frekvensdomænet (hvor vi analyserer mønstre og strukturer baseret på deres frekvens). Dette er nyttigt til opgaver som billedfiltrering, kantdetektion og støjreduktion.
Først skal vi konvertere billedet til gråtoner:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Vi brugte COLOR_BGR2GRAY
, fordi billeder primært læses i BGR-format, hvilket er omvendt af RGB.
For at beregne 2D Fourier-transformen:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Her konverterer fft2()
billedet fra rumdomænet til frekvensdomænet, og fftshift()
flytter lavfrekvente komponenter til midten.
For at visualisere magnitudespektret:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Da Fourier-transformen giver komplekse tal som output, tages absolutte værdier (np.abs()
) for en meningsfuld visualisering.
Funktionen np.log
forbedrer synligheden, da rå magnitudværdier varierer meget i skala.
Swipe to start coding
Du får et image
:
- Konverter billedet til gråtoner og gem det i variablen
gray_image
; - Anvend Fourier-transform på
gray_image
og gem resultatet i variablendft
; - Udfør nul-frekvensskift til centrum og gem resultatet i variablen
dft_shift
; - Beregn et magnitudespektrum og gem det i variablen
magnitude_spectrum
.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.45
Fourier-transformering
Stryg for at vise menuen
Fourier-transformen (FT) er et grundlæggende matematisk værktøj, der anvendes i billedbehandling til at analysere frekvenskomponenterne i et billede.
Den gør det muligt at transformere et billede fra rummet (hvor pixelværdier er repræsenteret direkte) til frekvensdomænet (hvor vi analyserer mønstre og strukturer baseret på deres frekvens). Dette er nyttigt til opgaver som billedfiltrering, kantdetektion og støjreduktion.
Først skal vi konvertere billedet til gråtoner:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Vi brugte COLOR_BGR2GRAY
, fordi billeder primært læses i BGR-format, hvilket er omvendt af RGB.
For at beregne 2D Fourier-transformen:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Her konverterer fft2()
billedet fra rumdomænet til frekvensdomænet, og fftshift()
flytter lavfrekvente komponenter til midten.
For at visualisere magnitudespektret:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Da Fourier-transformen giver komplekse tal som output, tages absolutte værdier (np.abs()
) for en meningsfuld visualisering.
Funktionen np.log
forbedrer synligheden, da rå magnitudværdier varierer meget i skala.
Swipe to start coding
Du får et image
:
- Konverter billedet til gråtoner og gem det i variablen
gray_image
; - Anvend Fourier-transform på
gray_image
og gem resultatet i variablendft
; - Udfør nul-frekvensskift til centrum og gem resultatet i variablen
dft_shift
; - Beregn et magnitudespektrum og gem det i variablen
magnitude_spectrum
.
Løsning
Tak for dine kommentarer!
single