Fourier-Muunnos
Fourier'n muunnos (FT) on keskeinen matemaattinen työkalu, jota käytetään kuvankäsittelyssä kuvan taajuuskomponenttien analysointiin.
Sen avulla voidaan muuntaa kuva avaruustasosta (jossa pikseliarvot esitetään suoraan) taajuustasoon (jossa analysoidaan kuvioita ja rakenteita niiden taajuuden perusteella). Tämä on hyödyllistä esimerkiksi kuvasuodatuksessa, reunojen tunnistuksessa ja kohinan vähentämisessä.
Ensin kuva täytyy muuntaa harmaasävykuvaksi:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Käytimme COLOR_BGR2GRAY
, koska kuvat luetaan pääasiassa BGR-muodossa, joka on RGB:n käänteinen järjestys.
Laskeaksesi 2D Fourier-muunnoksen:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Tässä fft2()
muuntaa kuvan tila-alueelta taajuusalueelle, ja fftshift()
siirtää matalataajuiset komponentit keskelle.
Suuruusspektrin visualisointi:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Koska Fourier-muunnos tuottaa kompleksilukuja, otetaan itseisarvot (np.abs()
) mielekkään visualisoinnin saamiseksi.
np.log
-funktio parantaa näkyvyyttä, koska alkuperäiset suuruusarvot vaihtelevat huomattavasti mittakaavassa.
Swipe to start coding
Sinulle on annettu image
:
- Muunna kuva harmaasävykuvaksi ja tallenna se muuttujaan
gray_image
; - Sovella Fourier'n muunnosta
gray_image
-muuttujaan ja tallenna tulos muuttujaandft
; - Siirrä nollataajuus spektrin keskelle ja tallenna tulos muuttujaan
dft_shift
; - Laske magnitude spectrum ja tallenna se muuttujaan
magnitude_spectrum
.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.45
Fourier-Muunnos
Pyyhkäise näyttääksesi valikon
Fourier'n muunnos (FT) on keskeinen matemaattinen työkalu, jota käytetään kuvankäsittelyssä kuvan taajuuskomponenttien analysointiin.
Sen avulla voidaan muuntaa kuva avaruustasosta (jossa pikseliarvot esitetään suoraan) taajuustasoon (jossa analysoidaan kuvioita ja rakenteita niiden taajuuden perusteella). Tämä on hyödyllistä esimerkiksi kuvasuodatuksessa, reunojen tunnistuksessa ja kohinan vähentämisessä.
Ensin kuva täytyy muuntaa harmaasävykuvaksi:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Käytimme COLOR_BGR2GRAY
, koska kuvat luetaan pääasiassa BGR-muodossa, joka on RGB:n käänteinen järjestys.
Laskeaksesi 2D Fourier-muunnoksen:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Tässä fft2()
muuntaa kuvan tila-alueelta taajuusalueelle, ja fftshift()
siirtää matalataajuiset komponentit keskelle.
Suuruusspektrin visualisointi:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Koska Fourier-muunnos tuottaa kompleksilukuja, otetaan itseisarvot (np.abs()
) mielekkään visualisoinnin saamiseksi.
np.log
-funktio parantaa näkyvyyttä, koska alkuperäiset suuruusarvot vaihtelevat huomattavasti mittakaavassa.
Swipe to start coding
Sinulle on annettu image
:
- Muunna kuva harmaasävykuvaksi ja tallenna se muuttujaan
gray_image
; - Sovella Fourier'n muunnosta
gray_image
-muuttujaan ja tallenna tulos muuttujaandft
; - Siirrä nollataajuus spektrin keskelle ja tallenna tulos muuttujaan
dft_shift
; - Laske magnitude spectrum ja tallenna se muuttujaan
magnitude_spectrum
.
Ratkaisu
Kiitos palautteestasi!
single