Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Reunojen Tunnistus | Osio
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Soveltava tietokonenäkö
Osio 1. Luku 10
single

single

bookReunojen Tunnistus

Pyyhkäise näyttääksesi valikon

Reunat kuvaavat äkillisiä muutoksia pikselin intensiteetissä, jotka yleensä vastaavat objektien rajoja. Reunojen tunnistaminen auttaa muodon tunnistuksessa ja segmentoinnissa.

Sobel-reunantunnistus

Sobel-operaattori laskee gradientit (intensiteetin muutokset) sekä X- että Y-suunnassa, mikä auttaa tunnistamaan vaaka- ja pystysuorat reunat.

# Convert to grayscale
image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

# Apply Sobel filter
sobel_x = cv2.Sobel(image, cv2.CV_64F, 1, 0, ksize=5)  # Detects vertical edges
sobel_y = cv2.Sobel(image, cv2.CV_64F, 0, 1, ksize=5)  # Detects horizontal edges
sobel_combined = cv2.magnitude(sobel_x, sobel_y)  # Combines both directions
Note
Huomio

Keskeiset parametrit:

  • src: syötekuva (oltava harmaasävykuva);
  • ddepth: tuloskuvan bittisyvyys (esim. cv2.CV_64F);
  • dx: derivaatan aste X-suunnassa (aseta 1 vaakareunoille);
  • dy: derivaatan aste Y-suunnassa (aseta 1 pystyreunoille);
  • ksize: ytimen koko (oltava pariton, esim. 3, 5, 7).

Canny-reunantunnistus

Canny-reunantunnistin on monivaiheinen algoritmi, joka tuottaa tarkemmat reunat seuraavasti:

  1. Kohinan poisto Gaussin suodatuksella.
  2. Intensiteettigradienttien etsiminen Sobel-suodattimilla.
  3. Heikkojen reunojen vaimennus.
  4. Kaksoiskynnysarvojen ja reunojen jäljitys.
# Apply Canny Edge Detector 
canny_image = cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)  
Note
Huomautus
  • image: syöteharmaasävykuva;
  • threshold1: alaraja reunojen havaitsemiselle (esim. 50);
  • threshold2: yläraja reunojen havaitsemiselle (esim. 150);
  • apertureSize (valinnainen): Sobel-ytimen koko (oletus: 3, oltava pariton);
  • L2gradient (valinnainen): käytä tarkempaa L2-normin gradienttilaskentaa (oletus: False).

Reunantunnistusmenetelmien vertailu:

reunantunnistuksen vertailu
Tehtävä

Swipe to start coding

Sinulle annetaan image:

  • Muunna kuva harmaasävykuvaksi ja tallenna se muuttujaan gray_image;
  • Käytä Sobel-suodatinta X- ja Y-suunnissa (tulosyvyys cv2.CV_64F ja ytimen koko 3) ja tallenna tulokset muuttujille sobel_x ja sobel_y;
  • Yhdistä Sobel-suodatetut suunnat muuttujaan sobel_img;
  • Käytä Canny-suodatinta kynnysarvoilla 200300 ja tallenna tulos muuttujaan canny_img.

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 1. Luku 10
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt