Sei sulla pagina 1di 63

Image Enhancement

nel Dominio Spaziale


Prof. Sebastiano Battiato

Multimedia A.A. 2006/2007 – S. Battiato


Terminologia

Le tecniche di elaborazione delle immagini sono in generale


rivolte all’ottenimento di uno dei seguenti obiettivi di
massima:
¾ miglioramento di qualità (image enhancement)
¾ ripristino di qualità o restauro (image restoration)
¾ estrazione di informazione (feature detection)

Manca in realtà una teoria generale del miglioramento di


qualità, dato che non esiste uno standard generale di qualità
delle immagini.

Multimedia A.A. 2006/2007 – S. Battiato


Terminologia

Le tecniche di elaborazione si distinguono in puntuali,


locali, globali, sequenziali, parallele.

Possono essere applicate:


9tra domini diversi (trasformate bidimensionali);
9nello stesso dominio (di particolare interesse il dominio
spaziale e quello delle frequenze spaziali);
9con riduzione dei dati tra ingresso e uscita (per
esempio estrazione di informazioni o compressione);
9(spesso) lineari e spazio-invarianti (convoluzioni
bidimensionali)

Multimedia A.A. 2006/2007 – S. Battiato


Metodi nel Dominio Spaziale
Le elaborazioni nel dominio spaziale possono essere espresse
come:
g(x,y)= T[f(x,y)]
essendo f l’immagine di ingresso alla elaborazione, g quella di
uscita e T un operatore su f, definito in un intorno di (x,y).

La dimensione dell’intorno di (x,y) definisce il carattere della


elaborazione:
¾ puntuale (l’intorno coincide con il pixel stesso);
¾ locale (per esempio una piccola regione quadrata centrata
sul pixel);
¾ globale (l’intorno coincide con l’intera f).

Multimedia A.A. 2006/2007 – S. Battiato


Elaborazioni Puntuali
¾ Il risultato di una elaborazione puntuale omogenea
dipende solo dal valore del pixel cui è applicata, per cui
tali elaborazioni vengono anche dette manipolazioni della
scala dei grigio dei colori.
¾ Se invece il risultato dell’elaborazione dipende anche dalla
posizione del pixel nell’immagine, si parla di elaborazioni
puntuali non omogenee.
¾ Alcune tipiche elaborazioni puntuali omogenee:
9 Aggiunta o sottrazione di una costante a tutti i pixel (per compensare sotto o
sovraesposizioni);
9 Inversione della scala dei grigi (negativo);
9 Espansione del contrasto;
9 Modifica (equalizzazione o specifica) dell'istogramma;
9 Presentazione in falsi colori.

Multimedia A.A. 2006/2007 – S. Battiato


Elaborazione Puntuali Omogenee

¾ L’elaborazione si effettua applicando una specifica


operazione a ciascun pixel dell’immagine di partenza, e
costruendo una nuova immagine in cui ciascun pixel
assume un valore che è il risultato della operazione stessa.
¾ L’elaborazione puntuale omogenea può pertanto essere
rappresentata da una trasformazione (o mapping) dei livelli
di grigio, del tipo:
s = T(r)
dove r è la variabile che rappresenta il livello di grigio
dell’immagine di ingresso alla elaborazione ed s è la
variabile che rappresenta il livello di grigio dell’immagine
di uscita.
Multimedia A.A. 2006/2007 – S. Battiato
Contrast Enhancement

L’immagine di output avrà un contrasto maggiore visto che i


valori di grigio più piccoli di m vengono resi più scuri mentre
quelli più grandi vengono resi più chiari.
Multimedia A.A. 2006/2007 – S. Battiato
In generale quindi
utilizzando un grafico
come quello mostrato in
figura si riescono ad
implementare le
cosiddette look-up tables
(LUT), in grado di
implementare operazioni
puntuali anche di tipo
non banale.

Multimedia A.A. 2006/2007 – S. Battiato


Trasformazione Logaritmica
Si tratta di una trasformazione che
consente di comprimere la gamma
dinamica, permettendo la
memorizzazione o la
visualizzazione, con una scala dei
grigi usuale, di immagini
caratterizzate da escursioni di
intensità molto ampie. Può essere
espressa come:
s = c log (1 + r)
Si può notare come la trasformazione realizzi l’espansione della
dinamica per bassi valori di r e la compressione della dinamica per alti
valori di r. c è una costante di scala, che va scelta opportunamente per
far rientrare i valori trasformati nel range corretto, cioè in [0, L-1].
Multimedia A.A. 2006/2007 – S. Battiato
Trasformazione Logaritmica

Supponendo che sia 0 < r < R, si ha 0 < s < c log(1+R). Se


R>>1, come normalmente avviene, per esempio, per lo
spettro di Fourier di una immagine, si può porre:
c log R = L-1, da cui c = (L-1)/log R

In tal modo è possibile, per esempio, visualizzare su un


dispositivo a 256 livelli di grigio un’immagine con una
gamma dinamica molto più ampia, anche dell’ordine dei
milioni, senza che siano visualizzabili solo i valori più alti,
come avverrebbe se il mapping tra le due gamme dinamiche
fosse lineare.

Multimedia A.A. 2006/2007 – S. Battiato


Un Esempio

L’immagine di sinistra contiene dei valori compresi tra 0 e 1.5x106,


visualizzata scalando questi valori linearmente nel range [0, 28-1].
La variabilità relativa può essere evidenziata applicando, prima
dello scaling lineare a 8-bit, una trasformazione logaritmica (in
questo caso c=1).
Multimedia A.A. 2006/2007 – S. Battiato
Trasformazione di Potenza
La trasformazione di potenza, nel caso generale può essere
espressa come:
s = c rγ
dove c e γ sono costanti positive. La costante c è scelta di
volta in volta in modo da normalizzare i valori di s in [0,
255].
Come vedremo, per valori di γ minori di 1 la trasformazione
ha effetti analoghi alla trasformazione logaritmica
(espansione della dinamica per bassi valori di r,
compressione della dinamica per alti valori di r), mentre per
valori di γ maggiori di 1 la trasformazione ha esattamente gli
effetti opposti.

Multimedia A.A. 2006/2007 – S. Battiato


c=1

E’ importante osservare come gli effetti della trasformazione


siano facilmente controllabili agendo sul parametro γ, il che
consente di adattare la trasformazione stessa (si parla infatti di
una famiglia di possibili curve di trasformazione) ad una ampia
gamma di situazioni.
Multimedia A.A. 2006/2007 – S. Battiato
Correzione Gamma

I monitor CRT esibiscono tipicamente una caratteristica


intensità di emissione-tensione applicata non lineare, ma
approssimativamente quadratica (in realtà l’esponente varia
tra 1.8 e 2.5)

Con riferimento alle curve mostrate, questo comportamento


tende a rendere l’immagine più scura del voluto. Per
esempio, su un monitor CRT (con γ= 2.5) si può applicare
una correzione, pre-processando l’input con la
corrispondente funzione inversa: s = r1/2.5= r0.4

Multimedia A.A. 2006/2007 – S. Battiato


Correzione Gamma

Multimedia A.A. 2006/2007 – S. Battiato


Correzione Gamma
Come già accennato la γ=3
correzione Gamma può
anche essere utilizzata, per
modificare il contrasto di
un’immagine. L’immagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il “bianco” γ=4 γ=5
(si veda il relativo
istogramma).
A seguire l’immagine
risultante dall’applicazione
di una correzione Gamma
al variare del parametro γ.
Multimedia A.A. 2006/2007 – S. Battiato
Bit-planes
Un’immagine con una profondità colore di N bit può essere
rappresentata da N piani di bit (bit-planes), ciascuno dei quali può
essere vista come una singola immagine binaria. In particolare si può
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB).

Multimedia A.A. 2006/2007 – S. Battiato


Lena: Bit-planes

Most Significant bit (MSB) Least Significant bit (LSB)

Multimedia A.A. 2006/2007 – S. Battiato


Ancora Bit-planes

Multimedia A.A. 2006/2007 – S. Battiato


Bit-planes

Multimedia A.A. 2006/2007 – S. Battiato


Bit-planes: Osservazioni

¾ I piani di bit più significativi contengono informazioni


sulla struttura dell’immagine, mentre quelli via via meno
significativi forniscono i dettagli sempre più piccoli.
¾ Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale.

Che cosa rappresenta l’immagine del piano 7 ?


Quali sono gli intervalli di valori di grigio coperti dagli altri
piani?

Multimedia A.A. 2006/2007 – S. Battiato


Range Highlights

E’ possibile selezionare
solo i toni di grigio
all’interno di un certo
range di valori,
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio all’interno di un
intervallo [A, B].

Multimedia A.A. 2006/2007 – S. Battiato


Bit-planes e LUT

Data un’immagine I a 256 toni di grigio, realizzare una LUT che


evidenzi i toni di grigio individuati dal terzo e dal quinto bit (primo
bit = MSB, ottavo bit =LSB)

I toni di grigio individuati dal terzo bit sono tutti quelli della forma:
xx1xxxxx
In particolare si può osservare che per il sistema di numerazione
posizionale, il terzo bit individua i valori multipli di 25=32, ne segue
che i toni di grigio individuati saranno i seguenti intervalli di ampiezza
25-1=31, individuati ad intervalli regolari di 26=64 valori:

001xxxxx 25 = 32, ……, 63


011xxxxx 26+25 = 96, ……, 127
101xxxxx 27+25 = 160, ….., 191
111xxxxx 27+26+25 = 224, ….., 255

Multimedia A.A. 2006/2007 – S. Battiato


Bit-planes e LUT
I toni di grigio individuati dal quinto bit sono tutti quelli della forma:
xxxx1xxx
In particolare si può osservare che per il sistema di numerazione posizionale,
il terzo bit individua i valori multipli di 23=8, ne segue che i toni di grigio
individuati saranno i seguenti intervalli di ampiezza 23-1=7, individuati ad
intervalli regolari di 24=16 valori:

00001xxx 23 = 8, ……, 15
00011xxx 24+23 = 24, ….., 31
00101xxx 25+23 = 40, ..…, 47
00111xxx 25+24+23 = 56, ….., 63
01001xxx 26+23 = 72, ..…, 79
01011xxx 26+24+23 = 88, ….., 95
01101xxx 26+25+23 = 104, …, 111
01111xxx 26+25+24+23= 120, ….., 127
I
Multimedia A.A. 2006/2007 – S. Battiato
Bit-planes e LUT
10001xxx 27+23= 136, ….., 143
10011xxx 27+24+23= 152, ….., 159
10101xxx 27+25+23= 168, ….., 175
10111xxx 27+25+24+23= 184, ….., 191
11001xxx 27+26+23= 200, ….., 207
11011xxx 27+26+24+23= 216, ….., 223
11101xxx 27+26+25+23= 232, ….., 239
11111xxx 27+26+25+24+23= 248, ….., 255

In generale la LUT che evidenzia i toni di grigio dell’i-esimo bit (i =


0,…., 7) dove i = 0 fa riferimento al LSB, individua i toni di grigio ad
intervalli regolari di 2i+1 valori, a partire da 2i. L’ampiezza di ciascun
intervallo è pari a 2i-1. Individuati gli intervalli costruire la LUT
corrispondente è immediato.

Multimedia A.A. 2006/2007 – S. Battiato


Modifica dell’Istogramma

L'istogramma (normalizzato) dei livelli di grigio di


un'immagine digitale è la funzione discreta
nk
p ( rk ) = per k = 0 , 1 , ..., L- 1
n

dove nk è il numero di pixel dell'immagine con livello di


grigio rk e n è il numero totale di pixel.

E' pertanto una stima a posteriori delle probabilità di


occorrenza dei livelli di grigio dell'immagine, utile perchè
fornisce una descrizione globale della cosiddetta
"apparenza" dell'immagine.

Multimedia A.A. 2006/2007 – S. Battiato


Modifica dell’Istogramma

Le informazioni date dall’istogramma possono dare un'idea


generale della possibilità di miglioramento dell'immagine,
soprattutto in termini di manipolazione del contrasto, ma
trovano applicazione anche in altre elaborazioni
(segmentazione, compressione).

Alcuni autori considerano non puntuali ma globali le


elaborazioni di questo tipo, in quanto l’istogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dell’immagine. In senso stretto, però,
la manipolazione dell’istogramma è una operazione
puntuale.
Multimedia A.A. 2006/2007 – S. Battiato
Equalizzazione: perche?

In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono, quasi l’intera
gamma di valori ed inoltre la
distribuzione dei pixel non è
troppo dissimile da una
distribuzione uniforme.

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione: perche?

L’equalizzazione (o linearizzazione) dell’istogramma di una


immagine è l’elaborazione che idealmente produce una
immagine con istogramma “piatto”, cioè con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dell’immagine).

Prima di procedere con i dettagli del relativo algoritmo è bene


rivedere alcuni concetti sulla teoria della probabilità (variabili
casuali, probability density function (PDF), cumulative density
function (CDF), ecc.). (si veda pagg. 33-44
review_of_probability.zip e pagg. 21-24 review.pdf dal sito
del libro di testo).
Multimedia A.A. 2006/2007 – S. Battiato
Equalizzazione dell’Istogramma
¾In realtà una distribuzione perfettamente uniforme
dei livelli di grigio non può essere ottenuta,
principalmente a causa della natura discreta delle
grandezze trattate.
¾Supponiamo inizialmente che r sia una variabile
continua, normalizzata in modo che 0 ≤ r ≤ 1, e che
l'operazione s = T(r) soddisfi le due condizioni:
a) T(r) è una funzione a un solo valore e
monotonicamente crescente nell’intervallo
0≤ r ≤ 1
b) 0 ≤ Τ(r) ≤ 1 per 0 ≤ r ≤ 1
La condizione a) garantisce l’esistenza della trasformazione inversa e
conserva l'ordine dei livelli nella scala dei grigi (dal nero al bianco), mentre
la condizione b) garantisce una trasformazione consistente con i livelli di
grigio permessi (tra 0 e 1).
Multimedia A.A. 2006/2007 – S. Battiato
Equalizzazione dell’Istogramma

¾ La trasformazione inversa è r = T-1(s) per 0 ≤ s ≤ 1, e si assume


che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s. Se r e
s vengono viste come variabili random nell'intervallo [0,1], è
possibile caratterizzarle mediante le rispettive densità di
probabilità, pr(r) e ps(s).
¾ Dalla teoria della probabilità, se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a), si ha:
⎡ dr ⎤
p s ( s) = ⎢ pr (r ) ⎥
⎣ ds ⎦ r =T −1 ( s )

¾ E' possibile pertanto controllare la distribuzione dei livelli di


grigio nell'immagine trasformata adoperando una adeguata
funzione di trasformazione.
Multimedia A.A. 2006/2007 – S. Battiato
Equalizzazione dell’Istogramma

¾ In particolare si consideri la trasformazione costituita dalla funzione


di distribuzione cumulativa (CDF) di r:
r
s = T (r ) = ∫ pr (ω )dω , 0 ≤ r ≤ 1
0
¾ La CDF soddisfa entrambe le condizioni a) e b), in quanto è ad un
solo valore e cresce monotonicamente (fra 0 e 1) in funzione di r.
Derivando rispetto a r si ottiene (per la regola di Leibniz):

ds dT (r ) d r

dr
=
dr
=
dr ∫0 pr (ω )dω = pr (r )
e quindi:
⎡ 1 ⎤
p s ( s ) = ⎢ pr (r ) ⎥ = [1] −1 = 1 0 ≤ s ≤1
⎣ p r (r ) ⎦ r =T −1 ( s ) r =T ( s )

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione dell’Istogramma

¾ Pertanto la densità di probabilità della variabile trasformata


è uniforme nel suo intervallo di definizione,
indipendentemente dalla funzione di trasformazione inversa
T-1(s). Questo è importante perché l’inversione della T(r)
non è, in generale, una operazione analiticamente semplice.

¾ Utilizzando come trasformazione la CDF di r si ottiene


dunque una immagine con densità di probabilità
uniforme dei livelli di grigio, indipendentemente dalla
densità di probabilità iniziale. Ne deriva un incremento
nella gamma dinamica dei pixel che può avere notevoli
effetti sulla"apparenza" dell'immagine.

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione dell’Istogramma
¾Tornando a considerare discrete le variabili random, si prendono in
considerazione probabilità e somme al posto di densità di probabilità
e integrali. Si ha per la probabilità di occorrenza dei livelli di grigio:
nk
p (rk ) = per 0 ≤ rk ≤ 1 e k = 0,1, ..., L-1
n
¾La funzione da utilizzare per l'equalizzazione dell'istogramma nel
caso discreto è la seguente:
k k nj
s k = T (rk ) = ∑ pr (r j ) = ∑ n
, 0 ≤ rk ≤ 1 e k = 0,1, ..., L-1
j =0 j =0

¾La trasformazione consiste nel trasformare ogni pixel di livello rk in


un pixel di livello sk, attraverso la T(rk) che si calcola direttamente
dall’istogramma dell'immagine di partenza.

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione: un esempio

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione dell’Istogramma
¾ Come si può notare, l’istogramma della immagine equalizzata non è
piatto. D’altro canto, l’uniformità della ps(s) è stata verificata solo
nel caso continuo, e non nel caso discreto.
¾ Tuttavia, i livelli di grigio dell’immagine equalizzata spaziano su
tutta la dinamica possibile (anche se alcuni livelli possono non
essere presenti), ed in particolare raggiungono sempre il bianco.
¾ Al conseguente incremento del contrasto si possono aggiungere
effetti sgradevoli quali lo “sgranamento” dell’immagine, la
comparsa di “false” regioni, ecc., soprattutto quando il contrasto
dell’immagine originale è molto basso.
¾ L’apparenza dell’immagine può essere migliorata anche con altre
tecniche di modifica del contrasto, ma l’equalizzazione
dell’istogramma ha il vantaggio di essere completamente
automatica.
Multimedia A.A. 2006/2007 – S. Battiato
Equalizzazione: Esempio1

Si consideri la seguente immagine di dimensione 20x20.


La prima colonna larga 10 ha colore 0, la seconda colonna larga 5, ha
colore 1, la terza colonna larga 3 con colore 3, la quarta colonna larga 2
con colore 4.
k r nk/n
0 0 (20*10)/400 = 0,5
1 0,25 (20*5)/400 = 0,25
2 0,5 (20*0)/400 = 0
3 0,75 (20*3)/400 = 0,15
4 1 (20*2)/400 = 0,1

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione: Esempio1

Il relativo istogramma è il seguente:


0,6
0,5
0,5

0,4

0,3 0,25

0,2 0,15
0,1
0,1
0
0
1 2 3 4 5

L’operatore T(r) utilizza le frequenze cumulate per definire i valori sk


come segue:
s0=T(r0)= 0,5 -----Æ r2
s1=T(r1)= 0,75 -----Æ r3
s2=T(r2)= 0,75 -----Æ r3
s3=T(r3)= 0,9 -----Æ r4
s4=T(r4)= 1 -----Æ r4
Multimedia A.A. 2006/2007 – S. Battiato
Equalizzazione: Esempio1

La LUT corrispondente è quindi univocamente determinata:

LUT

0,75

0,5

0,25

0
0 0,25 0,5 0,75 1
r_ k

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione: Esempio1
L’istogramma finale dell’immagine equalizzata avrà la seguente forma:

0,6
0,5
0,5

0,4

0,3 0,25 0,25

0,2

0,1
0 0
0
1 2 3 4 5

L’aspetto grafico dell’immagine sarà quindi:

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione: Esempio2
Perché l’equalizzazione non produce in realtà un istogramma piatto?
Vediamolo con un esempio. Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0, 1, …, 7) e la seguente distribuzione di probabilità:

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione dell’Istogramma

Applicando la trasformazione si ottengono i seguenti valori:


s0=T(r0)=0,015
s1=T(r1)=0,115
s2=T(r2)=0,365
s3=T(r3)=0,765
s4=T(r4)=0,965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali. Che fare allora?

Multimedia A.A. 2006/2007 – S. Battiato


Equalizzazione dell’Istogramma
Avendo a disposizione solo 8 valori di grigio, bisogna approssimare i
valori sk così ottenuti al valore di grigio possibile più vicino (multipli di
1/7=0.143). Denotando con ss tali valori approssimati si ottiene:

Ridistribuendo i pixel sui nuovi livelli, la distribuzione di probabilità


dei pixel dell’immagine di uscita è la seguente: ps(0) = 0.015 ps(0.143)
= 0.1 ps(0.286) = 0 ps(0.428) = 0.25 ps(0.571) = 0 ps(0.714) = 0.4
ps(0.857) = 0 ps(1) = 0.235
Multimedia A.A. 2006/2007 – S. Battiato
Equalizzazione dell’Istogramma

¾ E’ l’approssimazione nel calcolo dei nuovi livelli, dovuta alla


natura discreta dei livelli stessi, a causare la non uniformità
dell’istogramma.
¾ Inoltre si può notare che il livello massimo è necessariamente
presente, per effetto del meccanismo di trasformazione utilizzata.

Qual è l’effetto prodotto dalla equalizzazione di una immagine


già equalizzata?
Multimedia A.A. 2006/2007 – S. Battiato
(1)

(2)

(3)

(4)

Multimedia A.A. 2006/2007 – S. Battiato


Histogram Matching

Esistono applicazioni per le quali basare il processo di


enhancement sulla trasformazione volta ad ottenere un
istogramma uniforme non è la migliore soluzione. In particolare è
spesso utile, specificare la “forma” (shape) dell’istogramma che
si vuole ottenere. Questa tecnica prende il nome di Histogram
Matching o Specification.

Multimedia A.A. 2006/2007 – S. Battiato


Histogram Matching: un esempio

L’equalizzazione appiattisce
“wash-out” l’immagine di
input

Multimedia A.A. 2006/2007 – S. Battiato


Histogram Matching: un esempio

Multimedia A.A. 2006/2007 – S. Battiato


Contrast Stretching
I punti di controllo (r1,s1) e
(r2,s2) regolano la tipologia
di trasformazione da
applicare.
Se r1=s1 e r2=s2 si ottiene
la retta a 45° gradi che
lascia tutto inalterato.
Se r1=r2 , s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding.
Di solito si ha r1≤ r2 e s1≤
(r1,s1) = (rmin, 0) r1 = r 2 = m s2 per ovvi motivi.
(r2,s2) = (rmax, L-1) s1 =0, s2=L-1

Multimedia A.A. 2006/2007 – S. Battiato


Elaborazioni puntuali non
omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate, in
particolare per l’estrazione dalla immagine di una parte significativa (ROI –
Region of Interest) che debba essere successivamente elaborata.
Questa operazione, detta anche di masking, può essere condotta come
mostrano gli esempi seguenti, ricordando che l’operazione logica è
effettuata bit per bit, tra pixel nella stessa posizione nelle due immagini.

Multimedia A.A. 2006/2007 – S. Battiato


Miglioramento locale

L’equalizzazione dell’istogramma vista in precedenza, non si


presta ad un miglioramento dell'immagine relativo a dettagli in
piccole aree (piccolo numero di pixel), in quanto essa prevede una
trasformazione basata sulla distribuzione dei livelli di grigio nella
intera immagine.
Il piccolo numero di pixel in queste aree può avere infatti influenza
trascurabile nella determinazione di una trasformazione globale,
che pertanto non garantirà necessariamente il miglioramento
locale.
E’ possibile allora utilizzare metodi basati sulla distribuzione dei
livelli di grigio (o di altre proprietà dei pixel) in piccole aree
dell'immagine.

Multimedia A.A. 2006/2007 – S. Battiato


Miglioramento Locale
¾ Oltre all’istogramma, altre proprietà frequentemente usate in
elaborazioni locali di questo tipo sono l'intensità media m, che è
una misura della luminosità media dell'intorno considerato, e la
varianza σ2 (o la sua radice quadrata, cioè la deviazione standard
σ), che è una misura del contrasto nell'intorno.
¾ Con lo stesso significato dei simboli visto in precedenza, il
momento centrale n-mo di r (l’attributo centrale significa che alla r
è stata sottratta la sua media m) è definito come:
L −1 L −1
μ n (r ) = ∑ (ri − m ) p (ri )
n
dove m = ∑ ri p(ri )
i =0 i =0

¾ Si ha, ovviamente, µ0= 1 e µ1= 0. In particolare, per n = 2, si ha la


varianza: L −1
σ (r ) = μ 2 (r ) = ∑ (ri − m) 2 p (ri )
2

i =0

Multimedia A.A. 2006/2007 – S. Battiato


Miglioramento locale:un esempio
Un esempio di elaborazione che fa uso dei valori locali di questi
parametri statistici è il seguente:
g(x,y)=A(x,y)[f(x,y) – m(x,y)]+m(x,y)
dove:
A(x,y) = k (M/ σ(x,y)), con 0 < k < 1
m(x.y) e σ(x,y) sono rispettivamente la media e la deviazione standard
dei livelli di grigio nell'intorno di (x,y), M è la media globale di f(x,y) e
k è una costante. La trasformazione così definita viene utilizzata per
calcolare il nuovo valore del pixel centrale dell’intorno.

Poiché A è inversamente proporzionale alla varianza, le aree


dell'immagine a minore contrasto vengono a guadagnare di più. La
media locale è aggiunta per ripristinare l'intensità media dell'immagine
nell'intorno. Tecniche di manipolazione locale del contrasto risultano
particolarmente adatte ad immagini in cui alcune parti sono
accettabili, altre contengono particolari altrettanto significativi ma
meno evidenti.
Multimedia A.A. 2006/2007 – S. Battiato
MATLAB histogram function

h=imhist(f,bin);
P=imhist(f,bin)/numel(f);
h1=h(1:10:256);
horz=1:10:256;
bar(horz,h1);
stem(horz,h1, ‘fill’);
plot(h);

g1=histeq(f,nlev);
%Histogram Equalization
g2=histeq(f, hspec);
%Histogram specification where hspec is a row vector

Multimedia A.A. 2006/2007 – S. Battiato


MATLAB: imadjust

Imadjust è la funzione MATLAB demandata alle trasformazioni


(mapping) dei toni di grigio. La sua sintassi è:

g=imadjust(f,[low_in,high_in],[low_out,high_out],gamma)

Multimedia A.A. 2006/2007 – S. Battiato


Filtraggio Spaziale
L’argomento è stato già trattato nel
corso di IEM. Un pò di notazione è
comunque utile e necessaria per il
proseguio.
In generale il filtraggio (lineare) di
un’immagine f con una “filter mask”
m x n è data dall’espressione:
a b
g ( x, y ) = ∑ ∑ μ ( s, t ) f ( x + s, y + t )
s = − a t = −b
dove a = (m-1)/2 e b = (n-1)/2.
Ovviamente questa operazione va
ripetuta per x = 0, 1 , …, M-1 e y =
0, 1, …, N-1 dove M, N sono le
dimensioni dell’immagine f.
Multimedia A.A. 2006/2007 – S. Battiato
Filtraggio Spaziale

mn
In questo caso:
R = ∑ μ i zi
i =1
dove i μi sono i coefficienti del filtro e gli zi
sono i valori dei pixel dell’immagine da
filtrare. Il meccanismo qui illustrato è simile
al concetto di convoluzione proprio del
dominio delle frequenze: da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione.

Multimedia A.A. 2006/2007 – S. Battiato


Kernel Notevoli

¾ N-box
¾ N-binomiale
¾ Sobel x,y
¾ Laplaciano
¾ Edge Enhancing
¾ Shifting
¾ Noise Reduction (order-statistics filters)
¾ Unsharp Masking

Multimedia A.A. 2006/2007 – S. Battiato


Filtraggio in MATLAB:imfilter

>I = imread(‘lena.jpg');
>h = ones(3,3)/9;
>I2 = imfilter(I,h);
>imshow(I), title(‘Immagine Originale');
>figure, imshow(I2), title(‘Immagine Filtrata’);

Multimedia A.A. 2006/2007 – S. Battiato


MATLAB: Opzioni per imfilter

Multimedia A.A. 2006/2007 – S. Battiato


MATLAB: Opzioni per imfilter

>Imfilter(I,ones(31), option)

Multimedia A.A. 2006/2007 – S. Battiato


Filtraggio in MATLAB: fspecial

>I = imread(‘volto.jpg');
>h=fspecial('gaussian',[5 5] ,1)
>I2 = imfilter(I,h);
>imshow(I), title(‘Immagine Originale')
>figure, imshow(I2), title(‘Immagine Filtrata');

Multimedia A.A. 2006/2007 – S. Battiato


MATLAB: Opzioni per fspecial

Nota Bene: Per i filtraggi non


lineari si vedano le funzioni
nlfilter e colfilt in grado
di applicare in stile convoluzione
(opzione ‘sliding’) una qualsiasi
operazione definita dall’utente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters.

Multimedia A.A. 2006/2007 – S. Battiato