7 – Filtri, panoramica teorica e applicazioni
Per modificare un segnale digitale (nel nostro caso di un segnale nel dominio dello spazio, cioè di un’immagine) una tecnica è l’applicazione di filtri.
Il filtro quindi è un procedimento che data un’immagine originale f(x,y) ne genera una nuova g(x,y) i cui pixel siano stati trasformati secondo un determinato algoritmo.
Con i filtri si possono enfatizzare alcune caratteristiche o rimuoverne altre. In generale potremmo dire che ci può interessare:
- Eliminazione dei disturbi
- Esaltazione dei particolari
- Estrazione di informazione
In linea molto generale un filtro è una funzione di intorno: il valore che assume il pixel su cui viene applicato il filtro è determinato dai valori dei pixel del suo intorno e da quanto è ampio l’intorno prescelto.
Per intorno di un pixel si intende l’insieme dei pixel ad esso vicini, come nel caso di un quadrato di 3×3 pixel in cui quello in esame è in posizione centrale.
Il filtraggio viene eseguito su un pixel alla volta. Il peso centrale della matrice del filtro viene applicato al pixel che deve essere filtrato ed ogni peso del filtro viene moltiplicato per il valore del pixel corrispondente; infine tutti i risultati del prodotto vengono sommati.
Esempio di matrice (detta matrice di convoluzione, originale + matrice kernel)
Essenzialmente le elaborazioni delle matrici di convoluzioni modificano il valore (colore, trasparenza, ecc.) di un pixel in base a un calcolo sui valori dei pixel vicini..
La matrice che si usa per contenere i coefficienti della convoluzione (quella in centro) è appunto detta kernel della convoluzione.
Perché i valori numerici rimangano nel range dei valori ammissibili (per esempio, 0-255), occorre che la somma di tutti i coefficienti sia 1.
Per un approfondimento tecnico sull’elaborazione dei segnali:
Patrizia Boccacci: https://person.dibris.unige.it/boccacci-patrizia/esi/filtri.pdf
Vincenzo Lombardo: http://www.di.unito.it/~vincenzo/TechInfoImmVid/SlidePDF/filtri-teoria.pdf
I filtri presenti in Photoshop agiscono in questo modo. Su filtri -> personale è possibile esercitarsi ad applicare una maschera personalizzata su intorno di massimo 7×7.
Possiamo classificare tre tipi di passaggi di filtro:
- elaborazioni puntuali
- elaborazioni locali
- elaborazioni globali
Elaborazione puntuale
Determinano il valore di un pixel dell’immagine elaborata g(x,y) in funzione del valore dello stesso pixel nell’immagine originale f(x,y).
Queste tecniche forniscono il valore di luminanza di ogni pixel dell’immagine migliorata g(xmy) in funzione del valore dei pixel dell’immagine originale f(x,y) e dei valori dei pixel di un opportuno intorno.
Per intorno di un pixel si intende l’insieme dei pixel ad esso vicini, come nel caso di un quadrato di 3×3 pixel in cui quello in esame è in posizione centrale.
Un esempio di operazione puntuale omogenea è l’inversione della scala dei grigi o negativo dell’immagine. Lo si può rappresentare attraverso una lookup table (LUT) che rappresenta la funzione di trasformazione del valore r di f(x, y) al valore s di g(x,y). L’andamento del grafico corrisponde al tipo di funzione di trasformazione.
Elaborazioni locali
Queste eleborazioni modificano un pixel centrale in base ai valori dell’insieme del proprio intorno, come abbiamo già visionato precedentemente. L’intorno ha una dimensione limitata, in genere 3×3, 5×5, 7×7.
Nell’intorno ogni pixel ha un peso specifico che andrà ad incidere sulla variazione del valore di p0.
Se tutti i pixel di questa maschera 3×3 possiedono lo stesso peso, inevitabilmente questo sarà 1/9 del totale per ogni pixel.
Nel filtro di media, ad esempio, che serve a sfocare l’immagine il valore di p0 sarà sostituito dalla media dei valori del suo intorno. Come si può intuire, in questo modo, la funzione smussa le differenze fra i pixel, eliminando i contrasti.
Fra i filtri locali possiamo riconoscere:
Filtri Passo Alto (di sharpening)
Un filtro passa alto taglie le basse frequenze mettendo in risalto i contrasti (ad esempio i bordi di un’immagine).
In base ai pesi dell’intorno si possono esaltare le differenze.. Come si evince dall’immagine si associato al pixel centrale un valore positivo e ai pixel dell’intorno locale valori negativi o nulli, la somma dei pesi sarà sempre uno ma in questo caso si accentua la differenza fra i pixel del bordo e il suo intorno.
IMG ESEMPIO
Filtro passa basso (blur)
La scelta dei pesi ci permette di muoverci in due contesti: eliminano le brusche transizioni di luminanza corrispondenti alle alte frequenze (rumore e contorni), lasciando inalterate quelle basse
IMG ESEMPIO
Estrazione dei contorni
Questi filtri esaltano solo i pixel che appartengono al contorno azzerando gli altri. Si può scegliere la direzione di utilizzo del filtro (nord, sud, ovest, est). Si può invertire l’applicazione del filtro per ottenere un’immagine in negativo.