trasformazioni di intensità e filtraggio spazialebattiato/mm1213/parte 5 - trasformazioni di... ·...
TRANSCRIPT
1
Multimedia - Prof Sebastiano Battiato
Trasformazioni di Intensitagrave e Filtraggio Spaziale
(Alcuni Richiami)
Prof Sebastiano Battiato
Multimedia - Prof Sebastiano Battiato
Terminologia
Le tecniche di elaborazione delle immagini sono in generale
rivolte allrsquoottenimento di uno dei seguenti obiettivi di
massima
1048633 miglioramento di qualitagrave (image enhancement)
ripristino di qualitagrave o restauro (image restoration)
1048633 estrazione di informazione (feature detection)
Manca in realtagrave una teoria generale del miglioramento di
qualitagrave dato che non esiste uno standard generale di qualitagrave
delle immagini
2
Multimedia - Prof Sebastiano Battiato
Terminologia
Anche se le trasformazioni di intensitagrave e il filtraggio spaziale abbracciano una vasta gamma di applicazioni la maggior parte degli esempi che vedremo riguardano il miglioramento dellrsquoimmagine (enhancement)
Lrsquoenhancement egrave il processo di manipolazione dellrsquoimmagine tale che il risultato sia piugrave simile dellrsquooriginale per una specifica applicazione
Lrsquoaggettivo specifica egrave importante percheacute stabilisce fin dallrsquoinizio che le tecniche di miglioramento sono problemi dedicati Quindi ad esempio un metodo valido per il miglioramento di immagini a raggi X potrebbe non essere lrsquoapproccio migliore per immagini satellitari catturate nella banda ad infrarossi dello spettro elettromagnetico
Multimedia - Prof Sebastiano Battiato
Terminologia
Le tecniche di elaborazione si distinguono in puntuali locali globali sequenziali parallele
Possono essere applicate
tra domini diversi (trasformate bidimensionali)1048633
nello stesso dominio (di particolare interesse il dominio spaziale e quello delle frequenze spaziali)
con riduzione dei dati tra ingresso e uscita (per esempio estrazione di informazioni o compressione)
(spesso) lineari e spazio-invarianti (convoluzioni bidimensionali)
3
Multimedia - Prof Sebastiano Battiato
Metodi nel Dominio Spaziale
Le elaborazioni nel dominio spaziale possono essere espresse come
g(xy)= T[f(xy)]
essendo f lrsquoimmagine di ingresso alla elaborazione g quella di uscita e T un operatore su f definito in un intorno di (xy)
La dimensione dellrsquointorno di (xy) definisce il carattere della elaborazione
puntuale (lrsquointorno coincide con il pixel stesso)
locale (per esempio una piccola regione quadrata centrata sul pixel)
globale (lrsquointorno coincide con lrsquointera f)
Multimedia - Prof Sebastiano Battiato
Elaborazioni Puntuali
Il risultato di una elaborazione puntuale omogenea dipende solo dal valore del pixel cui egrave applicata per cui tali elaborazioni vengono anche dette manipolazioni della scala dei grigio dei colori
Se invece il risultato dellrsquoelaborazione dipende anche dalla posizione del pixel nellrsquoimmagine si parla di elaborazioni puntuali non omogenee
Alcune tipiche elaborazioni puntuali omogenee Aggiunta o sottrazione di una costante a tutti i pixel (per compensare sotto o
sovraesposizioni)
Inversione della scala dei grigi (negativo)
Espansione del contrasto
Modifica (equalizzazione o specifica) dellistogramma
Presentazione in falsi colori
4
Multimedia - Prof Sebastiano Battiato
Elaborazione Puntuali Omogenee
Lrsquoelaborazione si effettua applicando una specifica
operazione a ciascun pixel dellrsquoimmagine di partenza e
costruendo una nuova immagine in cui ciascun pixel
assume un valore che egrave il risultato della operazione stessa
Lrsquoelaborazione puntuale omogenea puograve pertanto essere
rappresentata da una trasformazione (o mapping) dei livelli
di grigio del tipo
s = T(r)
dove r egrave la variabile che rappresenta il livello di grigio
dellrsquoimmagine di ingresso alla elaborazione ed s egrave la
variabile che rappresenta il livello di grigio dellrsquoimmagine
di uscita
Multimedia - Prof Sebastiano Battiato
Contrast Enhancement
Lrsquoimmagine di output avragrave un contrasto maggiore visto che i
valori di grigio piugrave piccoli di m vengono resi piugrave scuri mentre
quelli piugrave grandi vengono resi piugrave chiari
5
Multimedia - Prof Sebastiano 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 - Prof Sebastiano Battiato
Esempio
(a) Mammografia digitale (b) Negativo dellrsquoimmagine ottenuta usando la trasformazione ldquonegativardquo
6
Multimedia - Prof Sebastiano 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
intensitagrave molto ampie Puograve essere
espressa come
s = c log (1 + r)
Si puograve notare come la trasformazione realizzi lrsquoespansione della
dinamica per bassi valori di r e la compressione della dinamica per alti
valori di r c egrave una costante di scala che va scelta opportunamente per
far rientrare i valori trasformati nel range corretto cioegrave in [0 L-1]
Multimedia - Prof Sebastiano Battiato
Trasformazione Logaritmica
Supponendo che sia 0 lt r lt R si ha 0 lt s lt c log(1+R) Se
Rgtgt1 come normalmente avviene per esempio per lo
spettro di Fourier di una immagine si puograve porre
c log R = L-1 da cui c = (L-1)log R
In tal modo egrave possibile per esempio visualizzare su un
dispositivo a 256 livelli di grigio unrsquoimmagine con una
gamma dinamica molto piugrave ampia anche dellrsquoordine dei
milioni senza che siano visualizzabili solo i valori piugrave alti
come avverrebbe se il mapping tra le due gamme dinamiche
fosse lineare
7
Multimedia - Prof Sebastiano Battiato
Un Esempio
Lrsquoimmagine di sinistra contiene dei valori compresi tra 0 e 15x106
visualizzata scalando questi valori linearmente nel range [0 28-1]
La variabilitagrave relativa puograve essere evidenziata applicando prima
dello scaling lineare a 8-bit una trasformazione logaritmica (in
questo caso c=1)
Multimedia - Prof Sebastiano Battiato
Trasformazione di Potenza
La trasformazione di potenza nel caso generale puograve essere espressa come
s = c rγ
dove c e γ sono costanti positive La costante c egrave 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
8
Multimedia - Prof Sebastiano Battiato
Ersquo 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
c = 1
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensitagrave di emissione-tensione applicata non lineare ma
approssimativamente quadratica (in realtagrave lrsquoesponente varia
tra 18 e 25)
Con riferimento alle curve mostrate questo comportamento
tende a rendere lrsquoimmagine piugrave scura del voluto Per
esempio su un monitor CRT (con γ= 25) si puograve applicare
una correzione pre-processando lrsquoinput con la
corrispondente funzione inversa s = r125= r04
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
2
Multimedia - Prof Sebastiano Battiato
Terminologia
Anche se le trasformazioni di intensitagrave e il filtraggio spaziale abbracciano una vasta gamma di applicazioni la maggior parte degli esempi che vedremo riguardano il miglioramento dellrsquoimmagine (enhancement)
Lrsquoenhancement egrave il processo di manipolazione dellrsquoimmagine tale che il risultato sia piugrave simile dellrsquooriginale per una specifica applicazione
Lrsquoaggettivo specifica egrave importante percheacute stabilisce fin dallrsquoinizio che le tecniche di miglioramento sono problemi dedicati Quindi ad esempio un metodo valido per il miglioramento di immagini a raggi X potrebbe non essere lrsquoapproccio migliore per immagini satellitari catturate nella banda ad infrarossi dello spettro elettromagnetico
Multimedia - Prof Sebastiano Battiato
Terminologia
Le tecniche di elaborazione si distinguono in puntuali locali globali sequenziali parallele
Possono essere applicate
tra domini diversi (trasformate bidimensionali)1048633
nello stesso dominio (di particolare interesse il dominio spaziale e quello delle frequenze spaziali)
con riduzione dei dati tra ingresso e uscita (per esempio estrazione di informazioni o compressione)
(spesso) lineari e spazio-invarianti (convoluzioni bidimensionali)
3
Multimedia - Prof Sebastiano Battiato
Metodi nel Dominio Spaziale
Le elaborazioni nel dominio spaziale possono essere espresse come
g(xy)= T[f(xy)]
essendo f lrsquoimmagine di ingresso alla elaborazione g quella di uscita e T un operatore su f definito in un intorno di (xy)
La dimensione dellrsquointorno di (xy) definisce il carattere della elaborazione
puntuale (lrsquointorno coincide con il pixel stesso)
locale (per esempio una piccola regione quadrata centrata sul pixel)
globale (lrsquointorno coincide con lrsquointera f)
Multimedia - Prof Sebastiano Battiato
Elaborazioni Puntuali
Il risultato di una elaborazione puntuale omogenea dipende solo dal valore del pixel cui egrave applicata per cui tali elaborazioni vengono anche dette manipolazioni della scala dei grigio dei colori
Se invece il risultato dellrsquoelaborazione dipende anche dalla posizione del pixel nellrsquoimmagine si parla di elaborazioni puntuali non omogenee
Alcune tipiche elaborazioni puntuali omogenee Aggiunta o sottrazione di una costante a tutti i pixel (per compensare sotto o
sovraesposizioni)
Inversione della scala dei grigi (negativo)
Espansione del contrasto
Modifica (equalizzazione o specifica) dellistogramma
Presentazione in falsi colori
4
Multimedia - Prof Sebastiano Battiato
Elaborazione Puntuali Omogenee
Lrsquoelaborazione si effettua applicando una specifica
operazione a ciascun pixel dellrsquoimmagine di partenza e
costruendo una nuova immagine in cui ciascun pixel
assume un valore che egrave il risultato della operazione stessa
Lrsquoelaborazione puntuale omogenea puograve pertanto essere
rappresentata da una trasformazione (o mapping) dei livelli
di grigio del tipo
s = T(r)
dove r egrave la variabile che rappresenta il livello di grigio
dellrsquoimmagine di ingresso alla elaborazione ed s egrave la
variabile che rappresenta il livello di grigio dellrsquoimmagine
di uscita
Multimedia - Prof Sebastiano Battiato
Contrast Enhancement
Lrsquoimmagine di output avragrave un contrasto maggiore visto che i
valori di grigio piugrave piccoli di m vengono resi piugrave scuri mentre
quelli piugrave grandi vengono resi piugrave chiari
5
Multimedia - Prof Sebastiano 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 - Prof Sebastiano Battiato
Esempio
(a) Mammografia digitale (b) Negativo dellrsquoimmagine ottenuta usando la trasformazione ldquonegativardquo
6
Multimedia - Prof Sebastiano 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
intensitagrave molto ampie Puograve essere
espressa come
s = c log (1 + r)
Si puograve notare come la trasformazione realizzi lrsquoespansione della
dinamica per bassi valori di r e la compressione della dinamica per alti
valori di r c egrave una costante di scala che va scelta opportunamente per
far rientrare i valori trasformati nel range corretto cioegrave in [0 L-1]
Multimedia - Prof Sebastiano Battiato
Trasformazione Logaritmica
Supponendo che sia 0 lt r lt R si ha 0 lt s lt c log(1+R) Se
Rgtgt1 come normalmente avviene per esempio per lo
spettro di Fourier di una immagine si puograve porre
c log R = L-1 da cui c = (L-1)log R
In tal modo egrave possibile per esempio visualizzare su un
dispositivo a 256 livelli di grigio unrsquoimmagine con una
gamma dinamica molto piugrave ampia anche dellrsquoordine dei
milioni senza che siano visualizzabili solo i valori piugrave alti
come avverrebbe se il mapping tra le due gamme dinamiche
fosse lineare
7
Multimedia - Prof Sebastiano Battiato
Un Esempio
Lrsquoimmagine di sinistra contiene dei valori compresi tra 0 e 15x106
visualizzata scalando questi valori linearmente nel range [0 28-1]
La variabilitagrave relativa puograve essere evidenziata applicando prima
dello scaling lineare a 8-bit una trasformazione logaritmica (in
questo caso c=1)
Multimedia - Prof Sebastiano Battiato
Trasformazione di Potenza
La trasformazione di potenza nel caso generale puograve essere espressa come
s = c rγ
dove c e γ sono costanti positive La costante c egrave 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
8
Multimedia - Prof Sebastiano Battiato
Ersquo 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
c = 1
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensitagrave di emissione-tensione applicata non lineare ma
approssimativamente quadratica (in realtagrave lrsquoesponente varia
tra 18 e 25)
Con riferimento alle curve mostrate questo comportamento
tende a rendere lrsquoimmagine piugrave scura del voluto Per
esempio su un monitor CRT (con γ= 25) si puograve applicare
una correzione pre-processando lrsquoinput con la
corrispondente funzione inversa s = r125= r04
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
3
Multimedia - Prof Sebastiano Battiato
Metodi nel Dominio Spaziale
Le elaborazioni nel dominio spaziale possono essere espresse come
g(xy)= T[f(xy)]
essendo f lrsquoimmagine di ingresso alla elaborazione g quella di uscita e T un operatore su f definito in un intorno di (xy)
La dimensione dellrsquointorno di (xy) definisce il carattere della elaborazione
puntuale (lrsquointorno coincide con il pixel stesso)
locale (per esempio una piccola regione quadrata centrata sul pixel)
globale (lrsquointorno coincide con lrsquointera f)
Multimedia - Prof Sebastiano Battiato
Elaborazioni Puntuali
Il risultato di una elaborazione puntuale omogenea dipende solo dal valore del pixel cui egrave applicata per cui tali elaborazioni vengono anche dette manipolazioni della scala dei grigio dei colori
Se invece il risultato dellrsquoelaborazione dipende anche dalla posizione del pixel nellrsquoimmagine si parla di elaborazioni puntuali non omogenee
Alcune tipiche elaborazioni puntuali omogenee Aggiunta o sottrazione di una costante a tutti i pixel (per compensare sotto o
sovraesposizioni)
Inversione della scala dei grigi (negativo)
Espansione del contrasto
Modifica (equalizzazione o specifica) dellistogramma
Presentazione in falsi colori
4
Multimedia - Prof Sebastiano Battiato
Elaborazione Puntuali Omogenee
Lrsquoelaborazione si effettua applicando una specifica
operazione a ciascun pixel dellrsquoimmagine di partenza e
costruendo una nuova immagine in cui ciascun pixel
assume un valore che egrave il risultato della operazione stessa
Lrsquoelaborazione puntuale omogenea puograve pertanto essere
rappresentata da una trasformazione (o mapping) dei livelli
di grigio del tipo
s = T(r)
dove r egrave la variabile che rappresenta il livello di grigio
dellrsquoimmagine di ingresso alla elaborazione ed s egrave la
variabile che rappresenta il livello di grigio dellrsquoimmagine
di uscita
Multimedia - Prof Sebastiano Battiato
Contrast Enhancement
Lrsquoimmagine di output avragrave un contrasto maggiore visto che i
valori di grigio piugrave piccoli di m vengono resi piugrave scuri mentre
quelli piugrave grandi vengono resi piugrave chiari
5
Multimedia - Prof Sebastiano 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 - Prof Sebastiano Battiato
Esempio
(a) Mammografia digitale (b) Negativo dellrsquoimmagine ottenuta usando la trasformazione ldquonegativardquo
6
Multimedia - Prof Sebastiano 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
intensitagrave molto ampie Puograve essere
espressa come
s = c log (1 + r)
Si puograve notare come la trasformazione realizzi lrsquoespansione della
dinamica per bassi valori di r e la compressione della dinamica per alti
valori di r c egrave una costante di scala che va scelta opportunamente per
far rientrare i valori trasformati nel range corretto cioegrave in [0 L-1]
Multimedia - Prof Sebastiano Battiato
Trasformazione Logaritmica
Supponendo che sia 0 lt r lt R si ha 0 lt s lt c log(1+R) Se
Rgtgt1 come normalmente avviene per esempio per lo
spettro di Fourier di una immagine si puograve porre
c log R = L-1 da cui c = (L-1)log R
In tal modo egrave possibile per esempio visualizzare su un
dispositivo a 256 livelli di grigio unrsquoimmagine con una
gamma dinamica molto piugrave ampia anche dellrsquoordine dei
milioni senza che siano visualizzabili solo i valori piugrave alti
come avverrebbe se il mapping tra le due gamme dinamiche
fosse lineare
7
Multimedia - Prof Sebastiano Battiato
Un Esempio
Lrsquoimmagine di sinistra contiene dei valori compresi tra 0 e 15x106
visualizzata scalando questi valori linearmente nel range [0 28-1]
La variabilitagrave relativa puograve essere evidenziata applicando prima
dello scaling lineare a 8-bit una trasformazione logaritmica (in
questo caso c=1)
Multimedia - Prof Sebastiano Battiato
Trasformazione di Potenza
La trasformazione di potenza nel caso generale puograve essere espressa come
s = c rγ
dove c e γ sono costanti positive La costante c egrave 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
8
Multimedia - Prof Sebastiano Battiato
Ersquo 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
c = 1
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensitagrave di emissione-tensione applicata non lineare ma
approssimativamente quadratica (in realtagrave lrsquoesponente varia
tra 18 e 25)
Con riferimento alle curve mostrate questo comportamento
tende a rendere lrsquoimmagine piugrave scura del voluto Per
esempio su un monitor CRT (con γ= 25) si puograve applicare
una correzione pre-processando lrsquoinput con la
corrispondente funzione inversa s = r125= r04
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
4
Multimedia - Prof Sebastiano Battiato
Elaborazione Puntuali Omogenee
Lrsquoelaborazione si effettua applicando una specifica
operazione a ciascun pixel dellrsquoimmagine di partenza e
costruendo una nuova immagine in cui ciascun pixel
assume un valore che egrave il risultato della operazione stessa
Lrsquoelaborazione puntuale omogenea puograve pertanto essere
rappresentata da una trasformazione (o mapping) dei livelli
di grigio del tipo
s = T(r)
dove r egrave la variabile che rappresenta il livello di grigio
dellrsquoimmagine di ingresso alla elaborazione ed s egrave la
variabile che rappresenta il livello di grigio dellrsquoimmagine
di uscita
Multimedia - Prof Sebastiano Battiato
Contrast Enhancement
Lrsquoimmagine di output avragrave un contrasto maggiore visto che i
valori di grigio piugrave piccoli di m vengono resi piugrave scuri mentre
quelli piugrave grandi vengono resi piugrave chiari
5
Multimedia - Prof Sebastiano 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 - Prof Sebastiano Battiato
Esempio
(a) Mammografia digitale (b) Negativo dellrsquoimmagine ottenuta usando la trasformazione ldquonegativardquo
6
Multimedia - Prof Sebastiano 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
intensitagrave molto ampie Puograve essere
espressa come
s = c log (1 + r)
Si puograve notare come la trasformazione realizzi lrsquoespansione della
dinamica per bassi valori di r e la compressione della dinamica per alti
valori di r c egrave una costante di scala che va scelta opportunamente per
far rientrare i valori trasformati nel range corretto cioegrave in [0 L-1]
Multimedia - Prof Sebastiano Battiato
Trasformazione Logaritmica
Supponendo che sia 0 lt r lt R si ha 0 lt s lt c log(1+R) Se
Rgtgt1 come normalmente avviene per esempio per lo
spettro di Fourier di una immagine si puograve porre
c log R = L-1 da cui c = (L-1)log R
In tal modo egrave possibile per esempio visualizzare su un
dispositivo a 256 livelli di grigio unrsquoimmagine con una
gamma dinamica molto piugrave ampia anche dellrsquoordine dei
milioni senza che siano visualizzabili solo i valori piugrave alti
come avverrebbe se il mapping tra le due gamme dinamiche
fosse lineare
7
Multimedia - Prof Sebastiano Battiato
Un Esempio
Lrsquoimmagine di sinistra contiene dei valori compresi tra 0 e 15x106
visualizzata scalando questi valori linearmente nel range [0 28-1]
La variabilitagrave relativa puograve essere evidenziata applicando prima
dello scaling lineare a 8-bit una trasformazione logaritmica (in
questo caso c=1)
Multimedia - Prof Sebastiano Battiato
Trasformazione di Potenza
La trasformazione di potenza nel caso generale puograve essere espressa come
s = c rγ
dove c e γ sono costanti positive La costante c egrave 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
8
Multimedia - Prof Sebastiano Battiato
Ersquo 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
c = 1
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensitagrave di emissione-tensione applicata non lineare ma
approssimativamente quadratica (in realtagrave lrsquoesponente varia
tra 18 e 25)
Con riferimento alle curve mostrate questo comportamento
tende a rendere lrsquoimmagine piugrave scura del voluto Per
esempio su un monitor CRT (con γ= 25) si puograve applicare
una correzione pre-processando lrsquoinput con la
corrispondente funzione inversa s = r125= r04
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
5
Multimedia - Prof Sebastiano 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 - Prof Sebastiano Battiato
Esempio
(a) Mammografia digitale (b) Negativo dellrsquoimmagine ottenuta usando la trasformazione ldquonegativardquo
6
Multimedia - Prof Sebastiano 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
intensitagrave molto ampie Puograve essere
espressa come
s = c log (1 + r)
Si puograve notare come la trasformazione realizzi lrsquoespansione della
dinamica per bassi valori di r e la compressione della dinamica per alti
valori di r c egrave una costante di scala che va scelta opportunamente per
far rientrare i valori trasformati nel range corretto cioegrave in [0 L-1]
Multimedia - Prof Sebastiano Battiato
Trasformazione Logaritmica
Supponendo che sia 0 lt r lt R si ha 0 lt s lt c log(1+R) Se
Rgtgt1 come normalmente avviene per esempio per lo
spettro di Fourier di una immagine si puograve porre
c log R = L-1 da cui c = (L-1)log R
In tal modo egrave possibile per esempio visualizzare su un
dispositivo a 256 livelli di grigio unrsquoimmagine con una
gamma dinamica molto piugrave ampia anche dellrsquoordine dei
milioni senza che siano visualizzabili solo i valori piugrave alti
come avverrebbe se il mapping tra le due gamme dinamiche
fosse lineare
7
Multimedia - Prof Sebastiano Battiato
Un Esempio
Lrsquoimmagine di sinistra contiene dei valori compresi tra 0 e 15x106
visualizzata scalando questi valori linearmente nel range [0 28-1]
La variabilitagrave relativa puograve essere evidenziata applicando prima
dello scaling lineare a 8-bit una trasformazione logaritmica (in
questo caso c=1)
Multimedia - Prof Sebastiano Battiato
Trasformazione di Potenza
La trasformazione di potenza nel caso generale puograve essere espressa come
s = c rγ
dove c e γ sono costanti positive La costante c egrave 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
8
Multimedia - Prof Sebastiano Battiato
Ersquo 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
c = 1
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensitagrave di emissione-tensione applicata non lineare ma
approssimativamente quadratica (in realtagrave lrsquoesponente varia
tra 18 e 25)
Con riferimento alle curve mostrate questo comportamento
tende a rendere lrsquoimmagine piugrave scura del voluto Per
esempio su un monitor CRT (con γ= 25) si puograve applicare
una correzione pre-processando lrsquoinput con la
corrispondente funzione inversa s = r125= r04
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
6
Multimedia - Prof Sebastiano 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
intensitagrave molto ampie Puograve essere
espressa come
s = c log (1 + r)
Si puograve notare come la trasformazione realizzi lrsquoespansione della
dinamica per bassi valori di r e la compressione della dinamica per alti
valori di r c egrave una costante di scala che va scelta opportunamente per
far rientrare i valori trasformati nel range corretto cioegrave in [0 L-1]
Multimedia - Prof Sebastiano Battiato
Trasformazione Logaritmica
Supponendo che sia 0 lt r lt R si ha 0 lt s lt c log(1+R) Se
Rgtgt1 come normalmente avviene per esempio per lo
spettro di Fourier di una immagine si puograve porre
c log R = L-1 da cui c = (L-1)log R
In tal modo egrave possibile per esempio visualizzare su un
dispositivo a 256 livelli di grigio unrsquoimmagine con una
gamma dinamica molto piugrave ampia anche dellrsquoordine dei
milioni senza che siano visualizzabili solo i valori piugrave alti
come avverrebbe se il mapping tra le due gamme dinamiche
fosse lineare
7
Multimedia - Prof Sebastiano Battiato
Un Esempio
Lrsquoimmagine di sinistra contiene dei valori compresi tra 0 e 15x106
visualizzata scalando questi valori linearmente nel range [0 28-1]
La variabilitagrave relativa puograve essere evidenziata applicando prima
dello scaling lineare a 8-bit una trasformazione logaritmica (in
questo caso c=1)
Multimedia - Prof Sebastiano Battiato
Trasformazione di Potenza
La trasformazione di potenza nel caso generale puograve essere espressa come
s = c rγ
dove c e γ sono costanti positive La costante c egrave 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
8
Multimedia - Prof Sebastiano Battiato
Ersquo 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
c = 1
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensitagrave di emissione-tensione applicata non lineare ma
approssimativamente quadratica (in realtagrave lrsquoesponente varia
tra 18 e 25)
Con riferimento alle curve mostrate questo comportamento
tende a rendere lrsquoimmagine piugrave scura del voluto Per
esempio su un monitor CRT (con γ= 25) si puograve applicare
una correzione pre-processando lrsquoinput con la
corrispondente funzione inversa s = r125= r04
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
7
Multimedia - Prof Sebastiano Battiato
Un Esempio
Lrsquoimmagine di sinistra contiene dei valori compresi tra 0 e 15x106
visualizzata scalando questi valori linearmente nel range [0 28-1]
La variabilitagrave relativa puograve essere evidenziata applicando prima
dello scaling lineare a 8-bit una trasformazione logaritmica (in
questo caso c=1)
Multimedia - Prof Sebastiano Battiato
Trasformazione di Potenza
La trasformazione di potenza nel caso generale puograve essere espressa come
s = c rγ
dove c e γ sono costanti positive La costante c egrave 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
8
Multimedia - Prof Sebastiano Battiato
Ersquo 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
c = 1
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensitagrave di emissione-tensione applicata non lineare ma
approssimativamente quadratica (in realtagrave lrsquoesponente varia
tra 18 e 25)
Con riferimento alle curve mostrate questo comportamento
tende a rendere lrsquoimmagine piugrave scura del voluto Per
esempio su un monitor CRT (con γ= 25) si puograve applicare
una correzione pre-processando lrsquoinput con la
corrispondente funzione inversa s = r125= r04
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
8
Multimedia - Prof Sebastiano Battiato
Ersquo 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
c = 1
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
I monitor CRT esibiscono tipicamente una caratteristica
intensitagrave di emissione-tensione applicata non lineare ma
approssimativamente quadratica (in realtagrave lrsquoesponente varia
tra 18 e 25)
Con riferimento alle curve mostrate questo comportamento
tende a rendere lrsquoimmagine piugrave scura del voluto Per
esempio su un monitor CRT (con γ= 25) si puograve applicare
una correzione pre-processando lrsquoinput con la
corrispondente funzione inversa s = r125= r04
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
9
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Multimedia - Prof Sebastiano Battiato
Correzione Gamma
Come giagrave accennato la
correzione Gamma puograve
anche essere utilizzata per
modificare il contrasto di
unrsquoimmagine Lrsquoimmagine
in alto a sx presenta una
chiaro appiattimento della
dinamica verso il ldquobiancordquo
(si veda il relativo
istogramma)
A seguire lrsquoimmagine
risultante dallrsquoapplicazione
di una correzione Gamma
al variare del parametro g
g = 3
g = 4 g = 5
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
10
Multimedia - Prof Sebastiano Battiato
Bit-planes
Unrsquoimmagine con una profonditagrave colore di N bit puograve essere
rappresentata da N piani di bit (bit-planes) ciascuno dei quali puograve
essere vista come una singola immagine binaria In particolare si puograve
indurre un ordine che varia dal Most Significant Bit (MSB) fino al
Least Significant Bit (LSB)
Multimedia - Prof Sebastiano Battiato
Lena Bit-planes
Most Significant bit (MSB) Least Significant bit (LSB)
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
11
Multimedia - Prof Sebastiano Battiato
Ancora Bit-planes
Multimedia - Prof Sebastiano Battiato
Bit-planes
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
12
Multimedia - Prof Sebastiano Battiato
Bit-planes Osservazioni
I piani di bit piugrave significativi contengono informazioni
sulla struttura dellrsquoimmagine mentre quelli via via meno
significativi forniscono i dettagli sempre piugrave piccoli
Si noti che solo i piani dal 7 al 3 contengono dati
significativi dal punto di vista visuale
Che cosa rappresenta lrsquoimmagine del piano 7
Quali sono gli intervalli di valori di grigio coperti dagli altri
piani
Multimedia - Prof Sebastiano Battiato
Range Highlights
Ersquo possibile selezionare
solo i toni di grigio
allrsquointerno di un certo
range di valori
attraverso delle LUT
dette appunto Range
Highlights in grado di
agire solo sui toni di
grigio allrsquointerno di un
intervallo [A B]
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
13
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
Data unrsquoimmagine 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
x x 1 x x x x x
In particolare si puograve 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
0 0 1 x x x x x 25 = 32 helliphellip 63
0 1 1 x x x x x 26+25 = 96 helliphellip 127
1 0 1 x x x x x 27+25 = 160 hellip 191
1 1 1 x x x x x 27+26+25 = 224 hellip 255
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT I toni di grigio individuati dal quinto bit sono tutti quelli della forma
x x x x 1 x x x
In particolare si puograve 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
0 0 0 0 1 x x x 23 = 8 helliphellip 15
0 0 0 1 1 x x x 24+23 = 24 hellip 31
0 0 1 0 1 x x x 25+23 = 40 hellip 47
0 0 1 1 1 x x x 25+24+23 = 56 hellip 63
0 1 0 0 1 x x x 26+23 = 72 hellip 79
0 1 0 1 1 x x x 26+24+23 = 88 hellip 95
0 1 1 0 1 x x x 26+25+23 = 104 hellip 111
0 1 1 1 1 x x x 26+25+24+23= 120 hellip 127
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
14
Multimedia - Prof Sebastiano Battiato
Bit-planes e LUT
1 0 0 0 1 x x x 27+23= 136 hellip 143
1 0 0 1 1 x x x 27+24+23= 152 hellip 159
1 0 1 0 1 x x x 27+25+23= 168 hellip 175
1 0 1 1 1 x x x 27+25+24+23= 184 hellip 191
1 1 0 0 1 x x x 27+26+23= 200 hellip 207
1 1 0 1 1 x x x 27+26+24+23= 216 hellip 223
1 1 1 0 1 x x x 27+26+25+23= 232 hellip 239
1 1 1 1 1 x x x 27+26+25+24+23= 248 hellip 255
In generale la LUT che evidenzia i toni di grigio dellrsquoi-esimo bit (i =
0hellip 7) dove i = 0 fa riferimento al LSB individua i toni di grigio ad
intervalli regolari di 2i+1 valori a partire da 2i Lrsquoampiezza di ciascun
intervallo egrave pari a 2i-1 Individuati gli intervalli costruire la LUT
corrispondente egrave immediato
Multimedia - Prof Sebastiano Battiato
Bit-planes LUT
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
15
Multimedia - Prof Sebastiano Battiato
MATLAB
function bitPlanes(imagePath bit) Creo il byte da mettere in AND per evidenziare solo un bit mask = pow2(double(bit)) mask = uint8(mask) disp(Maschera) dec2bin(mask) im = imread(imagePath) image = rgb2gray(im) a = bitand(mask image) Applico la maschera Trasformo tutti i valori gt0 in 1 e poi in 255 b = (agt0) 255 image = uint8(b) figure imshow(image) X = uint8([01255]) y = bitand(mask X) Y = (ygt0) 255 figureplot(XY)axis([0 255 -10 300]) end
Multimedia - Prof Sebastiano Battiato
Modifica dellrsquoIstogramma
Listogramma (normalizzato) dei livelli di grigio di unimmagine digitale egrave la funzione discreta
dove nk egrave il numero di pixel dellimmagine con livello di grigio rk mentre M ed N denotano le dimensioni orizzontale e verticale (il numero totale di pixel)
E pertanto una stima a posteriori delle probabilitagrave di occorrenza dei livelli di grigio dellimmagine utile perchegrave fornisce una descrizione globale della cosiddetta apparenza dellimmagine
11 0per )( L-k MN
nrp k
k ==
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
16
Multimedia - Prof Sebastiano Battiato
Le informazioni date dallrsquoistogramma possono dare unidea
generale della possibilitagrave di miglioramento dellimmagine
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 lrsquoistogramma
rappresenta una descrizione in un certo senso globale delle
caratteristiche visuali dellrsquoimmagine In senso stretto perograve
la manipolazione dellrsquoistogramma egrave una operazione
puntuale
Modifica dellrsquoIstogramma
Multimedia - Prof Sebastiano Battiato
Equalizzazione perche
In generale le componenti di
luminanza di un istogramma
in immagini ad alto contrasto
coprono quasi lrsquointera
gamma di valori ed inoltre la
distribuzione dei pixel non egrave
troppo dissimile da una
distribuzione uniforme
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
17
Multimedia - Prof Sebastiano Battiato
Lrsquoequalizzazione (o linearizzazione) dellrsquoistogramma di una
immagine egrave lrsquoelaborazione che idealmente produce una
immagine con istogramma ldquopiattordquo cioegrave con livelli di grigio
uniformemente distribuiti sui pixel (ogni livello di grigio
caratterizza lo stesso numero di pixel dellrsquoimmagine)
Prima di procedere con i dettagli del relativo algoritmo egrave bene
rivedere alcuni concetti sulla teoria della probabilitagrave (variabili
casuali probability density function (PDF) cumulative density
function (CDF) ecc) (si veda pagg 33-44
review_of_probabilityzip e pagg 21-24 reviewpdf dal sito del
libro di testo)
Equalizzazione perche
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In realtagrave una distribuzione perfettamente uniforme dei livelli di grigio non
puograve essere ottenuta principalmente a causa della natura discreta delle
grandezze trattate
Supponiamo inizialmente che r sia una variabile continua tale che 0 le r le
L ndash 1 si assuma inoltre che s = T(r) soddisfi le due condizioni
a) T(r) egrave una funzione monotona non decrescente nellrsquointervallo 0le r le
L-1
b) 0 le Τ(r) le L-1 per 0 le r le L-1
Per garantire lrsquoesistenza della trasformazione inversa richiederemo anche la
stretta monotonicitagrave La a) conserva anche lordine 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)
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
18
Multimedia - Prof Sebastiano Battiato
Esempi di T(r)
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
La trasformazione inversa egrave r = T-1(s) per 0 le s le 1 e si assume
che anche T-1(s) soddisfi le condizioni a) e b) rispetto a s 1048633 Se r
e s vengono viste come variabili random nellintervallo [01] egrave
possibile caratterizzarle mediante le rispettive densitagrave di
probabilitagrave pr(r) e ps(s)
Dalla teoria della probabilitagrave se pr(r) e T(r) sono note e T-1(s)
soddisfa la condizione a) si ha
E possibile pertanto controllare la distribuzione dei livelli di
grigio nellimmagine trasformata adoperando una adeguata
funzione di trasformazione
)(1
)()(sTr
rsds
drrpsp
=
=
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
19
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
In particolare si consideri la trasformazione costituita dalla funzione
di distribuzione cumulativa (CDF) di r
La CDF soddisfa entrambe le condizioni a) e b) in quanto egrave 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)
e quindi
==r
r L rdpLrTs0
10 )()1()(
)()1()()1()(
0rpLdp
dr
dL
dr
rdT
dr
dsr
r
r ===
10 1
1
)()1(
1)()(
)(1
=
=
=
LsLrpL
rpsp
sTrr
rs
Multimedia - Prof Sebastiano Battiato
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
20
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Pertanto la densitagrave di probabilitagrave della variabile trasformata egrave uniforme nel suo intervallo di definizione indipendentemente dalla funzione di trasformazione inversa T-1(s) Questo egrave importante percheacute lrsquoinversione della T(r) non egrave in generale una operazione analiticamente semplice
Utilizzando come trasformazione la CDF di r si ottiene dunque una immagine con densitagrave di probabilitagrave uniforme dei livelli di grigio indipendentemente dalla densitagrave di probabilitagrave iniziale Ne deriva un incremento nella gamma dinamica dei pixel che puograve avere notevoli effetti sullaapparenza dellimmagine
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Tornando a considerare discrete le variabili random si prendono in
considerazione probabilitagrave e somme al posto di densitagrave di probabilitagrave
e integrali Si ha per la probabilitagrave di occorrenza dei livelli di grigio
La funzione da utilizzare per lequalizzazione dellistogramma nel
caso discreto egrave la seguente
La trasformazione consiste nel trasformare ogni pixel di livello rk in
un pixel di livello sk attraverso la T(rk) che si calcola direttamente
dallrsquoistogramma dellimmagine di partenza
11 0 e 10per )( L-k rMN
nrp k
kk ==
11 0 e 10 )1(
)()1()(00
L-kLrnMN
LrpLrTs k
k
j
j
k
j
jrkk =
=== ==
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
21
Multimedia - Prof Sebastiano Battiato
Equalizzazione un esempio
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Come si puograve notare lrsquoistogramma della immagine equalizzata non egrave
piatto Drsquoaltro canto lrsquouniformitagrave della ps(s) egrave stata verificata solo
nel caso continuo e non nel caso discreto
Tuttavia i livelli di grigio dellrsquoimmagine 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 ldquosgranamentordquo dellrsquoimmagine la
comparsa di ldquofalserdquo regioni ecc soprattutto quando il contrasto
dellrsquoimmagine originale egrave molto basso
Lrsquoapparenza dellrsquoimmagine puograve essere migliorata anche con altre
tecniche di modifica del contrasto ma lrsquoequalizzazione
dellrsquoistogramma ha il vantaggio di essere completamente
automatica
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
22
Multimedia - Prof Sebastiano 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 nkn
0 0 (2010)400 = 05
1 025 (205)400 = 025
2 05 (200)400 = 0
3 075 (203)400 = 015
4 1 (202)400 = 01
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
Il relativo istogramma egrave il seguente
Lrsquooperatore T(r) utilizza le frequenze cumulate per definire i valori sk come segue
s0=T(r0)= 05 ----- r2
s1=T(r1)= 075 ----- r3
s2=T(r2)= 075 ----- r3
s3=T(r3)= 09 ----- r4
s4=T(r4)= 1 ----- r4
05
025
0
01501
0
01
02
03
04
05
06
1 2 3 4 5
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
23
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
La LUT corrispondente egrave quindi univocamente determinata
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio1
0 0
05
025 025
0
01
02
03
04
05
06
1 2 3 4 5
Lrsquoistogramma finale dellrsquoimmagine equalizzata avragrave la seguente forma
Lrsquoaspetto grafico dellrsquoimmagine saragrave quindi
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
24
Multimedia - Prof Sebastiano Battiato
Equalizzazione Esempio2
Percheacute lrsquoequalizzazione non produce in realtagrave un istogramma piatto
Vediamolo con un esempio Si consideri una semplice immagine con L = 8
livelli di grigio (k = 0 1 hellip 7) e la seguente distribuzione di probabilitagrave
Multimedia - Prof Sebastiano Battiato
Applicando la trasformazione si ottengono i seguenti valori
s0=T(r0)=0015
s1=T(r1)=0115
s2=T(r2)=0365
s3=T(r3)=0765
s4=T(r4)=0965
s5=T(r5)=1
s6=T(r6)=1
s7=T(r7)=1
Che non coincidono con gli rk iniziali Che fare allora
Equalizzazione dellrsquoIstogramma
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
25
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Avendo a disposizione solo 8 valori di grigio bisogna approssimare i valori sk cosigrave ottenuti al valore di grigio possibile piugrave vicino (multipli di 17=0143) Denotando con ss tali valori approssimati si ottiene
Ridistribuendo i pixel sui nuovi livelli la distribuzione di probabilitagrave dei pixel dellrsquoimmagine di uscita egrave la seguente ps(0) = 0015 ps(0143) = 01 ps(0286) = 0 ps(0428) = 025 ps(0571) = 0 ps(0714) = 04 ps(0857) = 0 ps(1) = 0235
Multimedia - Prof Sebastiano Battiato
Equalizzazione dellrsquoIstogramma
Ersquo lrsquoapprossimazione nel calcolo dei nuovi livelli dovuta alla
natura discreta dei livelli stessi a causare la non uniformitagrave
dellrsquoistogramma
Inoltre si puograve notare che il livello massimo egrave necessariamente
presente per effetto del meccanismo di trasformazione utilizzata
Qual egrave lrsquoeffetto prodotto dalla equalizzazione di una immagine
giagrave equalizzata
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
26
Multimedia - Prof Sebastiano Battiato
(1)
(2)
(3)
(4)
Multimedia - Prof Sebastiano Battiato
Histogram Matching
Esistono applicazioni per le quali basare il processo di enhancement sulla trasformazione volta ad ottenere un istogramma uniforme non egrave la migliore soluzione In particolare egrave spesso utile specificare la ldquoformardquo (shape) dellrsquoistogramma che si vuole ottenere Questa tecnica prende il nome di Histogram Matching o Specification
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
27
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
Lrsquoequalizzazione appiattisce
ldquowash-outrdquo lrsquoimmagine di
input
Multimedia - Prof Sebastiano Battiato
Histogram Matching un esempio
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
28
Multimedia - Prof Sebastiano Battiato
I punti di controllo (r1s1) e
(r2s2) regolano la tipologia
di trasformazione da
applicare
Se r1=s1 e r2=s2 si ottiene
la retta a 45deg gradi che
lascia tutto inalterato
Se r1=r2 s1=0 e s2 = L-1 si
ottiene una funzione di
thresholding
Di solito si ha r1le r2 e s1le
s2 per ovvi motivi (r1s1) = (rmin 0)
(r2s2) = (rmax L-1)
r1 = r2 = m
s1 =0 s2=L-1
Contrast Stretching
Multimedia - Prof Sebastiano Battiato
Elaborazioni puntuali non omogenee
Le operazioni logiche di AND e di OR possono essere utilizzate in
particolare per lrsquoestrazione dalla immagine di una parte significativa (ROI ndash
Region of Interest) che debba essere successivamente elaborata
Questa operazione detta anche di masking puograve essere condotta come
mostrano gli esempi seguenti ricordando che lrsquooperazione logica egrave
effettuata bit per bit tra pixel nella stessa posizione nelle due immagini
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
29
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Lrsquoequalizzazione dellrsquoistogramma vista in precedenza non si presta ad
un miglioramento dellimmagine 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
Multimedia - Prof Sebastiano Battiato
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
30
Multimedia - Prof Sebastiano Battiato
Miglioramento locale
Il piccolo numero di pixel in queste aree puograve avere infatti
influenza trascurabile nella determinazione di una
trasformazione globale che pertanto non garantiragrave
necessariamente il miglioramento locale Ersquo possibile allora
utilizzare metodi basati sulla distribuzione dei livelli di grigio
(o di altre proprietagrave dei pixel) in piccole aree dellimmagine
Oltre allrsquoistogramma altre proprietagrave frequentemente usate in
elaborazioni locali di questo tipo sono lintensitagrave media m che
egrave una misura della luminositagrave media dellintorno considerato e
la varianza σ2 (o la sua radice quadrata cioegrave la deviazione
standard σ) che egrave una misura del contrasto nellintorno
Multimedia - Prof Sebastiano Battiato
Miglioramento Locale
Con lo stesso significato dei simboli visto in precedenza il
momento centrale n-mo di r (lrsquoattributo centrale significa che
alla r egrave stata sottratta la sua media m) egrave definito come
Si ha ovviamente micro0= 1 e micro1= 0 In particolare per n = 2 si
ha la varianza
=
=
==1
0
1
0
)( dove )()(L
iii
L
ii
nin rprmrpmrr
=
==1
0
22
2 )()()()(L
iii rpmrrr
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
31
Features Extraction Contrast and Focus
To be able to identify regions of the image that contain more information the luminance plane is subdivided in m blocks of equal dimensions (NxN)
For each block statistical measures of ldquocontrastrdquo and ldquofocusrdquo are computed The underlying assumption is that that well focused or high-contrast blocks are more relevant compared to the others
Focus Measure
The focus measure is computed by convolving each block with a simple 3x3 Laplacian filter In order to discard irrelevant high frequency pixels (mostly noise) the outputs of the convolution at each pixel are bounded (fixed threshold)
The mean focus value of each block is computed as
where N2 is the number of pixels and the thresh() operator discards values lower than a fixed threshold Noise
2
N
1i
N
NoiseilaplthreshF
2
==])([
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
32
Contrast Measure In order to remove irrelevant peaks the histogram is slightly smoothed by
replacing each entry with its mean in a ray 2 neighborhood Thus the original histogram entry is replaced with the gray-level
The contrast measure is computed by simply building a histogram for each block and then calculating its deviation
from the mean value
A high deviation value denotes good contrast and vice versa
5
2iI1iIiI1iI2iIiI
][][][][][][
~ =
=
=
=255
0i
255
0i
iI
iIMiD
][~
][~
=
=
=255
0i
255
0i
iI
iIiM
][~
][~
Examples
(a) Original Color input image (b) Contrast and focus visually significant detected blocks
(c) Contrast enhancement obtained from RGB image through global correction
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
33
Experiments
bullInput bullLocal Correction
bullGlobal Correction
Experiments
bullInput bullLocal Correction
bullGlobal Correction
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
34
Multimedia - Prof Sebastiano Battiato
Miglioramento localeun esempio
Un esempio di elaborazione che fa uso dei valori locali di questi parametri statistici egrave il seguente
g(xy)=A(xy)[f(xy) ndash m(xy)]+m(xy)
dove
A(xy) = k (M σ(xy)) con 0 lt k lt 1
m(xy) e σ(xy) sono rispettivamente la media e la deviazione standard dei livelli di grigio nellintorno di (xy) M egrave la media globale di f(xy) e k egrave una costante La trasformazione cosigrave definita viene utilizzata per calcolare il nuovo valore del pixel centrale dellrsquointorno
Poicheacute A egrave inversamente proporzionale alla varianza le aree dellimmagine a minore contrasto vengono a guadagnare di piugrave La media locale egrave aggiunta per ripristinare lintensitagrave media dellimmagine nellintorno 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 - Prof Sebastiano Battiato
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
35
Multimedia - Prof Sebastiano Battiato
MATLAB histogram function
h=imhist(fbin)
P=imhist(fbin)numel(f)
h1=h(110256)
horz=110256
bar(horzh1)
stem(horzh1 lsquofillrsquo)
plot(h)
g1=histeq(fnlev)
Histogram Equalization
g2=histeq(f hspec)
Histogram specification where hspec is a row vector
Multimedia - Prof Sebastiano Battiato
MATLAB imadjust
Imadjust egrave la funzione MATLAB demandata alle trasformazioni
(mapping) dei toni di grigio La sua sintassi egrave
g=imadjust(f[low_inhigh_in][low_outhigh_out]gamma)
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
36
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
Lrsquoargomento egrave stato giagrave trattato nel
corso di IEM Un pograve di notazione egrave
comunque utile e necessaria per il
proseguio
In generale il filtraggio (lineare) di
unrsquoimmagine f con una ldquofilter maskrdquo
m x n egrave data dallrsquoespressione
dove a = (m-1)2 e b = (n-1)2
Ovviamente questa operazione va
ripetuta per x = 0 1 hellip M-1 e y =
0 1 hellip N-1 dove M N sono le
dimensioni dellrsquoimmagine f
= =
=a
as
b
bt
tysxftsyxg )()()(
Multimedia - Prof Sebastiano Battiato
Filtraggio Spaziale
In questo caso
dove i i sono i coefficienti del filtro e gli zi
sono i valori dei pixel dellrsquoimmagine da
filtrare Il meccanismo qui illustrato egrave simile
al concetto di convoluzione proprio del
dominio delle frequenze da questo deriva il
nome assegnato a questi filtri di maschere di
convoluzione
=
=mn
iii zR
1
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
37
Multimedia - Prof Sebastiano Battiato
Operatori e maschere
N-box
N-binomiale
Sobel xy
Laplaciano
Edge Enhancing
Shifting
Noise Reduction (order-statistics filters)
Unsharp Masking
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLABimfilter
gtI = imread(lsquolenajpg)
gth = ones(33)9
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtratarsquo)
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
38
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
Multimedia - Prof Sebastiano Battiato
MATLAB Opzioni per imfilter
gtImfilter(Iones(31) option)
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters
39
Multimedia - Prof Sebastiano Battiato
Filtraggio in MATLAB fspecial
gtI = imread(lsquovoltojpg)
gth=fspecial(gaussian[5 5] 1)
gtI2 = imfilter(Ih)
gtimshow(I) title(lsquoImmagine Originale)
gtfigure imshow(I2) title(lsquoImmagine Filtrata)
Multimedia - Prof Sebastiano 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 lsquoslidingrsquo) una qualsiasi
operazione definita dallrsquoutente e la
funzione ordfilt2 usata per i
cosiddetti order-statistic filters