Laboratorul 09

Detecția Pixelilor de Frontieră

Pixelii de frontieră

Pixelii de frontieră sunt pixeli în care intensitatea imaginii se schimbă brusc. Aceștia alcătuiesc frontierele din imagine. Frontierele pot reprezenta obiecte subțiri (linii) sau pixelii aflați la adiacența a două zone din imagine cu intensități diferite.

Majoritatea metodelor de extragere a frontierelor presupun efectuarea următoarelor etape:

  1. Detectia pixelilor de front.
  2. Eliminarea pixelilor de front falși.
  3. Conectarea pixelilor de front pentru a forma frontiere.

Detecția pixelilor de front este bazată pe gradientul imaginii sau pe Laplacianul imaginii. Se utilizează operatori care aproximează în planul discret Gradientul sau Laplacianul funcției imagine. Operatorii sunt reprezentați prin măști de convoluție de dimensiune mică (3×3) și sunt sensibili la zgomot (pot produce puncte de front false).

Cei mai utilizati detectori de fronturi bazați pe gradient sunt:

  • Roberts
  • Sobel
  • Prewitt

Detectorul Sobel

Gradientul este aproximat prin convoluția imaginii cu următoarele măști:

Pixelul (x,y) în care se calculează gradientul este cel pe care este centrată masca. Dacă I este imaginea de intrare:

Dx (x, y) = I(x+1, y+1) + 2* I(x+1, y) + I(x+1, y-1) – I(x-1, y+1) – 2* I(x-1, y) – I(x-1, y-1)
Dy (x, y) = I(x+1, y+1) + 2* I(x, y+1) + I(x-1, y+1) – I(x+1, y-1) – 2* I(x, y-1) – I(x-1, y-1)

Măștile sunt proiectate pentru răspuns maxim la frontiere verticale si orizontale. Masca Dx evidențiază frontierele orizontale (Dx=0), iar Dy frontierele verticale (Dy=0). Amplitudinea gradientului este aproximată prin: D(x,y) = |Dx| + |Dy|.

Extragerea frontierelor pe baza punctelor de frontieră

Pași:

  1. Detectia pixelilor de frontieră
  2. Eliminarea falselor puncte de frontieră
  3. Conectarea punctelor de frontieră validate pentru a forma frontiere

Metode existente:

  • Metode locale, care utilizează relațiile dintre pixelii de front vecini, bazate pe amplitudinea și direcția frontului. Exemplu: detectorul Canny
  • Metode globale, care se bazează pe cunoașterea formei geometrice sau a ecuației matematice a frontierelor. Exemplu: Transformata Hough

Detectorul Canny de Extragere a Frontierelor

În cadrul acestui laborator, veți implementa o versiune simplificată a algoritmului Canny!

  1. Reducere zgomote. Se aplică imaginii de intrare un filtru Gaussian.
  2. Detecție puncte de front. Se convertește rezultatul obținut la pasul 1 în grayscale, apoi se aplică operatorul Sobel pentru a calcula amplitudinea gradientului.
  3. Hysteresis thresholding pentru subțierea frontierelor cu un singur prag. Se elimină toate valorile mai mici decât un anumit prag setat de voi.

Cerinte laborator

  1. Implementați pe CPU sau pe GPU folosind framebuffere algoritmul Canny simplificat:
    1. Aplicați blur pe imagine
    2. Aplicați grayscale
    3. Aplicați detectorul Sobel
    4. Aplicați un singur treshhold de binarizare
spg/laboratoare/09.txt · Last modified: 2023/12/08 08:13 by andrei.lambru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0