SlideShare a Scribd company logo
UNIVERSITÀ DEGLI STUDI DI ROMA “LA SAPIENZA”
Corso di
“Elaborazione delle immagini”
Prof. Luigi Cinque
RICERCA DEI BORDI ALL’INTERNO DI UN’IMMAGINE
A CURA DI:
Patrizio Tamorri (vaughantheextreme@gmail.com)
Jacopo Flore (jacopo.flore@hotmail.it)
INDICE:
Specifiche Progetto............................................................................................................................................2
Algoritmi di rilevamento dei bordi....................................................................................................................3
SOBEL.....................................................................................................................................................3
CANNY ...................................................................................................................................................4
Algoritmi di cancellazione ...................................................................................................................... 5
Cancellazione cromatica dei bordi di dimensione minima............................................................ 5
Algoritmi di unione dei bordi ............................................................................................................................6
Unione Lineare Con Sogliatura di Canny.............................................................................................6
Panoramica e Conclusioni..................................................................................................................................7
SPECIFICHE
Gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggg
Per ragioni di completezza si è scelto di supportare anche le immagini a colori. All'utilizzo di pre-
elaborazione si è preferito usare filtri post-processing atti a migliorare la qualità del risultato degli algoritmi
di ricerca bordi utilizzati.
ALGORITMI DI RILEVAMENTO DEI BORDI
Utilizzando le tecniche viste durante il corso, estrarre i contorni dalle
immagini termiche fornite.
Data la natura delle immagini, eseguire una fase di post elaborazione
(eventualmente anche di pre-elaborazione) per migliorare i contorni rilevati,
eliminando i più piccoli in termini di pixel e unendo contorni vicini entro un
prefissato .
Per il rilevamento dei bordi sono stati utilizzati due algoritmi diversi, l'algoritmo SOBEL e l'algoritmo
CANNY. Questi algoritmi analizzano l’immagine producendo immagini elaborate contenenti informazioni sui
bordi trovati. Queste immagini vengono successivamente analizzate per eliminare informazioni inutili e
lasciare in evidenza solo i bordi che hanno una rilevanza superiore a una determinata tolleranza
prestabilita.
SOBEL
L’algoritmo SOBEL è utilizza due operatori matriciali di dimensioni 3 x 3 che rilevano rispettivamente
sull’asse X e Y della matrice rappresentante l’immagine la differenza e la direzione della variazione di
intensità dei colori, ossia basandosi sull’incremento e decremento di luminosità. Ciò che risulta è il modulo
del vettore puntante verso l’incremento maggiore di gradiente rappresentante l’intensità dei colori
dell’immagine.
Nell’immagine sottostante si possono osservare le due matrici operatore che vengono applicate ad ogni
pixel dell’immagine.
L’interpolazione tra i due valori risultanti si ottiene applicando il teorema di Pitagora.
Si potrebbe calcolare facilmente anche la direzione dell’incremento ma ai fini del progetto interessa solo
l’intensità dell’incremento. Punti con una variazione di intensità molto elevata saranno probabilmente dei
punti di bordo,in quanto si manifesta una elevata variazione di intensità dei colori(si passa da un colore
chiaro a uno più scuro o viceversa).
CANNY
L’algoritmo CANNY si divide in due fasi. La prima consiste nell’applicazione di un filtro Gaussiano,
sfruttando la derivata prima di una curva gaussiana. Questa Fase serve a eliminare le influenze negative di
piccole zone di rumore nell’immagine. Essa consiste nell’applicare un operatore matriciale, di dimensione
prefissata all’immagine, di tipo gaussiano ovvero basato su una funzione gaussiana(vedere figura).
In base alla derivata prima di questa funzione è possibile calcolare le influenze dei singoli pixel sull’intorno
del pixel in analisi facendo “sfocare” l’immagine eliminando i singoli pixel di rumore. L’algoritmo crea un
Kernel , o matrice di convoluzione, che funge da maschera per i pixel e contenente la derivata prima della
gaussiana calcolata in tale posizione. Il calcolo della funzione viene calcolata prima sull’asse delle
x,prendendo per zero il punto occupato dal pixel in analisi, e in seguito sull’asse delle y. Essa sarà 0 nel
punto centrale quindi il pixel originale viene completamente tralasciato. Si possono osservare bene i pesi
degli elementi attorno al punto in analisi sul seguente grafico(la derivata della funzione nel grafo è ciò che
viene inserito nella matrice. Ogni punto è interpolazione di due funzioni).
Il Kernel viene sovrapposto alla matrice dei pixel dell’immagine facendo in modo che il suo centro
corrisponda al pixel in analisi. Dopodiché ogni posizione (x,y) del Kernel viene moltiplicata con la rispettiva
posizione che essa va a coprire nella matrice dei pixel dell’immagine. Si ottiene una nuova matrice grande
come il Kernel. Il determinante di tale matrice sarà il valore finale da assegnare al pixel in analisi. Questo
porta a due conclusioni. La prima è che il Kernel deve essere di grandezza dispari. La seconda è che più il
kernel è grande maggiore sarà la sfocatura finale su immagini con contorni ben definiti. Da notare che se i
contorni non sono ben definiti e sono presenti ampie sfocature, il filtro gaussiano con matrice abbastanza
grande migliorerà la definizione dei bordi. Si è cercato quindi un giusto bilanciamento.
La seconda Parte dell’algoritmo CANNY è la vera ricerca dei bordi. La ricerca funziona allo stesso modo del
SOBEL, attraverso la ricerca di gradienti. Tuttavia ci sono alcune differenze. Mentre in Sobel si accettano
come bordo tutti i pixel superiori a un dato Þ, nel Canny sono presenti 2 soglie,dette “bassa” e “alta”.Oltre
la soglia “alta” i valori vengono sempre accettati, sotto quella “bassa” sempre scartati. Se il valore di un
pixel è compreso tra le due soglie si accetta come bordo solo se è vicino a un altro pixel con un bordo.
Questo processo è detto “sogliatura con isteresi”
Algoritmi Di Cancellazione
CANCELLAZIONE CROMATICA DEI BORDI DI DIMENSIONE MINIMA
L’algoritmo è suddiviso in due parti. La prima fase consiste nel contare il numero di pixel appartenenti ad
un bordo. Per fare ciò ogni pixel ogni pixel appartenente ad un determinato bordo viene segnato con un
numero corrispondente al numero identificativo del bordo. In un vettore avente come indice tale numero
identificativo viene segnato il numero dei pixel che costituiscono tale bordo. L’algoritmo funziona nel
seguente modo:
Si analizzano i pixel dell’immagine riga per riga partendo dal bordo alto a sinistra finendo al pixel in basso a
destra(come se i pixel fossero lettere da leggere) .Se si incontra un bordo si analizzano i quattro pixel
adiacenti precedentemente controllati. Se durante l’analisi si trova un pixel precedentemente colorato con
un colore i, allora anche il pixel in analisi verrà colorato con tale e il rispettivo contatore di pixel nel vettore
con quel colore verrà incrementato di uno. Se invece viene trovato un pixel appartenente ad un bordo non
avente altri bordi adiacenti allora tale pixel viene colorato con un nuovo colore(i+1).
Al termine del processo si avrà l’immagine con la colorazione definita e un vettore con il numero di pixel
colorati con quel colore.
Tale processo presenta un problema in quanto nel colorare i pixel può analizzare solamente pixel già
analizzati, perciò può capitare che bordi uniti vengano colorati diversamente risultando nel conteggio bordi
diversi. Perciò al termine della colorazione viene eseguito un altro processo che unisce i bordi vicini colorati
diversamente assegnandogli lo stesso colore e assegnando nella cella del vettore corrispondente al colore
la somma del numero dei pixel dei due bordi. Questo per tutti i bordi fino a quando tutti i bordi adiacenti
non avranno più colorazioni diverse.
La seconda fase consiste in un semplice algoritmo di cancellazione; viene analizzato ogni pixel della matrice,
se un pixel appartiene ad un bordo la cui dimensione è minore di un determinato valore allora tale pixel
viene cancellato (gli viene assegnato valore 0 corrispondente al nero).
ALGORITMI DI UNIONE BORDI
SUFFICIENTEMENTE VICINI.
UNIONE BORDI PIU VICINI DI UN DATO DELTA
Quest’algoritmo è stato da noi progettato per unire i punti abbastanza vicini senza alterare la correttezza
dei bordi presenti. Il funzionamento è il seguente: Si analizza ogni bordo dell’immagine trovato attraverso
un algoritmo SOBEL ad alta sogliatura(solo i bordi molto marcati).Successivamente viene applicato un
algoritmo CANNY all’immagine con bassa sogliatura. Il secondo grazie al filtro gaussiano produce un
immagine con contorni lineari e definiti ma trova anche bordi inesistenti o non importanti che
introdurrebbero un eccessivo rumore. Si procede allora a creare una terza immagine utilizzando le due
appena viste. Si analizzano i bordi trovati dal SOBEL uno a uno e si controlla se il CANNY ha un bordo sul
pixel in analisi. Se sì viene chiamata una funzione che segue la linea (o le linee ) del CANNY che partono da
tale pixel. Se La linea raggiunge un altro bordo del SOBEL entro Delta Passaggi allora si aggiunge tale bordo
all’immagine risultato Finale(che contiene una copia dell’immagine ottenuta dal SOBEL). Se si incontrano
bivi nel CANNY (linee intrecciate) viene sdoppiata l’analisi e si continua fino a quando non si raggiunge un
pixel del SOBEL o fino a quando non si raggiungano Delta passaggi (avendo cura di non rivisitare pixel
appena visitati proseguendo nella ricorsione).
T ale algoritmo necessità di ( L * N * Delta) passaggi nel caso medio, dove N è il numero di bordi del SOBEL,
Delta è la lunghezza massima di un bordo e L è il numero di bivi Presenti(nelle linee del Canny analizzate).
PANORAMICA E CONCLUSIONI
All’immagine originale viene applicato dapprima il filtro SOBEL, successivamente il filtro CANNY. Le due
immagini risultanti vengono usate dall’algoritmo di unione dei bordi vicini precedentemente spiegato.
Questo produce un output ben delineato ma ancora affetto dal problema del rumore. A questo punto viene
applicato l’ultimo algoritmo di eliminazione dei bordi troppo piccoli.
Due simpatiche mucche che pascolavano tranquille prima che il nostro algoritmo le disturbasse
L’algoritmo produce le seguenti immagini:
SOBEL
CANNY
Applicando l’unione dei bordi si ottiene il seguente output
Si nota che l’immagine è molto migliore di quella ottenuta sia dall’algoritmo Canny che dall’algoritmo Sobel
presi singolarmente. Gli alberi sullo sono stati identificati ottimamente e le vacche sono ben visibili. Si
legge bene anche la scritta in basso a destra. Applichiamo ora l’ultimo algoritmo per eliminare i bordi
troppo piccoli.
Come si può vedere il rumore è fortemente ridotto. I bordi utili sono stati mantenuti e si distinguono bene
sia le vacche che gli alberi sullo sfondo mentre i bordi sul cielo rilevati solo dal Canny non sono stati
giustamente considerati.
Nelle immagini termiche tuttavia i contorni dei bordi risultavano meno definiti a causa della bassa qualità
dell’immagine. Per ovviare a tale problema è stata aumentata la sensibilità dell’algoritmo Sobel.
Prendendo un’immagine in bianco e nero con qualità maggiore si possono lasciare i valori di sensibilità
dell’algoritmo Sobel usati per l’immagine a colori.
Nella pagina seguente riportiamo immagini di altissima qualità per poter apprezzare al meglio il progetto
svolto.
relazione

More Related Content

Similar to relazione

3D Graphics for Cultural Heritage
3D Graphics for Cultural Heritage3D Graphics for Cultural Heritage
3D Graphics for Cultural HeritageMarina Belli
 
Scanner 3D e reverse Engineering
Scanner 3D e reverse EngineeringScanner 3D e reverse Engineering
Scanner 3D e reverse Engineering
Paolo Aliverti
 
3D SCANNING di Barbetta Marco mat. 269445
3D SCANNING di Barbetta Marco mat. 2694453D SCANNING di Barbetta Marco mat. 269445
3D SCANNING di Barbetta Marco mat. 269445
guest5e80c0
 
Barcamp -
Barcamp - Barcamp -
Barcamp -
iuav
 
Barcamp - tema proposto -
Barcamp - tema proposto -Barcamp - tema proposto -
Barcamp - tema proposto -
iuav
 
Introduzione alle Self Driving Car
Introduzione alle Self Driving CarIntroduzione alle Self Driving Car
Introduzione alle Self Driving Car
Vincenzo Dentamaro
 
From cnn to capsule_Matteo_Alberti
From cnn to capsule_Matteo_AlbertiFrom cnn to capsule_Matteo_Alberti
From cnn to capsule_Matteo_Alberti
Deep Learning Italia
 
KanbanColor
KanbanColorKanbanColor
KanbanColormenciolo
 
Relazione_CPD2_DavideSito
Relazione_CPD2_DavideSitoRelazione_CPD2_DavideSito
Relazione_CPD2_DavideSitoDavide Sito
 
Lezione2
Lezione2Lezione2
Lezione2irea
 
Tecniche e Architetture per il Riconoscimento, il Confronto e la Ricerca di C...
Tecniche e Architetture per il Riconoscimento, il Confronto e la Ricerca di C...Tecniche e Architetture per il Riconoscimento, il Confronto e la Ricerca di C...
Tecniche e Architetture per il Riconoscimento, il Confronto e la Ricerca di C...
UlysseRosset
 
L'occhio del biologo: elementi di fotografia
L'occhio del biologo: elementi di fotografiaL'occhio del biologo: elementi di fotografia
L'occhio del biologo: elementi di fotografia
Marco Benini
 
Presentazione - Valutazione automatica della qualità dello spettro di un Free...
Presentazione - Valutazione automatica della qualità dello spettro di un Free...Presentazione - Valutazione automatica della qualità dello spettro di un Free...
Presentazione - Valutazione automatica della qualità dello spettro di un Free...
lorenzosaule
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
Francesco Andreuzzi
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
Francesco Andreuzzi
 
Presentazione Sviluppo e confronto di tecniche di stima della traiettoria di ...
Presentazione Sviluppo e confronto di tecniche di stima della traiettoria di ...Presentazione Sviluppo e confronto di tecniche di stima della traiettoria di ...
Presentazione Sviluppo e confronto di tecniche di stima della traiettoria di ...
Andrea Bidinost
 
Re-Indexing Algorithm for Color-Mapped Images Region Based
Re-Indexing Algorithm for Color-Mapped Images Region BasedRe-Indexing Algorithm for Color-Mapped Images Region Based
Re-Indexing Algorithm for Color-Mapped Images Region Based
Andrea Ciccotta
 
Phd Thesis Dissertation (Italian)
Phd Thesis Dissertation (Italian)Phd Thesis Dissertation (Italian)
Phd Thesis Dissertation (Italian)Salvatore Nicotra
 
Remote Sensing
Remote SensingRemote Sensing
Remote Sensing
Carmine Di Gruttola
 

Similar to relazione (20)

3D Graphics for Cultural Heritage
3D Graphics for Cultural Heritage3D Graphics for Cultural Heritage
3D Graphics for Cultural Heritage
 
Scanner 3D e reverse Engineering
Scanner 3D e reverse EngineeringScanner 3D e reverse Engineering
Scanner 3D e reverse Engineering
 
3D SCANNING di Barbetta Marco mat. 269445
3D SCANNING di Barbetta Marco mat. 2694453D SCANNING di Barbetta Marco mat. 269445
3D SCANNING di Barbetta Marco mat. 269445
 
Barcamp -
Barcamp - Barcamp -
Barcamp -
 
Barcamp - tema proposto -
Barcamp - tema proposto -Barcamp - tema proposto -
Barcamp - tema proposto -
 
Introduzione alle Self Driving Car
Introduzione alle Self Driving CarIntroduzione alle Self Driving Car
Introduzione alle Self Driving Car
 
From cnn to capsule_Matteo_Alberti
From cnn to capsule_Matteo_AlbertiFrom cnn to capsule_Matteo_Alberti
From cnn to capsule_Matteo_Alberti
 
KanbanColor
KanbanColorKanbanColor
KanbanColor
 
Presentazione
PresentazionePresentazione
Presentazione
 
Relazione_CPD2_DavideSito
Relazione_CPD2_DavideSitoRelazione_CPD2_DavideSito
Relazione_CPD2_DavideSito
 
Lezione2
Lezione2Lezione2
Lezione2
 
Tecniche e Architetture per il Riconoscimento, il Confronto e la Ricerca di C...
Tecniche e Architetture per il Riconoscimento, il Confronto e la Ricerca di C...Tecniche e Architetture per il Riconoscimento, il Confronto e la Ricerca di C...
Tecniche e Architetture per il Riconoscimento, il Confronto e la Ricerca di C...
 
L'occhio del biologo: elementi di fotografia
L'occhio del biologo: elementi di fotografiaL'occhio del biologo: elementi di fotografia
L'occhio del biologo: elementi di fotografia
 
Presentazione - Valutazione automatica della qualità dello spettro di un Free...
Presentazione - Valutazione automatica della qualità dello spettro di un Free...Presentazione - Valutazione automatica della qualità dello spettro di un Free...
Presentazione - Valutazione automatica della qualità dello spettro di un Free...
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
Presentazione Sviluppo e confronto di tecniche di stima della traiettoria di ...
Presentazione Sviluppo e confronto di tecniche di stima della traiettoria di ...Presentazione Sviluppo e confronto di tecniche di stima della traiettoria di ...
Presentazione Sviluppo e confronto di tecniche di stima della traiettoria di ...
 
Re-Indexing Algorithm for Color-Mapped Images Region Based
Re-Indexing Algorithm for Color-Mapped Images Region BasedRe-Indexing Algorithm for Color-Mapped Images Region Based
Re-Indexing Algorithm for Color-Mapped Images Region Based
 
Phd Thesis Dissertation (Italian)
Phd Thesis Dissertation (Italian)Phd Thesis Dissertation (Italian)
Phd Thesis Dissertation (Italian)
 
Remote Sensing
Remote SensingRemote Sensing
Remote Sensing
 

relazione

  • 1. UNIVERSITÀ DEGLI STUDI DI ROMA “LA SAPIENZA” Corso di “Elaborazione delle immagini” Prof. Luigi Cinque RICERCA DEI BORDI ALL’INTERNO DI UN’IMMAGINE A CURA DI: Patrizio Tamorri (vaughantheextreme@gmail.com) Jacopo Flore (jacopo.flore@hotmail.it)
  • 2. INDICE: Specifiche Progetto............................................................................................................................................2 Algoritmi di rilevamento dei bordi....................................................................................................................3 SOBEL.....................................................................................................................................................3 CANNY ...................................................................................................................................................4 Algoritmi di cancellazione ...................................................................................................................... 5 Cancellazione cromatica dei bordi di dimensione minima............................................................ 5 Algoritmi di unione dei bordi ............................................................................................................................6 Unione Lineare Con Sogliatura di Canny.............................................................................................6 Panoramica e Conclusioni..................................................................................................................................7 SPECIFICHE Gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg gggggggggggggg Per ragioni di completezza si è scelto di supportare anche le immagini a colori. All'utilizzo di pre- elaborazione si è preferito usare filtri post-processing atti a migliorare la qualità del risultato degli algoritmi di ricerca bordi utilizzati. ALGORITMI DI RILEVAMENTO DEI BORDI Utilizzando le tecniche viste durante il corso, estrarre i contorni dalle immagini termiche fornite. Data la natura delle immagini, eseguire una fase di post elaborazione (eventualmente anche di pre-elaborazione) per migliorare i contorni rilevati, eliminando i più piccoli in termini di pixel e unendo contorni vicini entro un prefissato .
  • 3. Per il rilevamento dei bordi sono stati utilizzati due algoritmi diversi, l'algoritmo SOBEL e l'algoritmo CANNY. Questi algoritmi analizzano l’immagine producendo immagini elaborate contenenti informazioni sui bordi trovati. Queste immagini vengono successivamente analizzate per eliminare informazioni inutili e lasciare in evidenza solo i bordi che hanno una rilevanza superiore a una determinata tolleranza prestabilita. SOBEL L’algoritmo SOBEL è utilizza due operatori matriciali di dimensioni 3 x 3 che rilevano rispettivamente sull’asse X e Y della matrice rappresentante l’immagine la differenza e la direzione della variazione di intensità dei colori, ossia basandosi sull’incremento e decremento di luminosità. Ciò che risulta è il modulo del vettore puntante verso l’incremento maggiore di gradiente rappresentante l’intensità dei colori dell’immagine. Nell’immagine sottostante si possono osservare le due matrici operatore che vengono applicate ad ogni pixel dell’immagine. L’interpolazione tra i due valori risultanti si ottiene applicando il teorema di Pitagora. Si potrebbe calcolare facilmente anche la direzione dell’incremento ma ai fini del progetto interessa solo l’intensità dell’incremento. Punti con una variazione di intensità molto elevata saranno probabilmente dei punti di bordo,in quanto si manifesta una elevata variazione di intensità dei colori(si passa da un colore chiaro a uno più scuro o viceversa).
  • 4. CANNY L’algoritmo CANNY si divide in due fasi. La prima consiste nell’applicazione di un filtro Gaussiano, sfruttando la derivata prima di una curva gaussiana. Questa Fase serve a eliminare le influenze negative di piccole zone di rumore nell’immagine. Essa consiste nell’applicare un operatore matriciale, di dimensione prefissata all’immagine, di tipo gaussiano ovvero basato su una funzione gaussiana(vedere figura). In base alla derivata prima di questa funzione è possibile calcolare le influenze dei singoli pixel sull’intorno del pixel in analisi facendo “sfocare” l’immagine eliminando i singoli pixel di rumore. L’algoritmo crea un Kernel , o matrice di convoluzione, che funge da maschera per i pixel e contenente la derivata prima della gaussiana calcolata in tale posizione. Il calcolo della funzione viene calcolata prima sull’asse delle x,prendendo per zero il punto occupato dal pixel in analisi, e in seguito sull’asse delle y. Essa sarà 0 nel punto centrale quindi il pixel originale viene completamente tralasciato. Si possono osservare bene i pesi degli elementi attorno al punto in analisi sul seguente grafico(la derivata della funzione nel grafo è ciò che viene inserito nella matrice. Ogni punto è interpolazione di due funzioni). Il Kernel viene sovrapposto alla matrice dei pixel dell’immagine facendo in modo che il suo centro corrisponda al pixel in analisi. Dopodiché ogni posizione (x,y) del Kernel viene moltiplicata con la rispettiva posizione che essa va a coprire nella matrice dei pixel dell’immagine. Si ottiene una nuova matrice grande come il Kernel. Il determinante di tale matrice sarà il valore finale da assegnare al pixel in analisi. Questo porta a due conclusioni. La prima è che il Kernel deve essere di grandezza dispari. La seconda è che più il kernel è grande maggiore sarà la sfocatura finale su immagini con contorni ben definiti. Da notare che se i contorni non sono ben definiti e sono presenti ampie sfocature, il filtro gaussiano con matrice abbastanza grande migliorerà la definizione dei bordi. Si è cercato quindi un giusto bilanciamento. La seconda Parte dell’algoritmo CANNY è la vera ricerca dei bordi. La ricerca funziona allo stesso modo del SOBEL, attraverso la ricerca di gradienti. Tuttavia ci sono alcune differenze. Mentre in Sobel si accettano come bordo tutti i pixel superiori a un dato Þ, nel Canny sono presenti 2 soglie,dette “bassa” e “alta”.Oltre
  • 5. la soglia “alta” i valori vengono sempre accettati, sotto quella “bassa” sempre scartati. Se il valore di un pixel è compreso tra le due soglie si accetta come bordo solo se è vicino a un altro pixel con un bordo. Questo processo è detto “sogliatura con isteresi” Algoritmi Di Cancellazione CANCELLAZIONE CROMATICA DEI BORDI DI DIMENSIONE MINIMA L’algoritmo è suddiviso in due parti. La prima fase consiste nel contare il numero di pixel appartenenti ad un bordo. Per fare ciò ogni pixel ogni pixel appartenente ad un determinato bordo viene segnato con un numero corrispondente al numero identificativo del bordo. In un vettore avente come indice tale numero identificativo viene segnato il numero dei pixel che costituiscono tale bordo. L’algoritmo funziona nel seguente modo: Si analizzano i pixel dell’immagine riga per riga partendo dal bordo alto a sinistra finendo al pixel in basso a destra(come se i pixel fossero lettere da leggere) .Se si incontra un bordo si analizzano i quattro pixel adiacenti precedentemente controllati. Se durante l’analisi si trova un pixel precedentemente colorato con un colore i, allora anche il pixel in analisi verrà colorato con tale e il rispettivo contatore di pixel nel vettore con quel colore verrà incrementato di uno. Se invece viene trovato un pixel appartenente ad un bordo non avente altri bordi adiacenti allora tale pixel viene colorato con un nuovo colore(i+1). Al termine del processo si avrà l’immagine con la colorazione definita e un vettore con il numero di pixel colorati con quel colore. Tale processo presenta un problema in quanto nel colorare i pixel può analizzare solamente pixel già analizzati, perciò può capitare che bordi uniti vengano colorati diversamente risultando nel conteggio bordi diversi. Perciò al termine della colorazione viene eseguito un altro processo che unisce i bordi vicini colorati diversamente assegnandogli lo stesso colore e assegnando nella cella del vettore corrispondente al colore la somma del numero dei pixel dei due bordi. Questo per tutti i bordi fino a quando tutti i bordi adiacenti non avranno più colorazioni diverse. La seconda fase consiste in un semplice algoritmo di cancellazione; viene analizzato ogni pixel della matrice, se un pixel appartiene ad un bordo la cui dimensione è minore di un determinato valore allora tale pixel viene cancellato (gli viene assegnato valore 0 corrispondente al nero). ALGORITMI DI UNIONE BORDI SUFFICIENTEMENTE VICINI.
  • 6. UNIONE BORDI PIU VICINI DI UN DATO DELTA Quest’algoritmo è stato da noi progettato per unire i punti abbastanza vicini senza alterare la correttezza dei bordi presenti. Il funzionamento è il seguente: Si analizza ogni bordo dell’immagine trovato attraverso un algoritmo SOBEL ad alta sogliatura(solo i bordi molto marcati).Successivamente viene applicato un algoritmo CANNY all’immagine con bassa sogliatura. Il secondo grazie al filtro gaussiano produce un immagine con contorni lineari e definiti ma trova anche bordi inesistenti o non importanti che introdurrebbero un eccessivo rumore. Si procede allora a creare una terza immagine utilizzando le due appena viste. Si analizzano i bordi trovati dal SOBEL uno a uno e si controlla se il CANNY ha un bordo sul pixel in analisi. Se sì viene chiamata una funzione che segue la linea (o le linee ) del CANNY che partono da tale pixel. Se La linea raggiunge un altro bordo del SOBEL entro Delta Passaggi allora si aggiunge tale bordo all’immagine risultato Finale(che contiene una copia dell’immagine ottenuta dal SOBEL). Se si incontrano bivi nel CANNY (linee intrecciate) viene sdoppiata l’analisi e si continua fino a quando non si raggiunge un pixel del SOBEL o fino a quando non si raggiungano Delta passaggi (avendo cura di non rivisitare pixel appena visitati proseguendo nella ricorsione). T ale algoritmo necessità di ( L * N * Delta) passaggi nel caso medio, dove N è il numero di bordi del SOBEL, Delta è la lunghezza massima di un bordo e L è il numero di bivi Presenti(nelle linee del Canny analizzate). PANORAMICA E CONCLUSIONI All’immagine originale viene applicato dapprima il filtro SOBEL, successivamente il filtro CANNY. Le due immagini risultanti vengono usate dall’algoritmo di unione dei bordi vicini precedentemente spiegato.
  • 7. Questo produce un output ben delineato ma ancora affetto dal problema del rumore. A questo punto viene applicato l’ultimo algoritmo di eliminazione dei bordi troppo piccoli. Due simpatiche mucche che pascolavano tranquille prima che il nostro algoritmo le disturbasse
  • 8. L’algoritmo produce le seguenti immagini: SOBEL CANNY
  • 9. Applicando l’unione dei bordi si ottiene il seguente output Si nota che l’immagine è molto migliore di quella ottenuta sia dall’algoritmo Canny che dall’algoritmo Sobel presi singolarmente. Gli alberi sullo sono stati identificati ottimamente e le vacche sono ben visibili. Si legge bene anche la scritta in basso a destra. Applichiamo ora l’ultimo algoritmo per eliminare i bordi troppo piccoli.
  • 10. Come si può vedere il rumore è fortemente ridotto. I bordi utili sono stati mantenuti e si distinguono bene sia le vacche che gli alberi sullo sfondo mentre i bordi sul cielo rilevati solo dal Canny non sono stati giustamente considerati. Nelle immagini termiche tuttavia i contorni dei bordi risultavano meno definiti a causa della bassa qualità dell’immagine. Per ovviare a tale problema è stata aumentata la sensibilità dell’algoritmo Sobel. Prendendo un’immagine in bianco e nero con qualità maggiore si possono lasciare i valori di sensibilità dell’algoritmo Sobel usati per l’immagine a colori. Nella pagina seguente riportiamo immagini di altissima qualità per poter apprezzare al meglio il progetto svolto.