image filtering - biplab.unisa.it · o un edge si presenta in una immagine come il confine tra due...
TRANSCRIPT
Image Filtering
Michele Nappi, Ph.D
Università degli Studi di Salerno
biplab.unisa.it
089-963334
22/03/2016 Michele Nappi 3
Background (cont.)
• Trasformazione dell’immagine:
• f è l’immagine input
• g è l’immagine elaborata
• T è l’operatore di trasformazione
• T è lineare se gode delle seguenti
proprietà:• Omogeneo se T{af[n]}=aT{f[n]}
• Associativo se T{f1[n]+f2[n]}=T{f1[n] }+T {f2[n]}
yxfTyxg ,,
22/03/2016 Michele Nappi 4
Background (cont.)
• Classificazione delle Trasformazioni T:
– Tecniche operanti nel dominio spaziale • Manipolazione diretta dei pixel
– Tecniche operanti nel dominio delle frequenze
• Trasformazione dell’immagine nel dominio delle frequenze e manipolazione delle frequenze
– Tecniche Ibride• Combinazione di tecniche
22/03/2016 Michele Nappi 6
Tecniche Operanti nel
Dominio Spaziale• Point Processing: La
trasformazione T è definita solo nel punto (x,y)
– s = input gray level
– r = output gray level
– T dipende solo da un punto
• Negativo (T è monotona decrescente)
• Binarizzazione (T è monotona crescente)
• Contrast Stretching (T è monotona crescente)
r
s
L-1
L-1
T(s)
r
s
L-1
L-1
(s1 ,r1)
(s2 ,r2)
22/03/2016 Michele Nappi 9
Tecniche Operanti nel
Dominio Spaziale (cont.)
• La trasformazione T è definita in un intorno
predefinito di (x,y)
– Filtri Spaziali (mask processing)
• T dipende da un intorno del punto
– Lowpass (passa basso): attenua o elimina le alte frequenze
» Contorni e dettagli
– Highpass (passa alto): attenua o elimina le basse frequenze
» Contrasto e intesità
– Bandpass (passa banda): attenua frequenze in una banda
predefinita
22/03/2016 Michele Nappi 10
Filtri Spaziali• Filtro lineare (mask) 3x3
• R=w1z1 + w2z2 + w3z3 + w4z4 + w5z5+w6z6 + w7z7+w8z8 + w9z9
• Dove z1, z2…………z9 rappresentano i pixel dell’immagine ai quali è sovrapposto il filtro e w1, w2…………w9 i pesi caratterizzanti il filtro
W1 W2 W3
W4 W5 W6
W7 W8 W9
22/03/2016 Michele Nappi 13
Filtri Spaziali (cont.)
• Smoothing Filter (preprocessing step)
– Blurring e Noise reduction
• Blurring è usato per rimuovere piccoli dettagli
prima di estrarre (grandi) oggetti
• Lowpass
– Lineari
» Filtro Media (aritmetica)
– Non Lineari
» Filtro Mediano
» Filtro Max
» Filtro Min
22/03/2016 Michele Nappi 14
Filtri Spaziali: La Media
• Filtro Media– S= insieme di pixel
connessi con (x,y)
– M= numero di pixel
coinvolti (|S|+1)
Smnf
mnfM
yxg,
,1
,
111
111
111
9
1
22/03/2016 Michele Nappi 23
Media vs Mediana (cont.)
• Media
– Eccessiva velatura (blurring) al crescere della
maschera e delle iterazioni con conseguente perdita
dei dettagli
– Preserva con la versione adattiva le forme (scalini)
• Mediana
– Riduzione del rumore (noise reduction) senza
(eccessiva) perdita di dettagli (blurring limitato)
– Non preserva le forme (scalini)
22/03/2016 Michele Nappi 36
Edge Detection
• Edge:
– Aree di transizione tra regioni omogenee
• Punti Isolati
• Linee (Orizzontali, Verticali, Oblique)
• Contorni (insieme di punti con inizio e fine
coincidenti)
22/03/2016 Michele Nappi 40
Edge Detection: Punti Isolati
o Le discontinuità probabilmente più semplici da rilevare sono i punti isolati
o Il punto corrispondente alla posizione centrale della maschera può essere considerato un punto isolato quando, per esempio con riferimento alla maschera mostrata, si ha:
R>T
essendo T un opportuno valore di soglia (non negativo)
o La motivazione è che il valore di grigio di un punto isolato è normalmente molto differente da quello dei suoi vicini
22/03/2016 Michele Nappi 42
Edge Detection: Linee
• La prima maschera risponde più intensamente alle linee orizzontali (spesse un pixel): con uno sfondo costante, il massimo di R si ha infatti quando la linea coincide con la riga centrale della maschera
• Analogamente, la seconda maschera risponde meglio a linee orientate a 45°, la terza a linee verticali, la quarta a linee orientate a 45°
• Supponiamo di passare tutte e quattro le maschere su una immagine, e che in un certo punto si abbia che R1, R2, R3 e R4 le risposte delle quattro maschere.
• Se si verifica |Ri|>|Rj| per ogni i≠j allora il punto in questione è associato alla maschera Ri
22/03/2016 Michele Nappi 43
Edge Detection: Contorni
o L’estrazione dei contorni (edge) è sicuramente uno degli argomenti che hanno ricevuto più attenzione nella letteratura sull’image processing
o Il contorno di un oggetto rappresenta infatti la separazione tra l’oggetto e lo sfondo o tra l’oggetto ed altri oggetti, per cui la sua estrazione è molto spesso il primo passo verso l’individuazione dell’oggetto
o Un edge si presenta in una immagine come il confine tra due regioni caratterizzate da proprietà dei livelli di grigio in qualche modo distinguibili
o Nel seguito ipotizzeremo che le regioni in questione siano sufficientemente omogenee, di modo che la determinazione della transizione tra le due regioni sia possibile sulla sola base della discontinuità dei valori di grigio
o Le prime tecniche di edge detection che analizziamo sono basate sull’applicazione di un operatore locale di derivata.
22/03/2016 Michele Nappi 45
Edge Detection: Contorni (cont.)
• Il fatto che la derivata prima e la derivata seconda del profilo siano significativamente diverse da 0 soltanto in corrispondenza alle transizioni costituisce la motivazione dell’uso di operatori derivativi per l’estrazione dei contorni
• La derivata prima del profilo è positiva in corrispondenza ad una transizione scuro-chiaro, negativa in corrispondenza ad una transizione chiaro-scuro, nulla nelle zone a livello di grigio costante
• La derivata seconda è positiva in prossimità di un contorno, dalla parte scura del contorno stesso, negativa dalla parte chiara del contorno, nulla nelle zone a livello di grigio costante, ed esibisce un passaggio per lo zero o zero crossing esattamente in corrispondenza alle transizioni
22/03/2016 Michele Nappi 46
Edge Detetction: Contorni (cont.)
• Riassumendo, il valore della derivata prima può essere utilizzato per determinare la presenza di contorni in una immagine
• Gli zero crossing della derivata seconda ne possono consentire la precisa localizzazione
• Il segno della derivata seconda permette di stabilire l’appartenenza di un pixel al versante scuro o al versante chiaro di un contorno
• L’applicazione dei concetti precedentemente illustrati necessita tuttavia di alcune cautele, essenzialmente legate alla natura digitale delle immagini
22/03/2016 Michele Nappi 58
Sharpening
• Filtri Highpass
– Evidenziano i dettagli fini
111
181
111
9
1
22/03/2016 Michele Nappi 59
High Boost Filter
• Highpass = Original – Lowpass
• High Boost = (A)(Original) - Lowpass
(A-1)(Original) + Original – Lowpass
(A-1)(Original) + Highpass
• A=1 Highpass
• A>1 Parte dell’immagine originale è sommata
al risultato del filtro highpass