Filtro di smoothing Gaussiano
Appartengono a questa categoria i filtri lineari di smoothing che definiscono i coefficienti
della maschera di convoluzione in accordo alla funzione gaussiana.
Tali filtri si dimostrano molto efficaci per attenuare il rumore di tipo gaussiano presente
nell’immagine.
La funzione di trasferimento h(l,k) modellata dalla funzione gaussiana discreta con
media zero e` data da:
h(l , k ) ce
(l 2 k 2 )
22
c fattore di normalizzazione che per semplicità` si assume uguale a 1
1
Filtro di smoothing Gaussiano
è l’unico parametro che modella la funzione di trasferimento e definisce l’area di
influenza del filtro gaussiano
Il peso dei coefficienti della maschera è inversamente proporzionale alla distanza dei
pixel rispetto a quello centrale (i pixel a distanza maggiore di circa 3 non avranno
nessuna influenza per il filtraggio).
2
Filtro di smoothing Gaussiano
Proprieta` del filtro gaussiano
• Simmetria circolare
• Monotono decrescente (nel dominio spaziale e delle frequenze)
• Separabile.
SIMMETRIA CIRCOLARE
Il filtro Gaussiano esegue l’operazione di smoothing in modo identico in tutte le
direzioni.
Da cio` consegue che il filtro opera in maniera indipendente dall’orientazione delle
strutture presenti nell’immagine. Questa proprietà è dimostrata convertendo le
coordinate cartesiane (l,k) in coordinate polari (r, ) nella funzione Gaussiana
h(r , ) ce
r2
2
2
Dove il raggio polare è r2=l2+k2
3
Filtro di smoothing Gaussiano
Proprieta’ del filtro nel domino delle frequenze
4
Filtro di smoothing Gaussiano
Proprieta’ di separabilita` del filtro gaussiano
Siano h(i,j) e f(i,j) rispettivamente la funzione di trasferimento e l’immagine da filtrare,
segue:
g (i, j ) h(i, j ) * f (i, j ) h(l , k ) f (i l , j k )
l
k
e
l
(l 2 k 2 )
2 2
f (i l , j k )
k
k
2
2
2
2
e
f (i l , j k )
e
l
k
l2
2
5
Filtro di smoothing Gaussiano
Proprieta’ di separabilita` del filtro gaussiano
I passi essenziali sono cosi riassunti:
1. Eseguire la convoluzione con maschera orizzontale e salva il risultato in modo
trasposto rispetto all’inizio.
(Convoluzione orizzontale)
2. Eseguire la convoluzione con la stessa maschera orizzontale.
verticale)
3. Eseguire la trasposizione
originale.(Immagine filtrata)
dell’immagine
6
per
riportarla
(Convoluzione
nella
posizione
Filtro di smoothing Gaussiano
FILTRO GAUSSIANO DISCRETO
I coefficienti della maschera di convoluzione sono calcolati analiticamente considerando
la funzione di distribuzione gaussiana:
i2 j2
22
h(i , j ) ke
E` noto che gli effetti del filtro sono controllati dai valori della varianza 2 e dalle
dimensioni della maschera L×L.
Per una maschera 7x7, varianza 2=2 e normalizzando il valore massimo del picco
uguale ad 1 nella posizione centrale (0,0) della maschera, i valori discreti prodotti da
tale equazione sono:
7
Filtro di smoothing Gaussiano
FILTRO GAUSSIANO DISCRETO
In molti sistemi di elaborazione immagine e` comodo considerare i coefficienti del filtro
con valori interi. Per tale scopo si calcola un adeguato valore della costante k
Se si vuole far corrispondere una valore minimo (per esempio 1) ai vertici della
maschera ed un valore massimo k in corrispondenza del coefficiente centrale, si ha:
nuovovalore min hN (3,3)
1
k
91
valoreattuale _ h(3,3)
0.011
8
Filtro di smoothing Gaussiano
FILTRO GAUSSIANO DISCRETO
Con questi nuovi valori dei coefficienti, e` necessario normalizzare i valori della funzione
di convoluzione con una costante , ossia
g(i , j ) h(i , j ) * f (i , j )
3 3
1
1 / h(i , j )
i 3 j 3
1115
9
Estrazione dei bordi
Edging
10
L’operazione di estrazione degli Edge di una immagine risulta ancora oggi essere una
operazione fondamentale per l’analisi delle immagini
In questo capitolo, saranno descritti gli algoritmi più comuni per determinare i bordi con
operatori locali (Local Edge Detector - LED)
Tali algoritmi assegnano un valore di bordo a ciascun pixel ma nessuna informazione è
generata per legare insieme i vari pixel di bordo (Link Edge) per formare segmenti
di bordo
Gli algoritmi LED sono Operatori Locali che determinano le variazioni locali dei valori di
livello di grigio dell’immagine oppure le variazioni locali della derivata prima della
funzione intensità.
Tali discontinuità locali nelle vicinanze dei bordi possono essere di vario tipo.
11
•
•
•
•
Discontinuità a gradino (Step-Edge)
Discontinuità a linea
Discontinuità lineare (Ramp Edge)
Discontinuità lineare con salita e discesa (Roof Edge)
12
Gli algoritmi LED possono essere raggruppati nelle seguenti
categorie:
• Operatori basati sulla differenziazione
• Operatori basati sull'approssimazione del modello di Edge
13
Filtro Gradiente
Mentre i filtri di smoothing attenuano strutture in alta frequenza,
quelli di edging devono esaltare le discontinuità
L’operatore che assolve a tale compito è l’operatore di derivata
prima.
Per una immagine bidimensionale f(x,y), le derivate parziali prime
f/x e f/y definiscono le discontinuita` dell’immagine nella
direzione degli assi coordinati x e y
L’orientazione dei bordi nell’immagine non necessariamente
coincide con gli assi coordinati. Da cio` consegue la necessita`
di calcolare le derivate direzionali dell’immagine f per ogni
punto (x,y) nella direzione r di massima discontinuita` dei livelli
di grigio (massimo locale della derivata di f).
14
L’operatore che presenta queste caratteristiche e` il gradiente.
Il gradiente di f(x,y) nel punto A nella generica direzione r con
angolo e` dato da:
f f x f y f
f
cos sin
r x r y r x
y
15
Siamo interessati a trovare il valore massimo
f
f
f
sin cos 0
r
x
y
da cui
gmx ( x, y ) arctan( f y / f x )
16
Viene d’ora un poi chiamato vettore gradiente il valore massimo
della derivata (f/r)gmx nella direzione di massima variazione,
che in notazione differenziale e` definita da:
f
f
Gradf f i
j
x y
Una misura quantitativa della massima variazione di f nella
direzione definita dal gradiente f e` dato dal modulo del
vettore gradiente definito come
f
f f
2
x
2
y
Il modulo e la direzione del gradiente sono indipendenti dalle
coordinate (x,y) del sistema di riferimento.
17
Per ridurre la complessita` computazionale il modulo del gradiente
puo` essere approssimato considerando i valori assoluti:
f f x f y
oppure
f max( f x , f y )
Il modulo |f| e la direzione gmx del gradiente sono indipendenti
dalla scelta del sistema di riferimento, ossia sono invarianti
con la rotazione degli assi coordinati.
18
APPROSSIMAZIONE DEL FILTRO GRADIENTE
Per una immagine digitale di dimensione NN, il vettore gradiente
può essere approssimato sostituendo la differenziazione in
due direzioni ortogonali lungo i rispettivi assi coordinati con le
differenze finite sempre nelle rispettive direzioni x ed y.
Le seguenti approssimazioni sono date per le righe:
19
Queste approssimazioni conducono alle seguenti maschere di
convoluzione h:
R e C identificano le maschere per le righe e le colonne.
Il simbolo indica il pixel in elaborazione nel caso di maschere
asimmetriche
I simboli (+, -, ed s) indicano maschere di convoluzione
calcolate rispettivamente con la differenza in avanti, all’indietro
20
e simmetrica.
s
Il filtro simmetrico delle differenze h si comporta come un filtro passa-basso e puo`
essere pensato come la combinazione di un filtro di smoothing ed un filtro di
esaltazione dei bordi:
1
1
hR hR *BR 1 1* 1 1 1 0 1
2
2
1
1 1 1 1
s
1
hC hC *BC * 0
1 2 1 2 1
s
1
La maschere di convoluzione orizzontale e verticale trovate sono
utilizzate solo per l’estrazione dei bordi dominanti in direzione
perpendicolare agli operatori stessi.
21
Per tale scopo possono essere applicati i seguenti operatori di
convoluzione:
g R (i , j ) f (i , j ) hR (i , j )
1
f (i , l ) hR (l )
l1
gC (i , j ) f (i , j ) hC (i , j )
22
1
f (l , j ) hC (l )
l1
Applicazione dei due filtri orizzontali e verticali
23
Riassumendo, l’estrazione dei bordi prevede diversi passi:
1. Filtraggio dell’immagine applicando in modo indipendente
le maschere di convoluzione hR ed hC.
2. Calcolare il quadrato per ogni pixel delle due immagini
ottenute al passo 1).
3. Somma i pixel omologhi delle due immagini del passo 2
4. Calcola la radice quadrata dell’immagine del passo 3.
L’immagine risultante e` l’immagine degli Edge
5. Calcola l’arcotangente per ogni valore di gC/gR (conponenti
di gradiente orizzontale e verticale) calcolate nel passo 1).
L’immagine risultante e` la mappa di orientazione dei bordi.
24
OPERATORE DI ROBERTS
Un modo alternativo per approssimare la differenziazione e`
quello suggerito da Roberts:
f x (i, j ) f (i, j ) f (i 1, j 1)
f y (i , j ) f (i 1, j ) f (i , j 1)
fy
i, j arctan
4
fx
Le maschere di convoluzione sono
1 0
hR
0 1
0 1
hC
1
0
25
MANIPOLAZIONE DELL’IMMAGINE GRADIENTE
A questo punto, ottenuta l’immagine gradiente, vanno ricercati i
bordi.
Alcune definizioni per verificare se un pixel è di bordo sono:
a)
b)
f i , j
g i , j
f i , j
I T
g i , j
f x, y
se f i , j T
altrimenti
se f i , j T
altrimenti
dove IT e` un valore di grigio da assegnare ai pixel classificati come bordi mediante la
soglia T come in precedenza
26
c)
f i , j se f i , j T
g i , j
altrimenti
IB
dove IB e` un valore di grigio da assegnare ai pixel non classificati come bordi mediante
la soglia T. Separazione dei bordi dallo sfondo.
d)
IT
g i , j
IB
se f i , j T
altrimenti
27
OPERATORE DI SOBEL
Gli operatori descritti basati sul gradiente generano bordi con
spessore di almeno due pixel.
Per attenuare questi inconvenienti, l’operatore di Sobel esegue
simultaneamente la differenziazione rispetto ad un asse
coordinato e calcola una media locale in direzione ortogonale.
Le componenti del gradiente con l’operatore di Sobel sono
calcolati nella direzione degli assi coordinati x ed y,
coinvolgendo per ciascun pixel in elaborazione (i,j) i pixel nelle
sue vicinanze incluse nella finestra 3x3 come mostrato in
figura:
28
OPERATORE DI SOBEL
f x i , j C KD E A KH G
f y i , j A KB C G KF E
dove la costante K e` scelta uguale a 2 ed i pixel vicini a quello in elaborazione (i,j)
hanno una influenza in relazione ai corrispondenti pesi indicati con A,B,..,E.
Scegliendo una finestra piu` grande 33 per la stima del gradiente, l’effetto di smoothing
aumenta rispetto all’operatore con finestra 22, diminuendo in tal modo la sensibilità
dell’operatore dalle fluttuazioni dei valori di intensità presenti nell’immagine
1 0 1
hR 2 0 2
1 0 1
1 2 1
hC 0 0 0
1 2 1
29
OPERATORE DI SOBEL
1 0 1
hR 2 0 2
1 0 1
1 2 1
hC 0 0 0
1 2 1
Le convoluzioni discrete per le componenti orizzontale e verticale dell’operatore di Sobel
sono:
1
1
g R (i, j ) f (i, j ) * hR (i, j ) f (i l , j k )hR (l , k )
l 1 k 1
1 1
g C (i, j ) f (i, j ) * hC (i, j ) f (i l , j k )hC (l , k )
l 1 l 1
L’operatore di Sobel definisce il modello del gradiente con la nota formula:
f g g
2
R
30
2
C
OPERATORE DI PREWITT
Differisce dall’operatore di Sobel solo per il valore della costante K
che e` dimezzato ossia posta uguale a 1. In questo modo, le
maschere di convoluzione diventano:
1 0 1
hR 1 0 1
1 0 1
1 1 1
hc 0 0 0
1 1 1
Diversamente dall’operatore di Sobel, i pixel piu` vicini (nord, sud,
est, ovest) al pixel in elaborazione non hanno un peso
maggiore ma contribuiscono alla stima del gradiente spaziale
con lo stesso peso.
31
OPERATORE DI FREI&CHEN
Questo operatore assegna alla costante K il valore 2 pesando i
pixel vicini in modo omogeneo ed in tal modo il valore del
gradiente e` uguale in presenza di bordi verticali, orizzontali ed
obliqui.
1
hR 2
1
0
0
0
1
2
1
1
2
1
hC 0
0
0
1 2 1
32
OPERATORI A CONFRONTO
33
OPERATORI A CONFRONTO
Il problema di mediare tra esaltazione delle alte frequenze per la
ricerca dei bordi e l’attenuazione del rumore
La maschera di convoluzione combinata risulta la seguente:
h(i, j) hGRAD (i, j) * hSMOOTH
Se si considerano le maschere hR(i,j) dell’operatore di Prewitt ed hSMOOTH(i,j)=1/9 il filtro
media di smoothing di 33, si ottiene la maschera di convoluzione combinata
dell’operatore gradiente 55 nella forma:
1 0 1 1 1 1
hR 13 1 0 1 * 19 1 1 1
1 0 1 1 1 1
1
18
1 1 0 1
2 2 0 2
3 3 0 3
2 2 0 2
1 341 0 1
1
2
3
2
1
OPERATORE DERIVATA DELLA GAUSSIANA (DroG)
L’operatore gradiente basato sulla derivata della gaussiana e`
ottenuto applicando prima l’operatore di smoothing gaussiano
e successivamente derivando rispetto agli assi coordinati.
hR (i , j ) e
i
i2 j2
22
35
i
2e
i2 j2
22
OPERATORE GRADIENTE DIREZIONALE
In diverse applicazioni è conveniente calcolare i bordi per un
numero definito di direzioni
Questo può essere realizzato mediante la convoluzione
dell’immagine di input f(i,j) con diverse maschere hk i cui pesi
modellano le risposte impulsive con gradiente direzionale.
Il gradiente direzionale è espresso da
gk (i, j) f (i, j) * hk
dove hk è la risposta impulsiva del gradiente nella direzione
0
1
k k
2
2
4
dove k può assumere valori da 0 (per indicare la
direzione nord) a 7
36
7
OPERATORE GRADIENTE DIREZIONALE
g (i , j ) max{ g k (i , j )}
k=0,...,7
k
Le maschere di convoluzione corrispondenti alle k direzioni sono
ottenute partendo con k=0 e ruotando in modo circolare di /4
ogni elemento esterno della maschera 33.
37
OPERATORE GRADIENTE DIREZIONALE
38
OPERATORE GRADIENTE DIREZIONALE
•
La somma dei pesi di ogni maschera è zero
•
Consegue che nelle zone omogenee l’operatore sarà zero.
•
Valore massimo si ha quando la configurazione dei livelli di
grigio dei pixel meglio concordano con i modelli rappresentati
dalle maschere.
•
Altri operatori gradiente possono essere definiti con altre
rotazioni: per esempio di /6 con maschere di dimensioni 55.
•
Con maschere ancora più grandi si possono calcolare le
direzioni dei bordi in modo più preciso con una buona
riduzione del rumore ma con la necessità di notevole tempo di
39
calcolo.
OPERATORE LAPLACIANO
Uso della derivata seconda per accentuare ulteriormente i bordi
Si usa l’operatore di Laplace così definito
2
2
f
f
2
f (x , y ) 2 2
x
y
Applicare l’operatore Laplaciano ad una immagine f(i,j)
per localizzare facilmente i pixel di bordo corrispondenti
al pixel dove il fianco di salita o di discesa di 2f passa
per lo zero (da positivo a negativo e viceversa).
Questa transizione di 2f per lo zero è chiamato
anche zero crossing e corrisponde al pixel di bordo
40
OPERATORE LAPLACIANO
Più sensibile al rumore rispetto agli altri operatori,
Non fornisce informazioni di direzione del bordo, e può generare
doppi bordi
Nel dominio spaziale discreto, l’operatore laplaciano può essere
approssimato considerando le differenze dei valori di intensità
invece delle derivate.
La componente orizzontale dell’operatore laplaciano è
approssimata come segue:
2 f f X f (i, j 1) f (i, j )
x 2
x
x
f (i, j 1) f (i, j )
x
x
differenza in avanti
f (i, j 2) f (i, j 1) f (i, j 1) f (i, j )
f (i, j 2) 2 f (i, j 1) f (i, j )
41
OPERATORE LAPLACIANO
Con la traslazione di un pixel in orizzontale, ottenuta sostituendo j con j-1 si calcola il
valore approssimato del laplaciano nel punto (i,j) definito da:
2 f
2 f (i , j 1) 2 f (i , j ) f (i , j 1)
x
operando in modo analogo per la componente verticale si ottiene:
2 f
2 f (i 1, j ) 2 f (i , j ) f (i 1, j )
y
Queste approssimazioni conducono alle corrispondenti maschere di convoluzione
orizzontale e verticale:
1
hR 1 2 1
hC 2
1
Dalla combinazione delle componenti orizzontali e verticali si ottiene una singola
maschera di convoluzione del laplaciano:
0 0 0 0 1 0 0 1 0
h(i , j ) 1 2 1 0 2 0 1 4 1
0 0 0 0 1 0 0 1 0
42
LAPLACIANO DELLA GAUSSIANA
Marr ed Hildreth hanno definito un operatore per l’estrazione dei
bordi, chiamato laplaciano della gaussiana (LOG) combinando
l’effetto del filtro gaussiano (smoothing) con quello
dell’operatore laplaciano (per esaltare i bordi).
g ( x , y ) {h ( x , y ) * f ( x , y )}
2
h(x , y ) e
(x2 y2 )
22
g ( x , y ) { h ( x , y )} * f ( x , y )
2
43
LAPLACIANO DELLA GAUSSIANA
(x y
2
2
2 2
hlog ( x, y) h( x, y) e
2
44
2
)
x y
x 2 y 2 2 2 2 2
e
4
2
2
DIFFERENZA DI GAUSSIANE - DoG
Una buona approssimazione al filtro di Marr-Hildreth è ottenuto
con un operatore basato sulla differenza di due Gaussiane con
differente valore di :
hDoG (r, 1 , 2 ) hG (r, 1 ) hG (r , 2 )
dove
hG (r , 1 ) Ae
r2
2 12
hG (r , 2 ) Be
r2
2 22
con A>B e 1<2
Marr ed Hildreth hanno trovato che con 2/1=1.6 si ha la migliore
approssimazione al filtro Laplaciano della Gaussiana
45
DIFFERENZA DI GAUSSIANE - DoG
46
OPERATORE DI CANNY
La presenza di discontinuità nell’immagine, causate dalla
fluttuazione dei sensori e dalla elettronica associata della
telecamera, producono valori di gradiente anche in zone
dell’immagine che dovevano essere omogenee (bordi sparsi
ed artefatti).
Queste discontinuità dovute al rumore, possono non essere
facilmente filtrate poichè spesso sono differenti rispetto alle
caratteristiche del filtro
Un operatore che approssima la misura di gradiente per estrarre i
bordi deve risolvere due caratteristiche contrapposte:
- attenuare il rumore
- localizzare i bordi accuratamente quanto possibile.
47
OPERATORE DI CANNY
Se si esagera con la prima caratteritica, si hanno problemi nel
localizzare i bordi in quanto il processo di smoothing può
aggiungere incertezza sulla posizione del valore di massima
discontinuità
Se si esagera con la seconda caratteristica, si ha l’inconveniente
di aumentare la sensibilità dell’operatore ed estrarre bordi che
in realtà sono da attribuire al rumore
Un operatore lineare basato sulla derivata prima della Gaussiana
DroG risulta essere un buon compromesso tra localizzare i
bordi e la non dipendenza del rumore
L’operatore di Canny è risultato essere ottimale per risolvere il
compromesso tra la localizzazione accurata dei bordi e
48
l’influenza dal rumore.
OPERATORE DI CANNY
Le caratteristiche dell’operatore di Canny sono
-
Buona determinazione dei bordi, il rapporto segnale rumore
(snr) del gradiente è massimizzato per ottenere la probabilità
minore di errore nella determinazione di un bordo reale e di
ottenere una probabilità minima nel considerare un falso bordo
-
Buona localizzazione, punti identificati come bordi sono il più
vicino possibile al centro del bordo reale
-
Risposta singola, l’operatore dovrebbe produrre una unica
risposta per uno stesso bordo
49
OPERATORE DI CANNY
Vediamo ora come possono essere descritte matematicamente le caratteristiche ottimali
proposte da Canny
La prima e la seconda caratteristica può essere soddisfatta considerando l’operatore
DroG, la Derivata della Gaussiana, come operatore che meglio approssima il
rapporto segnale rumore e localizzazione
Primo passo
Il primo passo dell’operatore di Canny è quello di convolvere l’immagine f(i,j) con un filtro
di smoothing Gaussiano h(i,j;) producendo una immagine g(i,j) data da:
g (i , j ) f (i , j ) * h(i , j; )
dove controlla il livello di smoothing
Secondo passo
Successivamente sono stimate le derivate parziali gx e gy, il modulo ed orientazione del
gradiente per ogni pixel (i,j) dell’immagine g.
50
OPERATORE DI CANNY
Le derivate parziali sono approssimate, usando per ogni pixel (i,j)
finestre 22, e considerando le prime differenze:
gx (i , j ) g (i , j 1) g (i , j ) g (i 1, j 1) g (i 1, j / 2
g y (i, j ) g (i, j ) g (i 1, j ) g (i, j 1) g (i 1, j 1) / 2
Il modulo ed orientazione del gradiente sono calcolati dalle note
formule:
M (i , j ) gx2 g y2
g y (i, j )
g
(
i
,
j
)
x
(i, j ) arctan
51
OPERATORE DI CANNY
Terzo passo
Siamo ora interessati a calcolare la posizione del bordo, la sua
orientazione e possibilmente considerare anche il modulo del
bordo in relazione al modulo del gradiente M(i,j).
Un modo per localizzare i punti di bordi potrebbe essere quello di
considerare punti dell’immagine gradiente M(i,j) con valori alti
Questo approccio non risulterebbe robusto per identificare i bordi
poiché l’immagine gradiente ha l’effetto di accentuare le zone
con discontinuità di livelli di grigio e conseguentemente
nell’immagine gradiente M(i,j) il problema della localizzazione
si ridurrebbe a trovare i punti di massimo locale.
52
OPERATORE DI CANNY
L’operatore di Marr-Hildreth localizza in corrispondenza degli zeri
nella derivata seconda globale (ricordiamo che non fornisce la
direzione del bordo in quanto è usato l’operatore laplaciano)
L’operatore di Canny invece, annulla la derivata seconda
direzionale per trovare l’orientazione del gradiente e quindi la
direzione ortogonale al bordo
Questo è espresso dalla equazione:
g y
g g x
cos
sin 0
2
r
r
r
2
53
OPERATORE DI CANNY
La localizzazione dei bordi non risulta un compito molto semplice
anche in presenza di bordi ben delineati perchè non sempre
risulta con valore zero la derivata seconda dell’immagine
smussata g
Una buona strategia può essere quella di considerare
l’andamento dei pixel localmente per cercare i valori a zero
della derivata seconda.
Si considera una finestra di dimensioni adeguate centrata sul pixel
in elaborazione
54
OPERATORE DI CANNY
Quindi si cercano i massimi locali nell’immagine gradiente
(modulo) nella direzione perpendicolare al bordo dove la
derivata seconda direzionale è nulla
Questo processo è chiamato soppressione dei non massimi locali
(non-maximal suppression-nms).
Tale processo assottiglia i picchi in M(i,j) ponendo a zero tutti i
punti di M(i,j) lungo la direzione (i,j) del gradiente che non
sono valori di picco.
N (i, j) nms M (i, j); (i, j)
55
OPERATORE DI CANNY
Quarto Passo
Riduzione dei frammenti dei falsi bordi presenti in N(i,j),
Tutti i valori di N(i,j) al di sotto di un certo valore di soglia sono
impostati a zero
56
OPERATORE DI CANNY
I passi essenziali dell’operatore (algoritmo) di Canny sono così
riassunti:
1-L’immagine originale f(i,j) è convoluta con il filtro Gaussiano
h(i,j;) ottenendo l’immagine smussata g(i,j)
2-Calcola le seguenti informazioni (immagini) associate al
gradiente per ciascun pixel dell’immagine smussata g(i,j):
-gx(i,j) derivata prima parziale (componente orizzontale)
-gy(i,j) derivata prima parziale (componente verticale)
-M(i,j) modulo del gradiente
-(i,j) direzione del gradiente
3-Non-maximal suppression (NMS) all’immagine modulo del
gradiente M(i,j) ottenendo come risultato l’immagine N(i,j)
57
OPERATORE DI CANNY
4-Attivare una procedura euristica che utilizza adeguate soglie per
l’immagine N(i,j) allo scopo di attenuare la presenza di falsi
bordi e di collegare contorni interrotti
5-Ripetere eventualmente i 4 passi precedenti con valori crescenti
di k ottenendo le immagini di bordo N(i,j; k) per avere diversi
risultati dell’operatore di Canny
6-Possibilità di integrare i risultati conseguiti N(i,j; k) a diverse
scale in relazione al contesto applicativo.
58