Analisi di Immagini e Dati Biologici Filtri L4-1 41.

40
Analisi di Immagini e Dati Biologici Filtri L4-1 41

Transcript of Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Page 1: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Analisi di Immagini e Dati Biologici

Filtri

L4-141

Page 2: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

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

Page 3: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtro di smoothing

Page 4: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Smoothing Filter

Un pixel della nuova immagine è ricalcolato come media dei pixel circostanti

Page 5: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Smoothing Filter

La stessa espressione resa per un pixel generico avente coordinate (u,v)

Page 6: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

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

Principale uso:

Limitazione del rumore luminoso scorrelato dall'oggetto

Page 7: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

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:

Page 8: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Matrice di un filtro Quasi sempre le matrici hanno ordine dispari in modo

che sia univoco il loro centro Ogni matrice ha un “hot spot”, generalmente il centro

della matrice di un filtro (anche se non necessariamente)

Page 9: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtri lineari

Modello correlativo del calcolo di un filtro lineare

Page 10: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtri lineari

Rappresentazione matematica

Page 11: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

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

Page 12: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Esempi di filtri lineari

Page 13: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

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

Page 14: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtro gaussiano

5x5,σ=2 3x3, σ=1 Originale

Page 15: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Smoothing

Page 16: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Smoothing

octave:1> cd Desktop/octave:2> ht=imread('halftone.tiff');octave:3> imshow(ht)octave:4> figureoctave:5> htf = imfilter(ht,fspecial("gaussian",7,1.5));octave:6> imshow(htf)octave:7>

Page 17: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Octave: fspecial

-> fspecial(type,arg1,arg2)

Ritorna una matrice basata su un kernel definito dalla stringa passata come primo argomento (type)

Controllata da 1,2 o 3 argomenti

1) Tipo di filtro da generare2) Parametro di controllo 13) Parametro di controllo 2

Page 18: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Octave: fspecial

Filtri di smoothing generati Average: filtro di media Gaussian: filtro con kernel gaussiano Disk: analogo del filtro di media ma con supporto

circolare

Page 19: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

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

Page 20: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

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

Page 21: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Octave: fspecial

Il signficato del terzo argomento (opzionale) dipende dal tipo di filtro che state generando Per il box-filter (“average”) è la dimensione del

supporto rettangolare del filtro (può essere un vettore di 2 elementi)

Per il filtro gaussiano il terzo argomento è la dispersione del filtro (default = 0.5)

Per il filtro circolare (“disk”) è il raggio del disco Provate a confrontare l'output di fspecial per un filtro

gaussiano di ordine 7 cambiando il valore della dispersione

Page 22: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Octave's filtering: imfilter(I, f)

Funzione di Octave che implementa un filtro lineare 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

Page 23: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtri lineari

Convoluzione

Page 24: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtri lineari

Modello convolutivo

La funzione di correlazione con cui si rappresenta l'azione di un filtro viene più convenientemente espressa come convoluzione

Page 25: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtri lineari Passaggio da convoluzione a correlazione

Page 26: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtri Lineari e System identification

Impulse Response: filtro che lascia l'input intatto E' rappresentato dalla funzione δ

Page 27: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Point Spread Function Funzione di trasferimento ottico del sistema

Un modello lineare della funzione ottica può essere rappresentato matematicamente come convoluzione della PSF con una sorgente puntiforme

La PSF rappresenta il modello di tutte le alterazioni che avvengono nella formazione dell'immagine rispetto al modello teorico

Page 28: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Determinazione dell PSF

La funzione δ preserva una immagine, costituisce cioè l'identità del prodotto di convoluzione

Page 29: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

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

Page 30: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Effetti della PSF

Aberrazione sferica

Page 31: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Convoluzione

Page 32: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Esempi di effetti della PSF

“Diffraction spikes” nei telescopi

Ogni stella è una sorgente approssimativamente puntiforme

Il risultato è la somma di sorgenti “tipo puntiforme”

Ogni sorgente riproduce la PSF del telescopio che crea l'effetto delle “diffraction spikes”

Page 33: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtri non lineari

I filtri lineari

Pixel di un immagine risultante funzione di NxM pixel Problema del 'blurring' (offuscamento)

Page 34: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtri non lineari: max e min

Page 35: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtro max e min

Page 36: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtro di mediana

Il median filter seleziona per ogni pixel dell'immagine di output il valore della mediana dei valori di un intorno

Page 37: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtro di Mediana

Page 38: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtro di Mediana

Page 39: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtro di Mediana

Page 40: Analisi di Immagini e Dati Biologici Filtri L4-1 41.

Filtro di Mediana