Operatori differenziali f(x) è l'intensità dell'immagine Contorni e forme
Derivata discreta La derivata può essere approssimata tramite una differenza Lo stesso approccio vale per la derivata seconda In uno spazio bidimensionale al posto della derivata si ha il gradiente (si noti che il gradiente è un vettore) Contorni e forme
Convoluzione g(x0,y0) = ò f(x0-x, y0-y) I(x,y) dx dy g(x,y) = S f(x-i, y-j) I(i,j) La convoluzione è un operatore lineare Contorni e forme
La convoluzione (maschera) La convoluzione nel discreto avviene su un supporto limitato nello spazio (template) Può essere considerata una finestra che si muove sull'immagine Contorni e forme
La convoluzione (scomposizione) La convolluzione è una operazione pesante dal punto di vista computazionale 1 4 6 4 1 4 16 24 16 4 6 24 36 24 6 per eseguire una convoluzione con la maschera precedente occorrono 25 moltiplicazioni per ogni pixel; spesso maschere complesse possono essere scomposte in più maschere semplici La convoluzione precedente può essere scomposta in due convoluzioni successive con le due maschere: 1 4 6 4 1 1 e 4 6 4 1 in questo caso sono sufficienti 10 (5+5) moltiplicazioni per pixel Contorni e forme
Approssimazioni del gradiente Il gradiente è un vettore (ha due componenti) Gli operatori differenziali nel discreto sono realizzati tramite maschere a somma nulla l'applicazione a una regione uniforme deve dare risultato zero Contorni e forme
Operatore di Roberts È la soluzione più semplice Si sfruttano due maschere M1 e M2 per ottenere due componenti ortogonali del gradiente G1=M1*I,G2=M2*I È molto sensibile al rumore Il modulo del gradiente risulta: Gm = sqrt(G12,G22) la fase: Gf = arctan(G2/G1)+p/4 1 -1 1 -1 Contorni e forme
Operatore isotropico Si sfruttano due maschere Mx e My per ottenere le due componenti ortogonali del gradiente Gx=Mx*I,Gy=My*I Il modulo del gradiente risulta: Gm = sqrt(Gx2,Gy2) la fase: Gf = arctan(Gy/Gx) In C: phi = atan2(Gy,Gx) -1 1 -2 2 -1 1 1 2 1 -1 -2 -1 Contorni e forme
Operatore di Sobel Per evitare i problemi di calcolo con i numeri reali, l'operatore isotropico viene normalmente approssimato: Prewitt Sobel -1 1 1 1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 2 1 -2 2 -1 1 -1 -2 -1 Contorni e forme
Operatore di Sobel Normalmente si utilizza l'operatore di Sobel, approssimando il modulo con la somma dei valori assoluti Gm = |Gx|+|Gy| 0 0 0 1 1 1 1 0 0 0 0 0 0 4 4 0 0 -4 -4 0 0 0 Gx 0 0 0 0 0 0 0 0 0 0 0 Gy Attenzione nell'implementazione delle convoluzioni, se l'immagine assume valori fra 0 e 255, le componenti del gradiente assumono valori fra -255*4 e 255*4 Contorni e forme
Operatore di Sobel -1 1 -2 2 -1 1 1 2 1 -1 -2 -1 Contorni e forme
Operatore di Sobel G28 f=arctg(-13/15) 1 2 -1 -2 2 -2 1 -1 1 2 -1 -2 1 2 -1 -2 Maschera per contorni verticali Vengono create due nuove immagini 2 -2 1 -1 Maschera per contorni orizzontali 1 2 -1 -2 2 14 9 -2 -6 Gx=15 G28 f=arctg(-13/15) Contorni e forme 2 -2 1 -1 10 -16 2 -9 -2 Gy=-13
Operatore di Sobel Contorni e forme
Esempi Contorni e forme
Inibizione laterale Nella retina i recettori sfruttano un meccanismo di inibizione laterale Da un punto di vista computazionale l'inibizione laterale può essere ottenuta tramite la differenza di due maschere di di differente ampiezza (generalmente gaussiane) Lo zero-crossing indica il punto di transizione uno dei vantaggi dello zero-crossing è che produce contorni chiusi Contorni e forme
L'operatore DOG L'operatore descritto viene spesso chiamato Difference Of Gaussians Il risultato migliore lo si ottiene se la maschera esterna è quanto più larga possibile, senza che includa due bordi adiacenti La maschera interna deve essere tanto larga quanto la zona di transizione Scene complesse devono perciò essere analizzate con un insieme di differenti operatori di ampiezza variabile Contorni e forme
L'operatore DOG Contorni e forme
Template matching Sfrutta un modello di contorno ideale e tende ad evidenziare i punti dell'immagine in accordo con il modello La precisione nella valutazione dell'orientamento è bassa Contorni e forme
Template matching Operatore di Kirsh Operatore di Compass Contorni e forme
Operatore tre su nove 3 2 1 4 8 0 5 6 7 Pi,j=Ii,j+Ii,j-1+Ii,j+1 3 2 1 4 8 0 5 6 7 Pi,j=Ii,j+Ii,j-1+Ii,j+1 Contorni e forme
Estrazione di contorni Pi,k è il massimo fra gli 8 parametri Pi,j i coefficienti 1.5 e 0.333 servono per normalizzare il risultato Una opportuna soglia serve per selezionare i punti di contorno dal resto Contorni e forme