analisi di immagini e dati biologici filtri l4-1 41

Post on 03-May-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Analisi di Immagini e Dati Biologici

Filtri

L4-141

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

Filtro di smoothing

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

Principale uso:

Limitazione del rumore luminoso scorrelato dall'oggetto

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 Ogni matrice ha un “hot spot”, generalmente il centro

della matrice di un filtro (anche se non necessariamente)

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

Esempi di filtri lineari

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

Filtro gaussiano

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

Smoothing

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>

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

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

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

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

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

Filtri lineari

Convoluzione

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 Passaggio da convoluzione a correlazione

Filtri Lineari e System identification

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

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

Determinazione dell PSF

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

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

Effetti della PSF

Aberrazione sferica

Convoluzione

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”

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

top related