Trasformazioni di Intensità e Filtraggio Spazialebattiato/mm1213/Parte 5 - Trasformazioni di... ·...

39
1 Multimedia - Prof. Sebastiano Battiato Trasformazioni di Intensità e Filtraggio Spaziale (Alcuni Richiami) Prof. Sebastiano Battiato Multimedia - Prof. Sebastiano Battiato Terminologia Le tecniche di elaborazione delle immagini sono in generale rivolte all’ottenimento di uno dei seguenti obiettivi di massima: miglioramento di qualità (image enhancement) ripristino di qualità o restauro (image restoration) estrazione di informazione (feature detection) Manca in realtà una teoria generale del miglioramento di qualità, dato che non esiste uno standard generale di qualità delle immagini.

Transcript of Trasformazioni di Intensità e Filtraggio Spazialebattiato/mm1213/Parte 5 - Trasformazioni di... ·...

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