Edge Following Algorithm Chiara Galdi

2,263 views

Published on

Edge Following Algorithm for Object Description and Recognition

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,263
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Edge Following Algorithm Chiara Galdi

  1. 1. Edge Following Algorithm Object Description and Recognition
  2. 2. Edge Following Algorithm 1/7 <ul><li>Edge Following Algorithm (for 8-neighbor object): </li></ul><ul><li>At all stages of the algorithm maintain: </li></ul><ul><ul><li>1 object pixel in P </li></ul></ul><ul><ul><li>1 background pixel in Q </li></ul></ul><ul><li>Where P and Q are 4-neighbors. </li></ul><ul><li>L={ } is the list including edge point </li></ul><ul><li>1. Start with P 0 and Q 0 and L={P 0 } </li></ul><ul><li>2. Given P and Q find the next pair P i and Q i as follows: </li></ul><ul><li>The 8 neighbors of P in clockwise order starting at Q are: </li></ul><ul><li>Let R i be the first R in this sequence which is equal 1 (object unmarked) </li></ul><ul><li>Set: P i = R i and Q i = R i -1 and insert P i in L={ } </li></ul><ul><li>3. Repeat step 2 until P 0 is reached again under the condition that </li></ul><ul><li>Q 0 will be reached in searching for the following P i </li></ul><ul><li>4. The sequence L={P 0 , P 1 , P 2 ,.... } are the edge pixels of the connected </li></ul><ul><li>component. </li></ul>
  3. 3. Edge Following Algorithm 2/7 <ul><li>Finding ALL edges in an </li></ul><ul><li>image: </li></ul><ul><li>– Scan the image (for example </li></ul><ul><li> left-to-right top-to-bottom). </li></ul><ul><li>– When an unmarked object </li></ul><ul><li> pixel is found bordering the </li></ul><ul><li> background follow the edge of </li></ul><ul><li> the connected component </li></ul><ul><li> starting at that pixel while </li></ul><ul><li> marking the edge pixels. </li></ul>
  4. 4. Edge Following Algorithm 3/7 P 0 R 6 Q 0 R 2 R 5 R 4 R 7 R 8 R 3 R 1 = P 1 =R 6 Q 1 =R 6-1 =R 5 L={ P 0 } P 0 è un punto appartenente all’oggetto. Q 0 è un punto dello sfondo scelto tra i pixel 4-connessi di P 0 . R 8 =0 R 7 =0 R 6 =1 R 5 =0 R 4 =0 R 3 =0 R 2 =0 R 1 =0
  5. 5. Edge Following Algorithm 4/7 P 0 P 1 Q 0 Q 1 R 2 R 7 R 6 R 5 R 4 R 3 R 8 Primo R i Con valore 1 P 2 =R 3 Q 2 =R 3-1 =R 2 R 1 L={ P 0 , P 1 } R 8 =1 R 7 =0 R 6 =1 R 5 =1 R 4 =1 R 3 =1 R 2 =0 R 1 =0
  6. 6. Edge Following Algorithm 5/7 P 10 /P 0 P 9 /P 1 P 7 P 8 P 6 P 5 P 2 P 4 P 3 Q 6 Q 5 Q 4 Q 3 Q 2 Q 1 Q 0 Q 7 Q 8 Q 9 /Q 10 L={ P 0 , P 1 , P 2 , P 3 , P 4 , P 5 , P 6 , P 7 , P 8 , P 9 } La ricerca è finita se raggiungiamo nuovamente P 0 e se nella ricerca del prossimo P i incontriamo Q 0 . R 3 R 2 R 1 R 3 = Terminata la ricerca abbiamo tutti i punti del contorno dell’oggetto.
  7. 7. Edge Following Algorithm 6/7 Dimostrazione: Se abbiamo un’immagine binaria in cui i pixel dello sfondo valgono 0 e i pixel degli oggetti valgono 1 possiamo scorrere l’immagine da sinistra verso destra e dall’alto verso il basso fino a trovare il primo pixel appartenente ad un oggetto (con valore 1), a cui associare P 0 .
  8. 8. Edge Following Algorithm 7/7 Una volta trovato P 0 (x 0 ,y 0 ), e scelto Q 0 tra i pixel 4-connessi di P 0 già analizzati (il pixel sopra P 0 e quello alla sua sinistra) si può applicare l’algoritmo in modo da ottenere la lista dei punti di contorno dei vari oggetti contenuti nell’immagine {P 0 , .., P n } e quindi delle loro rispettive coordinate {x 0 ,y 0 ; …; x n ,y n }, attraverso le quali possiamo ottenere la forma degli oggetti e quindi una loro descrizione. L 1 ={ P 0 , …, P n } L 2 ={ P 0 , …, P s } L 3 ={ P 0 , …, P t } L 4 ={ P 0 , …, P r }

×