Equalizzazione di istogrammi Stefano Ferrari Università degli Studi di Milano stefanoferrari@unimiit Tecniche di calcolo e sistemi operativi e informatica academic year 217 218 Istogramma L istogramma di una immagine a L valori di intensità è la funzione discreta: h(k) = n k, k [,, L 1] dove n k è il numero di pixel aventi intensità k Spesso è utile considerare l istogramma normalizzato rispetto al numero di pixel dell immagine, M N: p(k) = n k MN M e N sono il numero di righe e colonne dell immagine La funzione p(k) è una stima della densità di probabilità di k; la somma k p(k) vale 1 Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 1
Trasformazioni basate su istogramma L istogramma fornisce un modo intuitivo (visuale) per valutare alcune proprietà statistiche dell immagine Le elaborazioni basate sulla trasformazione dell istogramma sono numerose miglioramento, compressione, segmentazione e facili da realizzare con un calcolatore: poco costose; realizzabili da hardware dedicato Immagine scura Le componenti dell istogramma sono localizzate nei valori bassi di intensità Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 2
Immagine chiara Le componenti dell istogramma sono localizzate nei valori alti di intensità Immagine con basso contrasto Le componenti dell istogramma sono localizzate in una banda piuttosto stretta Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 3
Immagine con elevato contrasto Le componenti dell istogramma sono distribuite su tutto l intervallo rappresentabile La distribuzione è quasi uniforme, con pochi picchi Se la distribuzione è uniforme su tutto l intervallo di intensità rappresentabile, l immagine tende ad avere un elevata dinamicità (dynamic range) e i dettagli sono maggiormente visibili Questo è l effetto cercato con le trasformazioni di istogramma Trasformazioni monotone Per studiare le trasformazioni di istogramma è utile considerare inizialmente le trasformazioni (continue) monotone su [, L 1] 2 : s = T (r), r L 1 T (r 2 ) T (r 1 ), r 2 > r i T (r) L 1, r L 1 Se T è monotona crescente, esiste T 1 : r = T 1 (s), s L 1 Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 4
Intensità come variabile casuale Le intesità (continue) possono essere considerate come variabili casuali in [, L 1] Se T ( ) è continua e differenziabile: p s (s) = p r (r) (d)r (d)s In particolare, siamo interessati alla trasformazione: r s = T (r) = (L 1) p r (w)dw Si ha che: ds dr = T(r) [ dr = (L 1) d r dr p r (w)dw ] = (L 1)p r (r) Quindi: ps (s) = p r (r) (d)r 1 = p r (r) (d)s = 1 L 1, s L 1 (L 1)p r (r) Cioè s è uniforme, indipendentemente da p r Equalizzazione p r (r) s = T (r) L-1 p s (s) 1 L 1 L-1 r L-1 r L-1 s La trasformazione di equalizzazione, T (r), è più ripida dove r è più probabile Mappa intervalli di r a bassa probabilità in intervalli di s = T (r) più corti Al contrario, intervalli di r al alta probabilità sono mappati in intervalli di s più ampi Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 5
Equalizzazione con valori discreti r k è un livello di intensità in,, L 1 pr (r k ) = n k MN, k =, 1,, L 1 L equalizzazione si ottiene trasformando i pixel di intensità r k in s k : sk = T (r k ) = (L 1) k j= p r (r j ) = L 1 k MN j= n j, k =, 1,, L 1 Equalizzazione con valori discreti (2) r k n k p r (r k ) T (r k ) s k p s (s k ) r = 79 19 133 1 19 r 1 = 1 123 25 38 3 25 r 2 = 2 85 21 455 5 21 r 3 = 3 656 16 567 6 r 4 = 4 329 8 623 6 24 r 5 = 5 245 6 665 7 r 6 = 6 122 3 686 7 11 r 7 = 7 81 2 7 7 Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 6
Esempi Dark image equalization Esempi (2) Bright image equalization Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 7
Esempi (3) Low contrast image equalization Esempi (4) High contrast image equalization Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 8
Esempi (5) La trasformazione di ogni immagine mappa i valori dall intervallo dell immagine originale all intero intervallo delle intensità La trasformazione per (4) è molto simile all identità Specifica di istogrammi L equalizzazione dell istogramma è una procedura di base che permette di ottenere un immagine con una distribuzione di intensità ben precisa (uniforme) A volte, la distribuzione (ottimale) non è uniforme La procedura di equalizzazione può essere sfruttata per ottenere una distribuzione generica: Histogram matching Il problema si può formalizzare come: data un immagine di input, i pixel della quale sono distribuiti con probabilità p r, data la distribuzione desiderata, pz, trovare la trasformazione F, tale che z = F (r) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 9
Specifica di istogrammi (2) Sia s una variabile casuale tale che: s = T (r) = (L 1) r p r (w)dw p s è uniforme Definire una variabile casuale z che soddisfi: z G(z) = (L 1) p z(t)dt = s p s è uniforme Quindi: G(z) = s = T (r) La trasformazione desiderata F, tale che z = F (r) può essere ottenuta come: z = G 1 (T (r)), ie, F = T G 1 p r (r) s = T (r) L-1 s = G(z) L 1 p z (z) L-1 r L-1 r L-1 z L-1 z Esempio I pixel sono per lo più concentrati nella regione scura dell istogramma Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 1
Esempio (2) Esempio (3) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 11
Equalizzazione locale L equalizzazione dell istogramma è un approccio globale L equalizzazione locale dell istogramma si realizza considerando, per ogni pixel, for each pixel, un opportuno intorno sul quale applicare l equalizzazione (o il matching) Costo computazionale elevato, ma i pixel adiacenti condividono molti vicini L applicazione su regioni disgiunte può produrre artefatti (a blocchi) Esempio a b c (a) immagine originale (b) immagine equalizzata (c) immagine localmente equalizzata (intorno 3 3) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 217/18 12