7.9 Verso gli Operatori locali e globali

Transcript

7.9 Verso gli Operatori locali e globali
7.9. VERSO GLI OPERATORI LOCALI E GLOBALI
7.9
187
Verso gli Operatori locali e globali
Gli operatori puntuali omogenei e non omogenei descritti, trasformano essenzialmente i livelli
di grigio di una immagine per migliorarne la qualitá visiva e per attenuare in alcuni casi il
rumore introdotto dalle irregolaritá dei sensori.
Il contenuto informativo di una immagine é distribuito sui vari pixel che la compongono.
I valori di livello di grigio di ciascun pixel varia dal nero al bianco e viceversa sulla base delle
strutture presenti nell’immagine.
L’informazione intrinseca presente nell’immagine puó essere associata alle strutture di
base presenti che possono produrre spazialmente basse o alte variabilitá nei livelli di grigio.
Una immagine priva di strutture presenterá pixel con livelli di grigio piú o meno con
valori costanti. Quando vi sono diverse transizioni con brusche variabilitá nei livelli di
grigio, si dice che l’immagine presenta alte frequenze spaziali dominanti. Viceversa, quando
vi é una dominanza di transizioni con bassa variabilitá nei valori dei livelli di grigio, si dice
che l’immagine presenta basse frequenze spaziali dominanti. La presenza nell’immagine di
alte frequenze spaziali presuppone l’esistenza di piccole strutture con le dimensioni di uno
o piú pixel in cui si verificano alte variazioni di livelli di grigio, normalmente causati dalla
presenza di bordi, spigoli (Edge).
La ricerca della presenza di particolari strutture nell’immagine, non puó essere realizzata
con operatori puntuali, ma necessitano operatori che per ciascun pixel in esame, calcolano
il nuovo valore di livello di grigio, in relazione al valore dei pixel nelle sue vicinanze. Per
tale scopo sono richiesti operatori locali o globali che elaborano l’immagine di input per
accentuare o rimuovere una banda di frequenze spaziali, cosı́ come per una particolare bassa o alta frequenza spaziale. Per l’analisi delle frequenze spaziali (orizzontali, verticali,
obliqui) presenti nell’immagine, un metodo molto efficace consiste nell’eseguire una trasformata delle frequenze spaziali. Tale trasformata converte l’informazione dell’immagine dal
dominio spaziale dei livelli di grigio al dominio delle frequenze (espresse in termini di modulo e fase). La piú diffusa é la trasformata di Fourier insieme ad altre (Hadamard, Haar,
seno, coseno) di minore utilizzo (in precedenza é stata usata la trasformata alle componenti
pricipali -o di Karhunen Loeve- per la rappresentativitá delle componenti significative di
una immagine multi spettrale).
Il vantaggio di tali trasformate consiste nel generare una nuova immagine che decompone e visualizza in modo significativo tutte le frequenze spaziali presenti nell’immagine di
input. L’analisi nel dominio delle frequenze puó costituire un efficace strumento per capire
le strutture geometriche presenti nell’immagine di origine.
Le operazioni di elaborazione di immagini locali o globali che alterano il contenuto
informativo di una immagine sono chiamate:
• operatori di filtraggio numerico spaziale, se si manipolano le frequenze di base nel
dominio spaziale (operatori locali);
• operatori di filtraggio numerico nel dominio delle frequenze, se si manipolano direttamente nelle componenti delle trasformate (operatori globali).
Le tecniche di filtraggio, possono essere usate,
• per accentuare le caratteristiche presenti (estrazione di bordi, image sharpening) nell’immagine,
• per migliorare la qualitá dell’immagine, per esempio, livellando opportunamente (smoothing) forti variazioni locali dei valori di livello di grigio.
188
7.9.1
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
Filtraggio numerico spaziale
I filtri spaziali sono implementati attraverso il processo di convoluzione spaziale che elabora
il valore del pixel sulla base dei valori dei pixel compresi in un suo intorno.
Tale modello di elaborazione ha i fondamenti matematici derivanti dalla teoria dei sistemi lineari (operatori lineari) che assumono una importanza rilevante per l’analisi dei segnali
ed immagini, e sono stati molto utilizzati nel campo delle telecomunicazioni. Filtro e Operatore sono parole che nel seguito sono usate in modo intercambiabile per indicare una
trasformazione di una immagine in un’altra.
Linearitá
Tale trasformazione puó essere modellata attraverso un sistema lineare bidimensionale del
tipo:
IO (i, j) = O(I(i, j))
I(i, j)
Input
→
O{·}
Operatore
Lineare
→
IO (i, j)
Output
dove l’operatore O{·} trasforma l’immagine di input I nell’immagine di output I0 . Gli
operatori lineari sono definiti con il seguente principio della sovrapposizione.
Definizione : Se I1 (i, j) e I2 (i, j) sono due immagini di dimensioni N × M pixel, a e
b costanti arbitrarie, e O rappresenta un operatore che trasforma una immagine in
un’altra con le stesse dimensioni, si dice che l’operatore O é lineare, se e solo se:
O{a · I1 (i, j) + I2 (i, j)} = a · O{I1 (i, j)} + b · O{I2 (i, j)}.
(7.46)
La proprietá della sovrapposizione puó essere estesa a n immagini e rende l’operatore
lineare molto utile nei problemi reali. Infatti, é possibile decomporre una immagine complessa in piú componenti derivando in tal modo i risultati dell’operatore e successivamente
ricomporre i risultati globali dai risultati delle singole componenti. Se I2 (i, j) = 0 segue che
O{a · I1 (i, j)} = a · O{I1 (i, j)}, chiamata proprietá di omogeneitá dell’operatore lineare
O che ha il seguente significato: moltiplicando l’immagine di input I1 per una costante a, il
sistema lineare risponde con il valore appropriato corrispondente all’input moltiplicato per
la stessa costante a.
Qualsiasi sistema che non soddisfa tali proprietá é detto non lineare e risulta complesso
analizzarlo.
Risposta impulsiva e funzione di trasferimento
Con la proprietá di sovrapposizione degli operatori lineari dimostriamo se é possibile avere
informazioni sulla natura dell’operatore applicato ad una immagine osservando soltanto
l’immagine di output ottenuta.
Per tale dimostrazione pensiamo decomposta l’immagine di input I(x, y) in componenti
elementari. In questo modo possiamo pensare I come composta dalla somma di componenti
di base, ossia ottenuta dalla definizione di funzione impulsiva delta di Dirac:
I(i, j) =
N
−1 M
−1
X
X
I(l, k) · δ(i − l, j − k)
l=0 k=0
dove
δ(l, k) = 0 l 6= 0, k 6= 0
(7.47)
7.9. VERSO GLI OPERATORI LOCALI E GLOBALI
189
δ(l, k) = 1 l = k = 0
I(l, k) indica il fattore peso della funzione impulsiva δ del pixel (l, k) dell’immagine. Se
l’output di un sistema lineare é definito come:
N
−1 M
−1
X
X
IO (i, j) = O{I(i, j)} = O{
I(l, k) · δ(i − l, j − k)}
(7.48)
l=0 k=0
Poichè l’operatore O é lineare, per la sovrapposizione delle componenti di output, possiamo
scrivere
XX
IO (i, j) =
O{I(l, k) · δ(i − l, j − k)}.
(7.49)
l
k
Inoltre, I(l, k) é indipendente da i e j, pertanto dalla proprietá di omogeneitá segue:
IO (i, j) =
N
−1 M
−1
X
X
l=0 k=0
I(l, k) · O{δ(i − l, j − k)} =
−1
N
−1 M
X
X
I(l, k) · h(i, j; l, k)
(7.50)
l=0 k=0
dove la funzione h(i, j; l, k) é la risposta impulsiva dell’operatore lineare O.
In altre parole, possiamo affermare che h(i, j; l, k) é la risposta impulsiva dell’operatore
O in corrispondenza del pixel di input (impulso di input) alla posizione (i, j) dell’immagine
di input. Nei sistemi ottici la risposta impulsiva é chiamata funzione di trasferimento del
sistema (PSF point spread function).
Questo risultato della teoria dei sistemi lineari é fondamentale e suggerisce che se é nota
la risposta dell’operatore O ad un impulso, mediante l’equazione (7.50) puó essere calcolata
la risposta a qualunque pixel I(i, j). L’operatore O é completamente caratterizzato dalla
risposta impulsiva. Dato che gli operatori sono definiti in termini di PSF, la PSF di un
operatore rappresenta ció che otteniamo se applichiamo l’operatore su una sorgente puntuale
O{sorgente puntuale} = P SF
ossia
O{δ(i − l, j − k)} = h(i, j; l, k)
dove δ(i − l, j − k) é una sorgente puntuale di luminositá 1 centrata nel punto (l, k).
Una immagine é una collezione di sorgenti puntuali (pixels) ciascuno con un proprio
valore di luminositá. Possiamo dire che un’immagine é la somma di queste sorgenti puntuali.
La PSF esprime quanto del valore di input alla posizione (i, j) influenza il valore di output
alla posizione (l, k).
Invarianza spaziale
L’operatore lineare O{·} con la relazione di input-output:
IO (i, j) = O{I1 (i, j)}
é chiamato spazialmente invariante oppure invariante alla traslazione (shift invariant) se la
risposta dell’operatore non dipende esplicitamente dalla posizione nell’immagine.
In altre parole, l’operatore O é invariante spazialmente se una traslazione in input causa
anche una appropriata traslazione in output.
190
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
I(i,j)
k
l
j
i
Figura 7.21: Decomposizione dell’immagine.
Piano Immagine
di Input
Lente
Piano Immagine
di Output
Figura 7.22: Sistema di visione a sorgente puntuale.
Dai risultati precedenti considerando l’impulso di input all’origine (l, k) = 0, segue:
h(i, j; l, k)
=
=
=
O{δ(i − l, j − k)}
h(i − l, j − k; 0, 0)
h(i − l, j − k)
(7.51)
dalla quale risulta che l’operatore O é spazialmente invariante se l’operazione eseguita sul
pixel di input dipende solo dalle due traslazioni (i − l) e da (j − k) e non dalla posizione
(i, j). Conseguentemente, la forma della risposta impulsiva non cambia quando l’attivitá
si sposta nei vari pixel (i, j) (impulsi di input) dell’immagine di input. Se la (7.51) non é
soddisfatta l’operatore lineare é detto variante spazialmente.
Considerando valide congiuntamente le due proprietá, invarianza spaziale e sovrapposizione, si ha il seguente operatore lineare:
IO (i, j) =
N
−1 M
−1
X
X
h(i − l, j − k) · I(l, k)
(7.52)
l=0 k=0
che risulta essere l’operatore di convoluzione nel dominio spaziale tra l’immagine di input e
la funzione di risposta impulsiva:
IO (i, j) = h(i, j) ∗ I(i, j)
(7.53)
Si é dimostrato di essere l’unico operatore esistente lineare e invariante spazialmente.
Gli operatori lineari, e quindi i filtri, con le proprietá di invarianza spaziale e sovrapposizione, possono essere usati per studiare una classe di fenomeni fisici e biologici.
Nel campo della elaborazione delle immagini questa teoria é stata giá sperimentata quando si é studiato il processo di formazione dell’immagine con l’operazione di convoluzione, ed
il sistema ottico é risultato completamente descritto dalla sua funzione di trasferimento.
7.10. CONVOLUZIONE SPAZIALE
191
Rumore
r(i,j)
j
Operatore
Lineare O()
I(i,j)
i
+
j
IO(i,j)
Caratterizzato
dalla PSF
Immagine di
Input
i
Immagine di
Output
Figura 7.23: Schema di un operatore lineare O.
Il processo di elaborazione digitale dell’immagine (operatore di filtraggio) ed il processo
di formazione (processo fisico) sono entrambi descritti come operazioni di convoluzione,
ossia sono realizzati da un processo fisico modellabile con un sistema lineare spazialmente
invariante.
La caratteristica fondamentale dei sistemi lineari consiste nel poter studiare gli effetti
di un operatore applicato ad una immagine di input (ovvero ad un segnale con qualsiasi
spettro bidimensionale) partendo solo dalla risposta impulsiva, ovvero la sua funzione di
trasferimento
XX
δ(i, j) ∗ I(i, j) =
δ(l, k) · I(i − l, j − k) = IO (i, j).
(7.54)
l
k
Nel caso della elaborazione dell’immagine, é possibile studiare la caratteristica di un operatore lineare applicandolo ad una immagine campione di cui si conosce a priori la sua
struttura. Successivamente si analizza se l’immagine di output presenta o meno i risultati
desiderati con quel particolare operatore applicato. La risposta impulsiva é l’output del
sistema prodotto in risposta ad un impulso di input. Lo schema di un operatore lineare O
é mostrato in figura 7.23.
Le applicazioni reali, nel campo delle immagini, dei sistemi lineari, sono limitati a:
• Filtraggio passa-alto,
• Filtraggio passa-basso,
• Filtraggio passa-banda
Tali operazioni possono essere applicate sia operando nel dominio spaziale che in quello delle
frequenze spaziali.
7.10
Convoluzione spaziale
Vediamo ora come il processo di convoluzione puó essere realizzato.
Primo aspetto, come combinare i valori dei livelli di grigio dei pixel nella vicinanza del
pixel in elaborazione.
Secondo aspetto, quanto deve essere grande l’area dei pixel di vicinanza interessati dall’operatore. Tale area é chiamata con uno dei seguenti nomi: finestra, kernel, maschera del
filtro, o maschera di convoluzione.
Normalmente viene scelta una maschera di forma quadrata rappresentata in forma matriciale con dimensioni variabili, per esempio 3 × 3, 5 × 5, ecc., ed il pixel in elaborazione che
192
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
riceve il risultato della convoluzione si trova posizionato al centro della finestra, a dimensioni
dispari.
L’operatore di convoluzione nel discreto opera come un processo lineare in quanto esegue
la somma di elementi moltiplicati da valori costanti (somma pesata).
Gli elementi sono i valori del livello di grigio in corrispondenza della maschera ed i valori
costanti sono i pesi ossia i coefficienti di convoluzione meno remoti nella maschera.
f(l)
Input
h(i−l)
Speculare e
traslata
l
Risposta
Impulsiva
l
i
Sovrapposizione di
f ed h
h(l)
111111111
000000000
000000000
111111111
000000000
111111111
000000000
111111111
000000000
111111111
f(l) h(i−l)
i
f(l)
h(i−l)
l
l
Speculare di h
11111111
00000000
g(i)=
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000i
11111111
h(0−l)
l
f(l) g(i−l)
l
l
Figura 7.24: Operatore di convoluzione monodimensionale.
7.10.1
Convoluzione spaziale monodimensionale
Per un sistema lineare invariante spazialmente, caratterizzato con risposta impulsiva h(i),
in corrispondenza di un segnale di input monodimensionale f (i), il segnale di output g(i) é
dato dalla convoluzione:
X
g(i) = f (i) ∗ h(i) =
f (l) · h(i − l)
(7.55)
l
Una rappresentazione grafica dell’operatore di convoluzione monodimensionale é mostrata in
figura 7.24, dove sono evidenziati i risultati della convoluzione, calcolati in corrispondenza
di alcuni valori di i. Dalla risposta impulsiva h(l) viene prima derivata la sua immagine
speculare h(0 − l) rispetto all’origine, e poi viene traslata nel punto i ottenendo h(i − l).
Rispetto al punto i é calcolata l’operazione di convoluzione eseguendo il prodotto punto per
punto tra il segnale di input f (l) e la funzione speculare e traslata h(i − l) della risposta
impulsiva h(l).
L’operazione di convoluzione é ripetuta analogamente per altri punti i per ottenere dal
sistema lineare il segnale di output completo.
Ogni valore g(i), del segnale di output, dipende dal grado di sovrapposizione tra il segnale
di input e la funzione caratteristica del sistema lineare che viene traslata per ogni valore di
i (vedi figura 7.24).
Come evidenziato nel grafico, il risultato della convoluzione g(i) rappresenta l’area di
sovrapposizione tra la funzione di input e la risposta impulsiva.
7.11. CONVOLUZIONE SPAZIALE BIDIMENSIONALE
7.11
193
Convoluzione spaziale bidimensionale
La convoluzione tra funzioni bidimensionali é ottenuta in modo analogo. Per convenienza
l’immagine di input e di output sono scelte con identiche dimensioni, mentre la risposta
impulsiva bidimensionale normalmente ha dimensioni limitate, a partire da finestre 3 × 3, e
con valori dispari.
Sempre per convenienza, il risultato della convoluzione nell’immagine di output g(i, j),
si fa corrispondere con il pixel centrale della finestra quadrata in cui é definita la risposta
impulsiva h(·) localizzato nel pixel (i, j).
Il valore della convoluzione in corrispondenza del pixel (i, j) nell’immagine di output é
ottenuta dalla somma del prodotto di pixel per pixel tra la funzione di input f (l, k) e la
risposta impulsiva h(i − l, j − k), derivata da h(l, k) eseguendo prima una rotazione di 180◦
rispetto all’origine, ottenendo quindi h(0 − l, 0 − k), e successivamente traslata dall’origine
alla posizione (i, j) (figura 7.25).
k
h(l,k)
a b c
l
f(l,k)
d e f
g h i
A B C
D E F
G H I
j
k
h(l,k)
a b c
l
f(i−l,j−k)
g
d e f
h i
A B C
D E F
G H I
i
j
i
f(i−l,j−k)*h(l,k)
111
000
Figura 7.25: Convoluzione bidimensionale.
L’equazione di convoluzione bidimensionale é data da:
g(i, j) =
N
−1 N
−1
X
X
f (l, k)h(i − l, j − k)
(7.56)
l=0 k=0
considerando l’immagine di input f (i, j) e l’immagine di output g(i, j) di dimensioni N × N ,
mentre la risposta impulsiva é sempre definita con una finestra quadrata di dimensioni
limitate L × L.
In questo caso la sommatoria dell’operatore di convoluzione ha componenti nulle (prodotto f · g é zero) nelle zone di non sovrapposizione tra le funzioni f ed h.
In pratica, il dominio di interesse é definito dalle dimensioni della risposta impulsiva h.
Per la proprietá commutativa dell’operatore di convoluzione, l’equazione precedente puó
essere espressa come segue:
g(i, j) =
N
−1 N
−1
X
X
l=0 k=0
f (i − l, j − k) · h(l, k)
(7.57)
194
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
Queste ultime due equazioni, dell’operatore di convoluzione, suggeriscono che, prima del
prodotto pixel per pixel, una delle due, l’immagine di input oppure la risposta impulsiva,
puó essere ruotata di 180◦ e traslata indifferentemente.
Per ragioni implementative é conveniente utilizzare operatori di convoluzione con equazioni
della forma:
r
r
X
X
g(i, j) =
f (i − l, j − k) · h(l, k)
(7.58)
l=−r k=−r
con la finestra relativa alla risposta impulsiva h(l, k) con gli indici l e k riferiti rispetto al pixel
centrale h(0, 0). Le dimensioni L × L della finestra hanno valore dispari e con r = (L − 1)/2.
Il valore della convoluzione g(i, j) nel punto (i, j) é calcolato solo per i pixel dell’immagine
di input che si sovrappongono completamente con la finestra h il cui pixel centrale h(0, 0) é
posizionato con il pixel (i, j) dell’immagine di input.
Per semplicitá consideriamo un esempio di convoluzione spaziale dove la risposta impulsiva é rappresentata da una finestra 3×3 con i pixel contenenti valori discreti di una funzione
gaussiana.
In questo caso il pixel centrale h(0, 0) coincide con il picco della gaussiana che essendo
simmetrica rispetto all’origine l’eventuale rotazione della funzione di input non avrebbe
nessun effetto.
Il valore della convoluzione g(i, j), applicata al pixel (i, j) é ottenuta posizionando il pixel
centrale della maschera di convoluzione in (i, j), e la seguente espressione viene eseguita:
g(i,j)
=
A · f (i − 1, j − 1) + B · f (i − 1, j) + C · f (i − 1, j + 1)+
D · f (i, j − 1) + E · f (i, j) + F · f (i, j + 1)+
G · f (i + 1, j − 1) + N · f (i + 1, j) + I · f (i + 1, j + 1)
(7.59)
dove f (i, j) é l’immagine di input, le costanti da A ed I indicano i coefficienti della
convoluzione ossia i valori discreti risultati dal campionamento della risposta impulsiva h(i, j)
dell’operatore stesso, e g(i, j) é l’immagine ottenuta applicando il processo di convoluzione.
j
f(i−1,j−1)
i
A
B
C
D
E
F
G
H
I
f
g(i,j)
f(i+1,j+1)
Figura 7.26: Schema dell’operazione di convoluzione.
Questa operazione di convoluzione é ripetuta per tutti i pixel dell’immagine di input f (i, j)
di dimensione N × N .
L’operatore di convoluzione per l’intera immagine risulta:
g(i, j) =
r
r
X
X
l=−r k=−r
f (i − l, j − k) · h(−l, −k)
(7.60)
7.11. CONVOLUZIONE SPAZIALE BIDIMENSIONALE
195
dove la funzione di trasferimento h(·, ·) ha dimensioni dispari di (2r + 1) × (2r + 1). Se con
L (valore dispari) si indica il lato della finestra h, r = (L − 1)/2. La convoluzione in forma
discreta opera soltanto nel dominio spaziale dove h(i, j) 6= 0.
In figura 7.27 é rappresentata la funzione di trasferimento h ossia sono i valori campionati
della risposta impulsiva discreta dell’operatore che si vuole implementare.
(
- l 2 +k 2
h(l , k ) = e
)
2s 2
-2
-1
0
1
2
h5
h4
h3
h4
h5
h4
h2
h1
h2
h4
h3
h1
h0
h1
h3
h4
h2
h1
h2
h4
h5
h4
h3
h4
h5
-2
-1
0
1
2
k
l
h0=1
h1=0.78
h2=0.61
h3=0.37
h4=0.28
h5=0.13
s = 1.4
L=5
r=2
Figura 7.27: Funzione di trasferimento Gaussiana h.
Applicare un filtro ad una immagine significa calcolare i coefficienti h(i, j) che rappresentano una buona approssimazione della funzione di trasferimento e quindi dell’operatore
che si vuole applicare.
La convoluzione é un’operazione invariante perchè i coefficienti della convoluzione (pesi
del filtro) non cambiano da pixel a pixel durante il processo di convoluzione.
L’operatore di convoluzione per una maschera 3 × 3 e, per una immagine di 512 × 512
richiederebbe 226400 × 9 ≡ 2037000 moltiplicazioni e 2037000 addizioni.
Vediamo alcuni aspetti implementativi della convoluzione.
Quando l’operatore di convoluzione é applicato ai bordi dell’immagine, la maschera di
convoluzione non si sovrappone con i pixel dell’immagine, date le dimensioni finite della
stessa. Un modo per risolvere il problema, quando si arriva ad elaborare i pixel del bordo
sinistro dell’immagine, é quello di pensare ad una replica ciclica dell’immagine. Operando
nello spazio di Fourier questa assunzione deve essere fatta se si vuole ridurre la convoluzione
a semplice moltiplicazione.
Nel dominio spaziale l’inconveniente dei bordi é risolto in modo libero adottando alcune
soluzioni:
• considerare a zero o uguale ad un valore costante tutti i pixel mancanti dell’immagine.
• Considerare i pixel adiacenti dell’immagine come pixel mancanti.
• Applicare la convoluzione solo per i pixel dell’immagine che non creano il problema
della mancanza dei pixel.
Nell’equazione di convoluzione, i pixel g(i, j) giá elaborati non sono coinvolti durante il
processo di convoluzione. Questo implica che la convoluzione produce come risultato una
nuova immagine g(i, j) che dovrá essere salvata in un’area di memoria separata dall’immagine di input f . Nell’ipotesi che si operi su calcolatore sequenziale potrebbe comunque essere
ottimizzata la memoria necessaria, salvando i pixel elaborati di r linee al di sopra della
i − ma linea in elaborazione.
196
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
Figura 7.28: Relazione tra l’immagine di input, l’immagine di output e le matrici della
risposta impulsiva.
Un approccio alternativo consiste nel salvare temporaneamente in un buffer, (r + 1) linee
dell’immagine di input in elaborazione, mentre il pixel in esame (i, j) é salvato nella stessa
posizione dell’immagine di input.
4
0
1
2
}
Linee da
salvare
Figura 7.29: Esempio di convoluzione su calcolatore sequenziale.
Sono stati progettati filtri che durante il processo di convoluzione sono coinvolti pixel giá
elaborati dal convolutore stesso. Questo ha il vantaggio di ridurre i tempi di calcolo ma non
sono facilmente realizzabili. Tali filtri sono chiamati filtri ricorsivi e sono molto complicati
da trattare in genere nel caso bidimensionale come necessita per le immagini digitali. I filtri
basati sulla convoluzione spaziale che non utilizzano pixel giá convoluti corrispondenti a
filtri non ricorsivi, sono chiamati FIR Finite Impulse Response , mentre quelli ricorsivi IIR
Infinite Impulse Response.
7.12. FILTRI NEL DOMINIO DELLE FREQUENZE
7.12
197
Filtri nel dominio delle frequenze
In precedenza abbiamo introdotto l’utilitá di studiare le componenti spaziali di una immagine nel dominio delle frequenze che descrivono in modo piú efficace le strutture periodiche
presenti nell’immagine stessa. Per passare dal dominio spaziale al dominio delle frequenze,
sono disponibili diversi operatori chiamati normalmente operatori di trasformazione o semplicemente trasformate. Tali trasformate, per es. quella di Fourier che é la piú nota, quando
applicate alle immagini, la decompongono dalle strutture di livello di grigio del dominio
spaziale alle componenti in frequenze fondamentali nel dominio delle frequenze. Ciascuna
componente di frequenza é espressa attraverso un valore di fase e modulo. La trasformata inversa di frequenze, converte una immagine strutturata con frequenze, ricostruendo
all’indietro le strutture spaziali.
Le strutture di frequenza di una immagine sono visualizzabili a loro volta come una immagine 2D, dove i valori di grigio rappresentano i moduli delle varie componenti di frequenza
fondamentale.
7.12.1
La trasformata di Fourier discreta
La trasformata generale di una immagine N×M è data da:
F (u, v) =
N
−1 M
−1
X
X
I(k, l)B(k, l; u, v)
(7.61)
k=0 l=0
dove F (u, v) rappresentano i coefficienti della trasformata, I(k, l) l’immagine di input di
N×M pixel, B(k, l; u, v) le immagini costituenti la base dello spazio in frequenza individuato
dal sistema u − v (variabili nel dominio delle frequenze) ciascuno con dimensione k × l. In
sostanza, i coefficienti F (u, v) della trasformata, rappresentano le proiezioni dell’immagine
I(k, l) sulle basi descritte. Questi coefficienti ci indicano quantitativamente il grado di
similarità dell’immagine rispetto alle basi B. Il processo di trasformazione quantifica la
decomposizione dell’immagine di input I(k, l) nella somma pesata delle immagini base, in
cui i coefficienti F (u, v) sono appunto i pesi.
I valori delle frequenze vicino all’origine del sistema (u, v) sono chiamate basse frequenze
mentre quelle più lontane dall’origine sono dette alte frequenze F(u,v) è una funzione continua e complessa. L’immagine di input I(k, l) può essere ricostruita attraverso i coefficienti
della trasformata F(u,v) con l’equazione della trasformata inversa:
I(k, l) = F −1 (F (u, v)) =
N
−1 M
−1
X
X
F (u, v)B −1 (k, l; u, v).
(7.62)
u=0 v=0
In alcuni casi, le basi inverse B −1 possono essere uguali a B a meno di un fattore peso
costante.
Le basi della trasformata sono rappresentate da funzioni seno e coseno, e la trasformata
dell’immagine I(k, l) è data da
¶¶
µ µ
¶¶¸
·
µ µ
N
−1 M
−1
X
X
vl
uk
vl
1
uk
+
+ j sin 2π
+
I(k, l) · cos 2π
N
M
N
M
N M k=0 l=0
(7.63)
in cui le variabili (u, v) rappresentano frequenze misurate in radianti per campione. La
funzione F (u, v) rappresenta il contenuto in frequenza dell’immagine I(k, l), che è complessa
e periodica sia in u che in v con periodo 2π . Il coseno rappresenta la parte reale ed il seno
la parte complessa, ottenendo quindi
F (u, v) = √
F (u, v) = Re(u, v) + jIm(u, v).
(7.64)
198
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
L’ampiezza spettrale è definita da
|F (u, v)| =
p
Re(u, v)2 + Im(u, v)2 ,
(7.65)
che specifica quanto dell’immagine base è presente nell’immagine di input, mentre l’informazione circa l’orientazione dell’oggetto è definita dalla fase
·
¸
Im(u, v)
.
(7.66)
Φ(u, v) = tan−1
Re(u, v)
Dal momento che ejx = cos x + j sin x possiamo riscrivere la trasformata
F (u, v) = √
N
−1 M
−1
X
X
lv
ku
1
I(k, l) · e−2πj [ N + M ] .
N M k=0 l=0
(7.67)
Per una migliore visualizzazione dello spettro, conviene visualizzare il logaritmo, ossia
log(u, v) = c · log [1 + |F (u, v)|]
(7.68)
dove c serve a scalare l’intervallo di variabilità di (u,v) tra 0 e 255.
7.12.2
Teorema di convoluzione
Dal punto di vista teorico, il processo di convoluzione nel dominio spaziale tra immagine di
input e funzione di trasferimento, nel dominio delle frequenze é ottenuto con l’operazione di
moltiplicazione tra immagine trasformata F (u, v) e la maschera delle frequenze. Il filtraggio,
nel dominio delle frequenze, risulta essere molto selettivo consentendo di rimuovere specifiche
componenti in frequenza o bande di frequenza.
F(u,v)
I(k,l)
FFT
IFFT
*
Filtro in
frequenza
Immagine
risultante
Figura 7.30: Processo di filtraggio spaziale usando la trasformata di Fourier.
In figura 7.30 é evidenziato l’intero processo di filtraggio. L’immagine di input f (i, j)
é trasformata mediante la FFT nel dominio delle frequenze. Una maschera delle frequenze é generata allo scopo di rimuoverne alcune. Questo é realizzato ponendo zero nella
maschera in corrispondenza della frequenza che si vuole eliminare, ponendo invece valore 1
in corrispondenza delle frequenze che non si vogliono tagliare.
7.13. OPERATORI LOCALI: SMOOTHING
199
Il processo di convoluzione nel dominio delle frequenze é realizzato moltiplicando l’immagine nel dominio delle frequenze con la maschera delle frequenze. L’immagine ottenuta nel dominio delle frequenze ottenute é ritrasformata nel dominio spaziale attraverso la
trasformata inversa di Fourier IFFT.
Il filtraggio nel dominio delle frequenze risulta essere vantaggioso rispetto a quello spaziale
soprattutto nei casi di immagini con rumore additivo di natura periodico (non casuale)
facilmente descrivibile nel dominio delle frequenze.
Nella figura, le aree puntiformi con alta intensità rappresentano nel dominio delle frequenze le frequenze spaziali nella banda di rumore.
Mediante una maschera di frequenza è possibile eliminare la frequenza rappresentata
da tali aree puntiformi ed applicando la IFFT l’immagine di origine risulta con il rumore
attenuato.
Conviene ricordare che tale filtro elimina anche le strutture dell’immagine che corrispondono alla stessa banda di frequenza eliminata e questo spiega la non perfetta ricostruzione
dell’immagine di origine.
Ricordando il processo di convoluzione spaziale, considerando inalterato i simboli delle
varie immagini, si ha:
g(m, n) = f (m, n) ∗ h(m, n)
(7.69)
nel dominio delle frequenze la convoluzione risulta:
G(u, v) = F (u, v) · H(u, v)
(7.70)
considerando G, F ed H le trasformate di Fourier delle immagini spaziali g ed f, e della
funzione di trasferimento h.
Con quale criterio decidere se usare un filtro spaziale oppure un filtro nel dominio delle
frequenze?
Tendenzialmente la convoluzione spaziale è computazionalmente costosa specialmente se
la maschera di convoluzione è grande.
In questo caso l’uso dell FFT e IFFT su hardware specializzato può essere una soluzione
efficiente per l’elaborazione delle immagini.
Nella visione artificiale diversi processi non sono riconducibili ad operatori lineari ed
invarianti spazialmente.
Questo limita molto l’uso della FFT e IFFT.
Quando un processo di elaborazione dell’immagine può essere modellato o approssimato
ad un sistema lineare e invariante spazialmente, le maschere di filtraggio sono normalmente
piccole (3x3) oppure (5x5) e conseguentemente la convoluzione spaziale risulta conveniente
in alternativa all’uso della FFT. Questa è la ragione dell’uso diffuso dei filtri lineari.
Ricordiamo infine delle limitazioni dell’uso della FFT per gli errori di arrotondamento
dovuti al calcolo numerico, stabilità del filtro inverso, molteplicità delle soluzioni ottenute,
limitazioni del dominio dei valori di grigio.
7.13
Operatori locali: Smoothing
A questa categoria di operatori locali rientrano gli algoritmi di smoothing.
Tali operatori hanno lo scopo di eliminare e attenuare il rumore additivo presente nei
valori di grigio dell’immagine.
Questo è realizzato attraverso operatori locali lineari e non lineari che essenzialmente tentano di smussare (livellare) le irregolarità presenti nella immagine senza alterare le strutture
significative dell’immagine stessa.
I filtri lineari di smoothing possono essere definiti nel dominio spaziale o nel dominio
delle frequenze.
200
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
Per i filtri spaziali, nella maschera di convoluzione sono opportunamente definiti i pesi
che caratterizzano la particolarità del filtro.
Per i filtri nel dominio delle frequenze analoghi effetti sull’immagine si ottengono rimuovendo le alte frequenze.
7.13.1
Media aritmetica
Se sono disponibili n immagini di una stessa scena è possibile ipotizzare un modello di
rumore stocastico con valore V in ciascun pixel.
V rappresenta la variabile casuale indipendente con media zero e standard deviation σ.
L’operatore di smoothing in questo caso risulta dalla media aritmetica dei valori pixel
per pixel per n immagini I1 ........In con corrispondente rumore V1 ..........Vn .
La seguente espressione
I1 + I2 + .......In
V1 + V2 + .....Vn
+
n
n
indica col primo termine l’immagine mediata:
n
Im (i, j) =
1X
Ik (i, j)
n
k=1
Il secondo termine risulta essere il rumore dell’immagine dopo la operazione
√ di media aritmetica che ha sempre media zero √e deviazione standard con valore σ/ n e pertanto il
rumore risulta ridotto di un fattore n.
7.13.2
Filtro media
Quando è disponibile una sola immagine, l’operatore di media aritmetica può essere usato,
col quale ciascun pixel dell’immagine è riposto con il valore medio dei pixel vicini:
g(i, j) =
1
M
X
f (l, k)
i, j = 0, 1, ......N − 1
(7.71)
l,k∈Wij
dove Wi,j indica l’insieme dei pixel nelle vicinanze del pixel (i,j) compreso lo stesso pixel
(i,j), interessato al calcolo della media locale, ed M è il numero totale di pixel compresi nella
finestra Wi,j .
Se la finestra considerata è di 3×3 pixel si ha:
g(i, j) =
i+1
1 X
9
j=1
X
f (l, k)
(7.72)
l=i−1 k=j−1
in questo caso, l’operatore di media risulta essere un caso
convoluzione spaziale, che ha come maschera di convoluzione:
¯
¯ ¯
¯ 1 1 1 ¯ ¯ 1 1 1
¯ ¯ 9 9 9
1 ¯¯
h = · ¯ 1 1 1 ¯¯ = ¯¯ 19 19 19
9 ¯
1 1 1 ¯ ¯ 19 19 19
particolare dell’operatore di
¯
¯
¯
¯
¯
¯
(7.73)
Le dimensioni della maschera di convoluzione W regolano l’effetto del filtro. Con una
maschera di piccole dimensioni, per esempio 3×3, l’effetto del filtro media è quello di attenuare il rumore (segnale uniforme) presente nell’immagine ed introdurre uno sfocamento
accettabile sull’immagine.
7.13. OPERATORI LOCALI: SMOOTHING
201
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
Filtro
passa-basso
164
Figura 7.31: Regione senza strutture.
42
231
42
231
42
231
42
231
42
231
Filtro
passa-basso
126
147
126
147
126
147
126
147
126
147
42
231
42
231
42
126
147
126
147
126
231
42
231
42
231
147
126
147
126
147
42
231
42
231
42
126
147
126
147
126
Figura 7.32: Regione con strutture.
Con maschere di maggiori dimensioni, per esempio 5×5, 7×7, ecc., l’effetto dello sfocamento e la perdita di alcuni dettagli diventa sempre più evidente.
È richiesto un compromesso tra attenuazione del rumore e la perdita dei dettagli. Un
approfondimento degli effetti del filtro é evidenziato in figura 7.31 e 7.32.
Nel primo caso (figura 7.31) con immagine a valore costante il filtro non produce nessun
effetto e l’immagine è lasciata intatta. Questo è dipendente al fatto che in quella regione
l’immagine non presenta nessuna struttura (nessun cambiamento di livelli di grigio) ossia la
frequenza spaziale è zero.
Questo è tipico di un filtro spaziale passa-basso che lascia intatte le componenti di frequenza spaziale basse. Nel secondo caso (figura 7.32), vi sono variazioni di livello di grigio
dal bianco al nero e viceversa e l’effetto del filtro media attenua queste variazioni.
In altre parole le transizioni bianco/nero che rappresentano le componenti di alte frequenze dell’immagine di input sono attenuate a transizioni con minime variazioni di livello
di grigio.
L’attenuazione delle alte frequenze spaziali è quello desiderato da un filtro passa-basso.
Quando si progetta un filtro di smoothing, come criterio generale, conviene scegliere i
pesi della maschera di convoluzione con valore alto quelli più vicini al pixel in esame mentre
con valori sempre più bassi quelli più lontani. Questo porta ad avere un unico picco nella
maschera, disposti anche seguendo una certa simmetria spaziale.
Per esempio, una tipica maschera di convoluzione di un filtro di smoothing è la seguente:
¯
¯
¯
¯
¯ 1/16 1/8 1/16 ¯
¯ 1 2 1 ¯
¯
¯
¯
¯
1
¯ 1/8 1/4 1/8 ¯ =
¯
¯
(7.74)
¯
¯ 16 · ¯ 2 4 2 ¯
¯ 1/16 1/8 1/16 ¯
¯ 1 2 1 ¯
Con tale maschera si attenuano i problemi dello sfocamento evidenziato in precedenza.
Gli effetti introdotti dall’operazione di filtraggio su una immagine possono essere valutati
qualitativamente osservando in modo soggettivo l’immagine filtrata.
Una stima quantitativa può essere ottenuta utilizzando una immagine campione di cui
sono note alcune strutture geometriche (un esempio: immagini con anelli concentrici a profilo
sinusoidale con lunghezza d’onda crescente a partire dal centro dell’immagine).
Il filtro media 7×7 e 9×9 è stato applicato e si nota come il filtro introduce forti variazioni
in alcune regioni dell’immagine. Questo mette in evidenza i limiti del filtro media utilizzato
come filtro di smoothing passa-basso.
Tali limiti sono dovuti all’introduzione di oscillazioni spurie nell’immagine di input e
sono causati dall’andamento della funzione di trasferimento nel dominio delle frequenze che
202
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
sappiano essere:
¯
¯¯
¯
¯ δin(πuL) ¯ ¯ δin(πvL) ¯
¯
¯
¯
¯
H(u, v) = ¯
πuL ¯ ¯ πvL ¯
(7.75)
dove L×L sono le dimensioni della maschera di convoluzione.
Dalla rappresentazione grafica di H(u,v) si nota che decresce non in modo monotono.
Questo introduce delle oscillazioni intorno a certe frequenze anche con maschere di convoluzione superiori a 3×3.
Esempio 1:
Attenuazione di strutture con lunghezza d’onda di 2 pixel: dovevano essere rimosse dal filtro.
···
···
···
..
.
1
1
1
..
.
..
..
.
.
−1 1
−1 1
−1 1
..
..
.
.
..
.
−1
−1
−1
..
.
..
.
1
1
1
..
.

1
···
1
··· ∗ ·  1
9
···
1
1
1
1

···
1
1  = ···
1
···
..
.
− 31
− 31
− 31
..
.
..
.
..
.
− 13
− 31
− 31
..
.
1
3
1
3
1
3
..
.
..
.
1
3
1
3
1
3
..
.
..
.
− 13
− 13
− 13
..
.
···
···
···
..
.
0
0
0
..
.
···
···
···
Esempio 2:
Rimozione di strutture con λ = 3 pixel: non dovevano essere rimosse.
···
···
···
..
..
.. ..
.
.
. .
1 −2 1 1
1 −2 1 1
1 −2 1 1
..
..
.. ..
.
.
. .
..
..
.
.
−2 1
−2 1
−2 1
..
..
.
.


···
1 1 1
···
1
··· ∗ ·  1 1 1  = ···
9
···
1 1 1
···
..
.
0
0
0
..
.
..
.
0
0
0
..
.
..
.
0
0
0
..
.
..
.
0
0
0
..
.
..
.
0
0
0
..
.
Risultati migliori sono ottenuti nel caso di filtro spazialmente variante dove i pesi sono
aggiustati dinamicamente allo scopo di smussare di più nella zona di immagine relativamente
uniforme e smussare meno nelle zone con brusche variazioni di intensità.
7.13.3
Filtri non lineari
Tali filtri eseguono l’operazione di smoothing, essenzialmente per ridurre il rumore, livellando
l’immagine solo nelle regioni con livelli di grigi omogenei, lasciando inalterate le zone in cui
si verificano forti variazioni di livelli di grigio.
Da ciò consegue che i coefficienti della maschera di convoluzione devono variare in modo
appropriato da regione a regione. In particolare nelle zone dove le transizioni sono accentuate, si assume che i pixel appartengono a regioni diverse pertanto i coefficienti della
convoluzione devono essere scelti piccoli.
Filtri non lineari basati sul valore assoluto:
1)
½
1
se |f (i, j) − f (l, k)| < T
h(l, k) =
0
altrimenti
dove T è un valore di soglia definito sperimentalmente.
2)
h(l, k) = c − |f (i, j) − f (l, k)|
7.13. OPERATORI LOCALI: SMOOTHING
con c costante di normalizzazione definito come c =
·
PP
l
valore di l e k.
3)
(
f (i, j) =
4)
203
1
L×L
PP
l
f (i, j)
k
f (l, k)
¸−1
h(l, k)
ed h(l, k) ≥ 0 per ogni
k
¯
¯
se ¯¯f (i, j) −
altrimenti
1
L×L
PP
l
k
¯
¯
f (l, k)¯¯ > T
¯)
(¯
¯
¯
1 XX
¯
¯
f (i, j) =
min
f (l, k)¯
¯f (m, n) −
¯
¯
L×L
(m,n)∈L×L
l
k
in questo caso le forti transizioni non vengono sempre livellate.
7.13.4
Filtro mediano
A differenza di filtri basati sulla media, il filtro mediano attenua la perdita di nitidezza
dell’immagine e del livello di sfocamento.
Il filtro ripone ogni pixel con il valore del pixel mediano ottenuto dopo che i pixel
dell’intorno sono stati ordinati in modo crescente.
Il pixel mediano ha il valore più alto di metà dei pixel dell’intorno e valore più basso
dell’altra metà di pixel rimanenti. Per esempio, utilizzando finestre 3×3 il filtro opera come
in figura 7.33: Il valore del pixel in esame 49 è sostituito con il valore di quello mediano
Figura 7.33: Esempio di applicazione del filtro mediano.
che è 38. In generale per finestre di dimensioni L × L, la posizione del pixel mediano è la
(L × L/2 + 1)-ma. Il filtro mediano è molto efficace per la riduzione di rumore del tipo
impulsivo per il cosiddetto sale e pepe (punti sparsi bianchi e neri).
La modalità di funzionamento del filtro mediano, è analoga a quella dei filtri lineari,
nel senso che, in analogia alla maschera di convoluzione, per ogni pixel dell’immagine, una
finestra è posizionata, per individuare i pixel da porre in ordine crescente.
7.13.5
Filtraggio passa-basso nel dominio di Fourier
Abbiamo già evidenziato come la presenza nell’immagine di ripetute transizioni di livello di
grigio (dovute anche al rumore) costituiscono le componenti delle alte frequenze spaziali e
conseguentemente inducono componenti di alte frequenze nel dominio di Fourier.
Un filtro di smoothing può essere progettato operando nello spazio di Fourier, attenuando
uno specificato intervallo delle componenti di alte frequenze.
204
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
La relazione tra le immagini trasformate è riscritta:
G(u, v) = F (u, v) · H(u, v)
dove F(u,v) è l’immagine di input trasformata e H(u,v) è la maschera del filtro da progettare.
L’obiettivo è quello di progettare il filtro H(u,v) che attenua le componenti di alta frequenza di F(u,v) allo scopo di ottenere il risultato G. La trasformata inversa di G produrrà
il risultato di smoothing voluto g.
Nella figura sono evidenziate gli spettri di Fourier di due immagini una con rumore e
l’altra senza.
In un caso, tutta l’energia è concentrata in prossimità dell’origine degli assi (immagine
senza rumore), nell’altra invece, si notano sulle alte frequenze valori piu elevati rispetto alla
prima a causa del rumore.
Un profilo dell’immagine dello spettro l(u,v) rappresenta la distribuzione dell’energia
data dalla relazione:
p
l(u, v) = u2 + v 2
Sono stati ideati diversi filtri passa-basso nel dominio delle frequenze. Sono diversi tra loro,
e per tutti, l’effetto, è quello di ridurre il rumore, distribuito sulle alte frequenze.
Tali filtri operano sia sulla parte reale che immaginaria della trasformata di Fourier e
non alterano il valore della fase (zero fase).
Figura 7.34: Filtro ideale passa basso.
7.13.6
Filtro ideale passa-basso
Definito come segue:
½
H(u, v) =
1
0
se l(u, v) ≤l0
se l(u, v) > l0
(7.76)
dove l0 rappresenta la frequenza di taglio.
Viene chiamato filtro ideale perchè tutte le frequenze comprese nell’intervallo tra 0 e la
soglia l0, passano intatte mentre sono completamente eliminate quelle con valore superiore
alla soglia.
Il filtro è a simmetria circolare nell’ipotesi che la trasformata è stata centrata nell’immagine quadrata dello spettro.
I risultati del filtro dipendono dal valore della soglia scelta che mentre può attenuare il
rumore, di contro si accentua lo sfocamento dell’immagine. Un modo efficace per verificare
le prestazione dei vari filtri è quello di considerare il valore dello spettro di potenza dato da:
2
P (u, v) = |H(u, v)| = R2 (u, v) + I 2 (u, v)
(7.77)
In corrispondenza di una frequenza di taglio l0 si definisce una quantità Pl che è lo spettro
di potenza per tutti i valori u e v compresi dalla circonferenza di raggio l0 nel dominio delle
7.13. OPERATORI LOCALI: SMOOTHING
205
frequenze (u, v):
Pl0 =
N
−1 N
−1
X
X
P (u, v)
(7.78)
u=0 v=0
È utile considerare come in corrispondenza delle varie frequenze di taglio si hanno le percentuali dello spettro di potenza che varia da un massimo del 100% fino ad un minimo:
"
100
XX
u
#
p(u, v)/P l0
(7.79)
v
al variare di l0 .
I filtri che seguono impediscono le brusche discontinuità nella eliminazione delle alte
frequenze.
Figura 7.35: Filtro di Butterworth passa-basso per n=1.
7.13.7
Filtro di Butterworth
La funzione di trasferimento di questo filtro d’ordine n e con frequenza di taglio l0 è data
da:
1
H(u, v) =
(7.80)
1 + [l(u, v)/l0 ]2n
dove l(u, v) rappresenta lo spettro definito in precedenza.
L’effetto del filtro è sostanzialmente controllato ancora dal valore della frequenza di
taglio l0 dal quale dipende la quantità di energia che viene conservata e quindi il livello di
sfocamento introdotto nell’immagine.
A differenza del filtro ideale comunque non si verifica una brusca discontinuità tra le
frequenze filtrate e quelle passanti.
Per un filtro di smoothing è importante definire una frequenza di taglio l0 tale che il
valore della funzione H raggiunga un valore non superiore ad una frazione del suo massimo
valore.
Dall’equazione precedente, per H(u,v)=.5 (50% del massimo valore) segue che l(u,v)=l0 .
Un’altra frazione usata è √12 del valore massimo di H.
In questo caso, nelle condizioni che l(u, v) = l0 , la funzione di trasferimento diventa:
H(u, v) =
1
1
=
2n
1 + 0, 414[l(u, v)/l0 ]2n
1 + [ 2 − 1][l(u, v)/l0 ]
√
(7.81)
Questo filtro è applicato ancora alla figura precedente con l0 uguale alle prime 5 circonferenze,
e con n=1.
206
CAPITOLO 7. MIGLIORAMENTO DELL’IMMAGINE
Figura 7.36: Filtro esponenziale passa basso.
7.13.8
Filtro Esponenziale
La funzione di trasferimento di tale filtro è la seguente:
n
H(u, v) = e−[l(u,v)/l0 ]
(7.82)
Anche per questo filtro è conveniente scegliere una percentuale p del valore massimo di H per
ottenere un valore l0 della frequenza di taglio. In questo caso la funzione di trasferimento si
modifica con:
n
H(u, v) = e−[ln p][l(u,v)/l0 ]
(7.83)
Figura 7.37: Filtro trapezoidale passa basso.
7.13.9
Filtro Trapezoidale
Questo filtro produce un effetto intermedio tra il filtro ideale ed i filtri considerati in
precedenza (esponenziale e butterworth). La funzione di trasferimento è la seguente:

 1
H(u, v) =

l(u,v)−l1
l0 −l1
0
per l(u, v) < l0
per l0 ≤ l(u, v) ≤ l1
per l(u, v) > l1
(7.84)
In questo filtro l0 rappresenta la frequenza di taglio ed l0, l1 rappresenta un intervallo
della frequenza con variazione lineare di H, utile ad evitare le brusche variazioni tipiche del
filtro ideale.
I risultati degli ultimi tre filtri: Butterworth, Esponenziale e Trapezoidale sono mostrati
nella seguente figura.
I filtri di smoothing studiati sono utilizzati per ridurre il rumore e migliorare la qualità
visiva, specialmente nel caso di immagini quantizzate in pochi livelli.
In quest’ultimo caso infatti quando sono visualizzate si nota l’effetto dei falsi contorni.