Analisi di Immagini e Dati Biologici Filtri L4-1 35.
-
Upload
italo-lolli -
Category
Documents
-
view
216 -
download
0
Transcript of Analisi di Immagini e Dati Biologici Filtri L4-1 35.
Analisi di Immagini e Dati Biologici
Filtri
L4-135
Filtri
Trasformazione di un immagine che non si limita alla trasformazione di intensità di un pixel
Il singolo pixel è ricalcolato in funzione del suo valore e del valore dei pixel circostanti
La funzione che “modella” la trasformazione è detta kernel
Filtri
Smoothing Filter
Un pixel della nuova immagine è ricalcolato come media dei pixel circostanti
Smoothing Filter
La stessa espressione resa per un pixel generico avente coordinate (u,v)
Smoothing Filter
Caratteristiche generali Dimensione (size): numero di punti lungo
righe&colonne coinvolti nel filtro Forma: Il filtro di media è rettangolare. per filtri di
dimensione maggiore si può cercare di approssimare la forma di un disco
Kernel: funzione che determina i valori dei coefficienti del filtro
Filtri Lineari
Il filtro di media è un esempio di filtro lineare E' semplice rappresentare l'azione di un filtro
lineare attraverso una matrice La matrice di un filtro di media:
Matrice di un filtro Quasi sempre le matrici hanno ordine dispari in
modo che sia univoco il loro centro Il centro di una matrice di un filtro, anche se
non necessariamente, è il suo “hot spot”
Filtri lineari
Modello correlativo del calcolo di un filtro lineare
Filtri lineari
Rappresentazione matematica
Filtri Lineari Box filter: è il filtro di media.
Gaussian filter: i coefficienti di un filtro gaussiano non sono costanti ma calcolati dalla funzione di Gauss in 2-D
Filtri lineari
octave:1> fspecial("average",3)ans =
0.11111 0.11111 0.11111 0.11111 0.11111 0.11111 0.11111 0.11111 0.11111
octave:2> fspecial("gaussian",3)ans =
0.011344 0.083820 0.011344 0.083820 0.619347 0.083820 0.011344 0.083820 0.011344
Effetto di smoothing
Filtri lineari
Filtro di differenza: modelli di filtri la cui risposta tende ad esaltare i bordi (salti di intensità)
I filtri per differenza hanno alcuni dei coefficiente della matrice negativi
Esempi di filtri lineari
Filtri lineari
Modello convolutivo La funzione di correlazione con cui si rappresenta
l'azione di un filtro viene più convenientemente espressa come convoluzione
Filtri lineari
Convoluzione
Filtri lineari Dimostrazione del passaggio da convoluzione a
correlazione
Filtri Lineari e System identification
Impulse Response: filtro che lascia l'input intatto
E' rappresentato dalla funzione δ
Determinazione dell PSF
La funzione δ preserva una immagine, costituisce cioè l'identità del prodotto di convoluzione
Point Spread Function Se una legge di trasformazione può essere
rappresentata con un modello lineare allora può essere scritta come convoluzione
La PSF rappresenta il modello lineare di tutte le alterazioni che avvengono nella formazione dell'immagine rispetto al modello teorico Distorsioni Aberrazioni Diffusioni
Se la PSF segue una legge lineare è possibile in linea di principio correggere i suoi effetti
Determinazione della PSF
Per correggere il comportamento di un sistema ottico si usano sorgenti puntiformi
Si va ad osservare l'immagine che si forma che è una rappresentazione della PSF
Filtri non lineari
I filtri lineari Pixel di un immagine risultante funzione di NxM
pixel Problema del 'blurring' (offuscamento)
Filtri non lineari: max e min
Filtro max e min
Filtro di mediana
Il median filter seleziona per ogni pixel dell'immagine di output il valore della mediana dei valori di un intorno
Filtro di Mediana
Filtro di Mediana
Filtro di Mediana
Filtro di Mediana
Octave's filtering related functions
Funzioni di Octave che generano filtri J = imfilter(I, f)
'I' immagine da filtrare 'f' matrice del filtro 'J' matrice dell'immagine di output
Preserva la classe dell'immagine di input Se l'immagine è RGB agisce separatamente su
ogni piano di colore
Octave: fspecial
-> fspecial(type,arg1,arg2) Funzione per generazione della matrice di
diversi filtri controllata da 1,2 o 3 argomenti
1) Tipo di filtro da generare
2) Parametro di controllo 1
3) Parametro di controllo 2
Octave: fspecial
→ type = “average” Filtro di media rettangolare. In assenza di altri argomenti
genera un filtro 3x3 Se il secondo argomento è un intero = N ritorna il filtro di
media rettangolare NxN Se è un vettore di 2 elementi allora vengono interpretati
per creare una matrice NxM octave:1> fspecial("average",5)ans =
0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000 0.040000
octave:2> 0.04*25ans = 1
Octave: fspecial
→ type = “gaussian” Il secondo argomento è interpretato come per il filtro di
media “average” Il terzo argomento è la dispersione σ (“spread”) della
funzione
octave:3> fspecial("gaussian",5)ans =
6.9625e-08 2.8089e-05 2.0755e-04 2.8089e-05 6.9625e-08 2.8089e-05 1.1332e-02 8.3731e-02 1.1332e-02 2.8089e-05 2.0755e-04 8.3731e-02 6.1869e-01 8.3731e-02 2.0755e-04 2.8089e-05 1.1332e-02 8.3731e-02 1.1332e-02 2.8089e-05 6.9625e-08 2.8089e-05 2.0755e-04 2.8089e-05 6.9625e-08
octave:4> sum(sum(fspecial("gaussian",5)))ans = 1
Filtro gaussiano
5x5,σ=2 3x3, σ=1 Originale