Le operazione di filtraggio nel dominio spaziale sono:
Un filtro può essere:
lineare
P(i,j) = P(i, j-1)+P(i-1,j)+2P(i,j)+P(i+1, j)+P(i,j+1)
non lineare
P(i,j) = max(P(i, j-1), P(i-1,j), P(i,j), P(i+1, j)+P(i,j+1))
determina i punti più luminosi sull’immagine.
Si parla di filtraggio spaziale in quanto l’operazione avviene direttamente nel dominio dei pixel o dominio spaziale.
In generale, il filtraggio lineare di una immagine f di dimensione M x N con una maschera di dimensione m x n può essere descritto dalla seguente equazione: (vedi figura) con a = (m-1)/2 e b = (n-1)/2 che fa riferimento ad una nomenclatura per pixel e coefficienti modificata come di seguito illustrato per m = n = 3.
Attenzione particolare meritano i pixel di bordo, in quanto per essi occorre stabilire delle convenzioni per la definizione dell’intorno, che viene a cadere in parte fuori dall’immagine, quando la maschera è vicina al bordo.
La soluzione più semplice è limitare l’escursione del centro della maschera, che supponiamo per semplicità quadrata, in modo che esso possa arrivare ad una distanza non inferiore a (n-1)/2 pixel dal bordo della immagine.
L’immagine risultante dal filtraggio avrà una dimensione inferiore a quella originale, ma tutti i pixel risulteranno correttamente elaborati con la maschera intera.
Se l’immagine risultato deve avere le stesse dimensioni di quella originale, una possibilità è calcolare il valore dei nuovi pixel a partire soltanto da quelli iniziali che ricadono all’interno della maschera.
In questo modo, l’immagine risultato avrà i pixel vicini al bordo che saranno stati elaborati solo con una maschera parziale, e quindi di valore non corretto.
Un altro approccio prevede il padding dell’immagine originale prima del filtraggio, aggiungendo righe e colonne di pixel in misura sufficiente, il cui valore può essere o un livello di grigio costante (per esempio 0) o una replica dei corrispondenti pixel “veri”.
In questo caso, dopo il filtraggio, le righe e le colonne in soprannumero devono essere rimosse. Anche in questo caso, l’immagine risultato avrà pixel di bordo non corretti.
È da notare che la dimensione delle strisce di pixel non corretti aumenta in entrambi i casi all’aumentare della dimensione della maschera.
I filtri di smooting sono usati per il blurring dell’immagine e per la riduzione del rumore.
L’operazione di blurring è normalmente utilizzata in fase di pre-elaborazione, allo scopo di eliminare piccoli dettagli inutili o addirittura dannosi per le successive elaborazioni, ovvero di compensare piccole imperfezioni quali le interruzioni che spesso si verificano nelle linee di contorno.
Un filtro lineare di smooting è semplicemente un filtro media: esso sostituisce ad ogni pixel la media dei valori dei pixel nell’intorno definito dalla maschera, così riducendo l’entità delle differenze di grigio tra punti vicini.
Il più semplice può essere realizzato mediante una maschera con pesi tutti uguali, di valore tale da dare un risultato compatibile con la scala dei grigi adottata.
Rimpiazzano il valore del pixel con una media pesata dei pixel che lo circondano.
Il kernel è la matrice che contiene i pesi.
N = fattore di normalizzazione
I filtri precedenti realizzano un’operazione di media mobile, in quanto sostituiscono a ciascun pixel la media dei valori nell’intorno, quindi un valore di grigio non necessariamente presente nell’immagine iniziale. È proprio l’introduzione di tali valori che da luogo al blurring, ed anche alla riduzione del rumore (noise cleaning).
Si noti ancora come l’effetto di smooting sia tanto più accentuato quando più grande è la dimensione dell’intorno.
La riduzione dell’evidenza dei dettagli presenti nell’immagine, e quindi del contrasto, è una operazione che riduce le componenti di alta frequenza spaziale presenti nell’immagine, e pertanto queste operazioni sono dei filtraggi passa-basso.
Nelle maschere a coefficienti non uguali, è interessante notare come la media risultante sia pesata, dando più importanza ad alcuni pixel piuttosto che ad altri.
La somma dei pesi della maschere è sempre 1. Questo significa che in una zona dell’immagine uniformemente grigia l’applicazione del filtro, correttamente, non altera i valori dei pixel. In tal modo il filtro non introduce bias di intensità.
Se l’obbiettivo del filtraggio è la riduzione del rumore ma non il blurring, cioè si desidera una immagine meno rumorosa ma che mantenga i dettagli, i filtri di media non danno risultati soddisfacenti.
Filtro Passa-Basso
Riduce i dettagli e smussa i bordi settando i pixel al valore medio trovato nel loro contorno, se la loro deviazione da questo valore è grande.
In figura: Applicazione di un filtro di smoothing passa-basso, in cui M è il valore medio e S la deviazione standard.
Filtro Gaussiano
Funziona come il filtro di smooting ma il suo effetto è più accentuato.
Filtro Mediano
Un approccio alternativo fa ricorso al filtro mediano, per effetto del quale un pixel è sostituito dal valore mediano dei pixel nell’intorno. Si tratta di un filtro non lineare.
Per esempio, dato un frammento di immagine come quello mostrato in figura, un filtro mediano 3×3 opera nel modo illustrato.
Si ricorda che il mediano M di un insieme di valori è tale che metà dei valori sono minori di M e metà dei valori sono maggiori di M.
Filtro Mediano
Pertanto nell’intorno di ogni pixel si devono ordinare i valori dei pixel in esso contenuti, compreso quello centrale, ed il valore mediano di essi è assegnato al pixel centrale. Nell’esempio:
29, 35, 38, 40, 52, 57, 107, 110, 115
Quindi l’effetto del filtro mediano è di forzare i pixel ad assumere un valore uguale a quello di uno dei pixel circostanti, eliminando così eventuali spike isolati di intensità, che sono quelli con cui di solito si manifesta il cosiddetto rumore impulsivo (o salt-and-pepper).
Il filtro mediano è un esempio di una classe di filtri nota come order-statistics: il loro effetto, in generale, è di sostituire al pixel centrale della regione dell’immagine ricadente nell’area del filtro uno degli altri pixel, determinato sulla base di un ranking dei loro valori.
Altri esempi di filtri di questa classe sono il filtro di massimo e il filtro di minimo.
2. Digital Imaging Processing: Introduzione
4. Immagini Digitali - parte prima
5. Immagini Digitali - parte seconda
6. Dicom
7. Trasformazioni di Intensità
8. Convoluzione e Correlazione
9. Filtraggio nel Dominio Spaziale - parte prima
10. Filtraggio nel Dominio Spaziale - parte seconda
11. Trasformazioni Geometriche
14. Filtraggio nel Dominio delle Frequenze
16. Region Growing
17. Image Registration - parte prima
18. Image Registration - parte seconda
19. Computed Tomography - parte prima