Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Fourier-Muunnos | Kuvankäsittely OpenCV:llä
Tietokonenäön Perusteet

bookFourier-Muunnos

Note
Määritelmä

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)
Note
Huomio

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.

Tehtävä

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 muuttujaan dft;
  • Siirrä nollataajuus spektrin keskelle ja tallenna tulos muuttujaan dft_shift;
  • Laske magnitude spectrum ja tallenna se muuttujaan magnitude_spectrum.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

Awesome!

Completion rate improved to 3.45

bookFourier-Muunnos

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

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)
Note
Huomio

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.

Tehtävä

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 muuttujaan dft;
  • Siirrä nollataajuus spektrin keskelle ja tallenna tulos muuttujaan dft_shift;
  • Laske magnitude spectrum ja tallenna se muuttujaan magnitude_spectrum.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2
single

single

some-alt