HISTOGRAM MATCHING
Di Raimondo Graziano - Nicolosi Salvatore
Multimedia A.A 2013-2014
Introduzione


Un istogramma è un grafico che mostra la distribuzione delle varie tonalità
di una data immagine digitale
Assumendo di lavorare con immagini a scala di grigio, per ogni valore che
può assumere un pixel [0-255], l‟istogramma riporta il numero di pixel che
assumono quel valore
Istogramma

L‟istogramma di un‟immagine grayscale
avente valori nel range [0, L-1] è una funzione
discreta
ℎ 𝑟𝑘 = 𝑛𝑘
𝑘 = 0, … , 𝐿 − 1
dove:


𝑟𝑘 è il k-esimo valore (livello di grigio)
𝑛𝑘 è il numero di pixel nell‟immagine aventi il valore
(livello di grigio) 𝑟𝑘
Istogramma

È pratica comune normalizzare l‟istogramma
dividendo ogni componente per il numero totale di
pixel dell‟immagine MN (larghezza e altezza)
𝑝 𝑟𝑘 =
𝑛𝑘
𝑀𝑁
𝑘 = 0, … , 𝐿 − 1
dove:
 𝑝(𝑟𝑘 ) è una stima della probabilità dell‟occorrenza
del livello di intensità 𝑟𝑘
Istogramma
Un istogramma rappresenta una fonte di informazioni molto valida;
tramite un semplice sguardo è possibile accorgersi di alcuni comuni
problemi che possono caratterizzare un‟immagine:
 sottoesposizione
 sovraesposizione
 immagine ben contrastata o mal contrastata
 posterizzazione, ecc.
Uso dell‟istogramma


Se l‟istogramma è concentrato sulla sinistra, l‟immagine tende ad
essere più scura
Se l‟istogramma è concentrato sulla destra, l‟immagine tende ad
essere più chiara
Uso dell‟istogramma


Se l‟immagine è poco contrastata, l‟istogramma tende ad essere
spalmato su una piccola regione di valori
Se l‟immagine è molto contrastata, l‟istogramma tende a coprire
una più ampia fascia di valori
Alcune cose da sapere

L‟istogramma di un‟immagine non memorizza le informazioni spaziali dei
pixel: immagini diverse possono avere lo stesso istogramma
Ripasso probabilità



Una variabile casuale è una funzione a valori reali definita sugli
eventi di uno spazio S
In altre parole, per ogni elemento di S esiste un numero reale che è
il corrispondente valore della „„funzione‟‟ variabile casuale
Esempio. Consideriamo l‟evento del lanciare un dado ed
osservarene il risultato. Possiamo definire una variabile casuale x in
diversi modi:
 Il valore numerico del dado (se esce 1 x=1, se esce 2 x=2, ecc)
 Il risultato pari o dispari (se esce un numero pari x=0, altrimenti
x=1)
 Ecc…
Ripasso probabilità



La variabile casuale non cambia il valore
semplicemente associa ad essi un valore reale
degli
eventi,
Per gestire le variabili casuali nel continuo abbiamo bisogno di
alcune modifiche
 La probabilità non è numerabile nel continuo, come lo è nel
discreto (compreso tra 0 e 1)
Siamo interessati al caso in cui la variabile casuale x assuma un
valore minore o uguale (oppure maggiore o uguale) rispetto ad una
costante definita a. Indichiamo ciò con
𝐹 𝑎 = 𝑃(𝑥 ≤ 𝑎)
Ripasso probabilità


Se la funzione è data per tutti i valori di a, i valori della variabile
casuale sono stati definiti. F viene chiamata CDF (Cumulative
Distribution Function) o, semplicemente, funzione di distribuzione
La PDF (Probability Density Function) di una variabile casuale x è
definita come la derivata della sua CDF
𝑝 𝑥 =

𝑑𝐹(𝑥)
𝑑𝑥
La PDF è conosciuta come funzione densità
Equalizzazione


Denotiamo con la variabile casuale r le intensità di un‟immagine, con
r che varia da [0, L-1]
Consideriamo le trasformazioni (mappature delle intensità) del tipo
𝑠=𝑇 𝑟
0≤𝑟 ≤𝐿−1
che produce un output di intensità s per ogni pixel dell‟immagine di
input di intensità r

Si assuma
 𝑇 𝑟 una funzione monotona non decrescente nell‟intervallo
0≤𝑟 ≤𝐿−1
 0 ≤ 𝑇 𝑟 ≤ 𝐿 − 1 per 0 ≤ 𝑟 ≤ 𝐿 − 1
Equalizzazione



I livelli di intensità di un‟immagine possono essere visti come
variabili casuali nell‟intervallo [0, L-1].
Uno dei descrittori fondamentali di una variabile casuale è la
funzione PDF.
Denotiamo con 𝑝𝑟 (𝑟) e 𝑝𝑠 (𝑠) le PDF di 𝑟 ed 𝑠, la teoria della
probabilità ci dice che se conosciamo 𝑝𝑟 (𝑟) e 𝑇(𝑟) (dove
quest‟ultima è continua e differenziabile nell‟intervallo
considerato) allora la PDF della variabile trasformata
(mappata) 𝑠 può essere ottenuta da:
𝑑𝑟
𝑝𝑠 𝑠 = 𝑝𝑟 𝑟
𝑑𝑠
Equalizzazione


Quindi la PDF della variabile di intensità di output 𝑠 è
determinata dalla PDF delle intensità di input 𝑟 e dalla
funzione di trasformazione utilizzata 𝑇 𝑟
Tra le varie funzioni di trasformazione, una di maggiore
importanza è la seguente
𝑟
𝑠 =𝑇 𝑟 = 𝐿−1
0
𝑝𝑟 𝑤 𝑑𝑤
dove w è la variabile di integrazione. Il membro destro di questa
equazione è noto come CDF della variabile casuale 𝑟
Equalizzazione


Utilizzando come trasformazione la CDF di 𝑟 si ottiene dunque una
immagine con densità di probabilità uniforme dei livelli di grigio. Ne
deriva un incremento nella gamma dinamica dei pixel che può avere
notevoli effetti sull‟apparenza dell‟immagine
La funzione da utilizzare per l‟equalizzazione dell‟istogramma nel
caso discreto è la seguente
𝑘
𝑠𝑘 = 𝑇 𝑟𝑘 = 𝐿 − 1
𝑗=0
(𝐿 − 1)
𝑝𝑟 𝑟𝑗 =
𝑀𝑁
𝑘
𝑛𝑗 , 𝑘 = 0, … , 𝐿 − 1
𝑗=0
Consiste nel trasformare ogni pixel di livello 𝑟𝑘 in un pixel di livello 𝑠𝑘
attraverso 𝑇 𝑟𝑘
Equalizzazione


L‟algoritmo tenterà di definire inizialmente la densità di
probabilità 𝑝𝑟 𝑟𝑗 di ogni livello di grigio e poi costruirà la
nuova immagine attraverso una funzione di passaggio basata
su questo valore, punto per punto.
È interessante notare come l‟equalizzazione possa comportare
l‟aumento di rumore e la creazione di falsi contorni da
sistemare attraverso opportuni algoritmi di riduzione del
rumore.
Equalizzazione

In generale le componenti
di luminanza di un
istogramma, in immagini
ad alto contrasto, coprono
quasi l‟intera gamma di
valori ed inoltre la
distribuzione dei pixel non
è troppo dissimile da una
distribuzione uniforme.
Equalizzazione
È possibile modificare l‟istogramma di un‟immagine rendendo la
probabilità 𝑝𝑟 dell‟occorrenza del livello di grigio 𝑟 uniforme.
L‟operazione di equalizzazione consiste nell‟allargare la curva
dell‟istogramma in modo da sfruttare l‟intera scala di grigi
disponibile. Questo permette una migliore distinzione degli
oggetti (l‟immagine risulta più contrastata) e solitamente può
esser d‟aiuto nell‟elaborazione di un‟immagine sottoesposta o
sovraesposta.
A livello teorico, l‟equalizzazione tenta di realizzare un
istogramma piatto, portando verso una soglia uguale tutti i livelli
di grigio, cosa ovviamente non possibile quando lavoriamo nel
discreto.
Esempio
Vantaggi



Miglioramento del contrasto dell'immagine equalizzata
con toni di grigio tendenti al bianco più visibili rispetto
all'immagine originale
Colori più nitidi e vivaci nelle immagini a colori che
presentano istogrammi di partenza simili in tutti e tre i
livelli RGB
Maggior visibilità di alcuni dettagli persi per
sottoesposizione dell'immagine
Svantaggi


Presentazione in falsi colori di alcune immagini a colori
equalizzate (quando ad esempio i canali di colore RGB
presentano istogrammi abbastanza diversi tra loro)
Introduzione di rumore o di elementi non presenti
nell'immagine originale (ad esempio nel caso di immagini
con bordi)
Histogram matching



L‟equalizzazione di un istogramma genera una funzione di
trasformazione che tenta di riprodurre un istogramma con
una distribuzione uniforme
In alcuni casi è utile specificare la forma dell‟istogramma
dell‟immagine di destinazione
Questo è ciò di cui si occupa l‟histogram matching
Histogram matching


Opera a partire da due immagini
 la prima immagine è detta di riferimento
 la seconda immagine è quella da modificare
Lo scopo è quello di modificare l‟istogramma della
seconda immagine in funzione dell‟istogramma della
prima immagine
Histogram matching



Tecnica usata per normalizzare due immagini acquisite
con la stessa illuminazione ma con sensori differenti
Spesso è utile specificare la “forma” (shape)
dell‟istogramma che si vuole ottenere
Ricolorazione di immagini a seconda dei colori o toni di
grigio presenti in un'altra immagine
Histogram matching

L‟histogram matching si ottiene nel seguente modo:
 Si ricava la PDF dell‟immagine di input e da questa si
utilizza l‟equazione
𝑟
𝑠 =𝑇 𝑟 =𝐿−1
0
𝑝𝑟 𝑤 𝑑𝑤
per ottenere la funzione di trasformazione 𝑠
 Si ricava la PDF dell‟immagine di riferimento e da questa si
utilizza l‟equazione
𝑧
𝐺 𝑧 =𝐿−1
0
𝑝𝑧 𝑡 𝑑𝑡 = 𝑠
Per ottenere la funzione di trasformazione 𝐺 𝑧
Histogram matching
Da 𝑇 𝑟 = 𝑠 = 𝐺(𝑧), si ricava la trasformazione inversa
𝑧 = 𝐺 −1 (𝑠)
 Si equalizza l‟immagine di input i cui valori dei pixel sono i
valori di s
 Per ogni pixel dell‟immagine di input con valore s, si applica
la precedente funzione inversa per ottenere il valore del
pixel corrispondente z nell‟immagine di output
In questo modo l‟istogramma dell‟immagine di input sarà
approssimato all‟istogramma dell‟immagine di riferimento


Comando imhistmatch()


Adatta l‟istogramma di un immagine in modo da matchare
l‟istogramma dell‟immagine di riferimento
B = imhistmatch(A,Ref)
 If both A and Ref are truecolor RGB images, then each color
channel of A is matched independently to the corresponding color
channel of Ref.
 If A is a truecolor RGB image and Ref is a grayscale image, then
each channel of A is matched against the single histogram
derived from Ref.
 If A is a grayscale image, then Ref must also be a grayscale
image.
 Images A and Ref need not be equal in size.
Tratto da http://www.mathworks.it/it/help/images/ref/imhistmatch.html
Equalizzazione o histogram matching?
Equalizzazione
Histogram matching
Rendere uniforme l‟istogramma
di un‟immagine
Rendere l‟istogramma di
un‟immagine simile
all‟istogramma di un‟immagine
di riferimento
Utilizzi in pratica
•
•
Migliorare il contrasto
Evidenziare dettagli
•
Ricolorazione delle
immagini
Vantaggi
•
•
Semplice e veloce
Efficace soprattutto con
immagini grayscale
•
Efficace sia con immagini
grayscale che RGB
Funziona con immagini di
diverso contenuto e
dimensione
Può introdurre artefatti e
falsi colori
•
Scopo
Svantaggi
•
•
•
Poco adattabile ad
immagini molto irregolari
Leggera approssimazione
dal continuo al discreto