Utilizzare le funzioni medsmooth e getnoise per trovare l'intensità mediana (quantile 0,5) di ogni elemento in un'immagine e i relativi otto vicini più prossimi (kernel quadrato 3 x 3). La funzione medsmooth restituisce l'immagine filtrata, mentre getnoise restituisce la differenza tra l'immagine originale e quella filtrata.
Utilizzare quantfilt se al posto della mediana sono necessari il quantile e il kernel definiti dall'utente.
Oltre a rimuovere il rumore, il filtro mediano tende anche a rimuovere da un'immagine piccole caratteristiche nitide.
3. Confrontare l'immagine originale e quella a cui è stato aggiunto rumore.
(fruit.bmp)
(fruit_n.bmp)
4. Filtrare l'immagine con medsmooth.
(fruit_f.bmp)
getnoise
Questa funzione sottrae la versione originale della matrice di un'immagine dalla relativa versione filtrata mediana.
1. Applicare la funzione getnoise all'immagine con rumore.
(fruit_gn.bmp)
La funzione getnoise esegue un'operazione equivalente alla sottrazione del rumore dall'immagine filtrata:
2. Calcolare e visualizzare la differenza assoluta tra le due immagini.
(fruit_an.bmp)
quantfilt
In alcuni casi, il filtro mediano con kernel quadrato 3 x 3 potrebbe non essere sufficientemente generale per un filtraggio corretto. Se, ad esempio, un'immagine con numerosi angoli vivi viene filtrata in questo modo, i pixel degli angoli vengono spesso rimossi. Evitare questo effetto utilizzando la funzione quantfilt con un kernel di filtro mediano a forma di segno più anziché il kernel uniforme 3 x 3 specificato il precedenza.
Considerare la serie usuale e aggiungervi rumore:
1. Leggere l'immagine della serie.
2. Aggiungere rumore all'immagine.
3. Confrontare l'immagine originale e quella a cui è stato aggiunto rumore.
(pattern.bmp)
(pattern_n2.bmp)
4. Filtrare l'immagine a cui è stato aggiunto rumore utilizzando la funzione quantfilt con un quantile di 0,5 per il valore mediano e un kernel quadrato 3 x 3.
5. Filtrare l'immagine a cui è stato aggiunto rumore utilizzando la funzione quantfilt con un quantile di 0,5 per il valore mediano e un kernel a forma di segno più.
6. Confrontare le due serie filtrate.
(pattern_sq.bmp)
(pattern_cr.bmp)
Il kernel quadrato provoca una degradazione di angoli, linee e bordi quadrati molto maggiore del kernel a forma di segno più.
Quantili non mediani
Un'altra applicazione della funzione quantfilt consiste nella scelta di quantili diversi dal valore mediano (0,5), con una conseguente modifica dell'intensità globale dell'immagine. Scegliendo, ad esempio, il quantile 0,0, si prende il valore minimo del pixel e dei relativi vicini, mentre il quantile 1,0 consente di ottenere il valore massimo. Questo comportamento è analogo, per alcuni aspetti, alla dilatazione e all'erosione morfologica in scala di grigi.
1. Provocare la dilatazione delle regioni più scure della serie originale e l'erosione delle regioni più chiare impostando il quantile su 0,0.
2. Provocare la dilatazione delle regioni più chiare della serie originale e l'erosione delle regioni più scure impostando il quantile su 1,0.
3. Confrontare la serie originale con le versioni scura e chiara.