Capitolo 4 - Operatori Puntuali 1 Istogramma dei livelli di grigio L istogramma dei livelli di grigio di un immagine è una funzione che associa a ciascun livello il numero di pixel dell immagine aventi quel livello di grigio. L istogramma misura quindi la frequenza di occorrenza dei livelli di grigio dell immagine. Il calcolo dell istogramma viene effettuato definendo un vettore di dimensione pari al numero dei livelli di grigio dell immagine. Ciascun elemento del vettore rappresenta il contatore dei pixel aventi livello di grigio uguale all indice dell elemento. Quindi si scandisce l immagine e si incrementa l elemento del vettore avente indice pari al livello di grigio del pixel corrente. /* Esempio di codice per il calcolo dell istogramma int histo[256];... for(i=0;i<n; i++) for(j=0;i<m; j++) { k=image[i][j]; histo[k]=histo[k]+1; } L analisi dell istogramma fornisce generalmente utili informazioni sulle proprietà dell immagine legate alle frequenze dei livelli di grigio. Istogramma di un immagine costituita da un oggetto scuro su sfondo chiaro:
Capitolo 4 - Operatori Puntuali 2 Definizione di Operatori Puntuali Un operatore puntuale calcola il valore di un pixel dell immagine di uscita in funzione esclusivamente del valore del corrispondente pixel dell immagine ingresso. Di conseguenza l operatore è definito mediante una funzione di trasformazione ( mapping function ): s = M(r) s : output pixel, r : input pixel Un esempio di operatore puntuale è l operatore di Thresholding (sogliatura): s = 0 if r T L 1 if r>t L-1 s T(r) T r L-1 Gli operatori puntuali possono essere realizzati mediante look-up table (LUT). Tipicamente le schede di acquisizione mettono a disposizione delle LUT personalizabili dall utente che consentono la realizzazione in hardware di operatori puntuali.
Capitolo 4 - Operatori Puntuali 3 Espansione della dinamica dei livelli di grigio ( Contrast Stretching ) Questo operatore viene utilizzato per migliorare la qualità di immagini caratterizzate da debole contrasto. L operatore migliora il contrasto dell immagine espandendo la dinamica dei livelli di grigio su un intervallo più ampio. Detti G min e G max i livelli di grigio minimo e massimo dell immagine iniziale, viene utilizzata una funzione di mapping lineare per espandere la dinamica nell intervallo desiderato [G min, G max ]: P out =(P in G min ) G max G min G max G min + G min Tipicamente, la dinamica viene espansa sull intero intervallo disponibile, [0, 255] : ( 255 P out =(P in G min ) G max G min La funzione di mapping precedentemente definita è poco robusta rispetto alla eventuale presenza di pixel fuori range (livello di grigio molto basso o molto alto). Difatti l intervallo [G min, G max ] risulterà più esteso di quanto effettivamente necessario, riducendo l effetto di miglioramento del contrasto. InquesticasidipreferiscedeterminareG min e G max selezionando degli opportuni valori percentuali sull istogramma dei livelli di grigio (ad esempio 5% e 95%). Se l operazione deve essere effettuata in tempo reale mediante look-up table su una sequenza di immagini, G min e G max non possono essere ricalcolati per ogni immagine. Di conseguenza, una volta determinati G min e G max a partire da un insieme rappresentativo di immagini, i valori dell immagine corrente fuori dal range vengono trasformati negli estremi dell intervallo: P out = G min (P in G min ) ( G max G min G max G min G max ) ) if P in <G min + G min if G min P in G max if P in >G max
Capitolo 4 - Operatori Puntuali 4 Esempi di uso dell operatore di Contrast Stretching Immagine originaria e relativo istogramma Immagine dopo l applicazione dell operatore e relativo istogramma
Capitolo 4 - Operatori Puntuali 5 Esempi di uso dell operatore di Contrast Stretching Immagine a basso contrasto della superficie lunare e relativo istogramma Poiché G min =0,G max = 255, l applicazione dell operatore usato precedentemente non produrrebbe alcun effetto. È possibile comunque migliorare il contrasto selezionando G min e G max ai valori 1% e 99% dell istogramma.
Capitolo 4 - Operatori Puntuali 6 Operatore di Elevazione a Potenza La trasformazione lineare sin qui considerata espande in modo uniforme la dinamica originale dell immagine, producendo un effetto globale di miglioramento del contrasto. Talvolta però si ha l esigenza di effettuare una trasformazione non uniforme, che agisca differentemente sui livelli di grigio inferiori e superiori. Ad esempio, se l immagine è sottoesposta i particolari interessanti sono poco evidenti e concentrati nelle zone scure; in tal caso può essere utile espandere la dinamica associata ai livelli scuri e comprimere quella dei livelli chiari. Viceversa, se l immagine è sovraesposta i particolari interessanti sono poco evidenti e concentrati nelle zone chiare; in tal caso può essere utile espandere la dinamica associata ai livelli chiari e comprimere quella dei livelli scuri. L espansione non uniforme della dinamica dell immagine può essere ottenuta mediante elevazione a potenza dei livelli originari. Si consideri la funzione y = x r,x [0, 1], r=0.25, 0.5, 2, 4 : 1 0.9 0.8 0.7 0.25 0.5 0.6 0.5 0.4 0.3 0.2 2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 4 se r<1 la funzione espande la dinamica dei valori inferiori e comprime quella dei valori superiori, se r>1 espande la dinamica dei valori superiori e comprime quella dei valori inferiori.
Capitolo 4 - Operatori Puntuali 7 Operatore di Elevazione a Potenza L utilizzo della funzione y = x r per la modifica della dinamica dei livelli di grigio richiede la normalizzazione degli assi rispetto all intervallo [0, 255]: y y/255, x x/255 : ( ) y x r 255 = y = 255 1 r x r 255 La relazione utilizzata è quindi: P out = 255 1 r P r in 300 250 200 0.25 0.5 150 100 50 2 4 0 0 50 100 150 200 250 300 Nel caso in cui la dinamica dell immagine non si estenda su tutti i livelli disponibili è anche possibile effettuare una normalizzazione rispetto alla dinamica effettiva (y (y G min )/(G max G min ),x (x G min )/(G max G min )) : P out =(G max G min ) 1 r (P in G min ) r + G min La caratteristica ingresso/uscita di molti sensori per immagini è non lineare e può essere approssimata con la relazione y = x γ (film fotografici: γ>,<1, VIDICON: γ =0.6 1, CCD: γ =1). L operatore di elevazione a potenza può allora essere impiegato per compensare la non linearità delsensore(r =1/γ). In conseguenza di ciò l operatore è anche noto come correzione gamma.
Capitolo 4 - Operatori Puntuali 8 Esempi di uso dell operatore di elevazione a potenza Nell immagine di sinistra i dettagli del volto sono poco evidenti a causa della scarsa dinamica associata alla parte scura dell immagine. L immagine di destra mostra il risultato dell espansione della dinamica dei livelli bassi (r =0.5). Similmente, l immagine di destra mostra il risultato dell applicazione dell operatore su quella di sinistra (r =0.5).
Capitolo 4 - Operatori Puntuali 9 Esempi di uso dell operatore di elevazione a potenza L immagine di sinistra è invece leggermente sovraesposta; è possibile evidenziare i dettagli del volto espandendo la dinamica della parte chiara dell immagine. L immagine di destra mostra il risultato ottenuto con r =1.5. Similmente, l immagine di destra mostra il risultato dell applicazione dell operatore su quella di sinistra (r =1.5).
Capitolo 4 - Operatori Puntuali 10 Equalizzazione dell istogramma L obiettivo dell operazione di equalizzazione dell istogramma è ottenere un immagine risultato avente un istogramma uniforme ( piatto ). Questa caratteristica generalmente implica un espansione della dinamica dei livelli di grigio e quindi un incremento del contrasto. Consideriamo inizialmente la variabile aleatoria x [0, 1] e la generica trasformazione y = T ( x ) Con T che soddisfa le seguenti due proprietà : 1. T ( x ) è una funzione ad un sol valore di x, monotona crescente nell intervallo [0, 1]. 2. x [0, 1] T ( x ) [0, 1] Indicando poi con x = T 1 ( y ) la trasformazione inversa, assumiamo che anche T 1 soddisfi le proprietà precedenti. Infine, indichiamo con p x ( x ) e p y ( y ) le densità di probabilità delle variabili aleatorie x ed y. Se p x ( x ) e T ( x ) sono note si può ricavarep y ( y ). Difatti, per la prima proprietà dati gli intervalli [x, x + dx] e [y, y + dy], tutti i punti di [x, x + dx] devono essere trasformati in punti di [y, y + dy]. Ne segue che le aree (probabilità )p x ( x ) dx e p y ( y ) dy devono essere uguali: p x ( x ) dx = p y ( y ) dy p y ( y )= [ p x ( x ) dx dy ] x=t 1 (y) Consideriamo ora la particolare trasformazione: y = T ( x )= x 0 p x ( ξ ) dξ in cui T rappresenta la funzione di distribuzione della variabile aleatoria x, e quindi soddisfa le proprietà 1. e 2..
Capitolo 4 - Operatori Puntuali 11 Equalizzazione dell istogramma Ricaviamo allora la p y ( y ) che corriponde a questa trasformazione: dx dy = 1 dy dx = 1 p x ( x ) p y ( y )= p x ( x ) 1 p x ( x ) x=t 1 (y) =[1] x=t 1 (y) =1 Quindi trasformando la variabile aleatoria x mediante la sua funzione di distribuzione si ottiene una variabile aleatoria con densità di probabilità uniforme. Il risultato precedente può essere sfruttato per effettuare l operazione di equalizzazione dell istogramma. A tal fine è necessario interpretare il livello di grigio assunto da un generico punto dell immagine come una variabile aleatoria discreta, x, aventevalori0, 1,...(L 1) e convertite i valori dell istogramma, h (i) nei corrispondenti valori di probabilità p x ( i ) : p x ( i )= h (i) L 1 i=0 h (i) La trasformazione discreta che corrisponde alla trasformazione continua precedentemente definita è data da: j = T ( i )= i k=0 p x ( k ) Inquestomodoperòivalorij (livelli di grigio trasformati) assunti dalla variabile aleatoria discreta y appartengono all intervallo [0, 1]. Per ottenere valori trasformati in [0,L 1] è necessario effettuare una moltiplicazione per (L 1): j =(L 1) i p x ( k ) La relazione discreta usata per l equalizzazione dell istogramma non produce in generale un istogramma uniforme. Difatti, abbiamo dimostrato tale proprietà solo nel caso continuo. Nondimeno, l equalizzazione espande la dinamica dei livelli di grigio, ed in fondo è questo l effetto che si desidera ottenere. k=0
Capitolo 4 - Operatori Puntuali 12 Esempi di equalizzazione dell istogramma L immagine di sinistra ha una dinamica estremamente compressa e concentrata nei livelli di grigio bassi. Applicando l equalizzazione dell istogramma (immagine di destra) è possibile evidenziare i dettagli nascosti presenti nelle regioni scure: Le due immagini successive mostrano un altro esempio di equalizzazione: Si noti che in questo caso l equalizzazione ha l effetto indesiderato di aumentare la grana dell immagine. Ciò dipende dalla riduzione del numero dei livelli di grigio distinti effettivamente utilizzati che spesso è associata a questa operazione.
Capitolo 4 - Operatori Puntuali 13 Esempi di equalizzazione dell istogramma Nell immagine seguente il contrasto nella zona dell edificio è buono, mentre nella regione del cielo non sono ben distinguibili le nuvole. Si noti che il picco situato nella zona alta dell istogramma è dovuto al numero elevato dei pixel situati nella regione del cielo. Applicando l equalizzazione si ottiene il seguente risultato: Sebbene le nuvole siano ora ben evidenti, la qualità globale dell immagine èsenz altro sensibilmente peggiorata. Accade difatti frequentemente che immagini di buona qualità iniziale vengono deteriorate dall equalizzazione. Nel caso specifico si può comprendere cosa accade osservando l istogramma cumulativo, che ha l andamento della funzione di trasformazione. La bassa pendenza della curva nei valori intermedi (100 230) fa si che questi vengano eccessivamente compressi nell immagine risultato.
Capitolo 4 - Operatori Puntuali 14 Esempi di equalizzazione dell istogramma È possibile ottenere un risultato migliore definendo la funzione di trasformazione sulla base di una sotto-regione dell immagine avente da un istogramma più uniforme rispetto all intera immagine. In particolare, utilizziamo la regione mostrata nella figura successiva, che non presenta il picco molto pronunciato nella pare alta che caratterizza l istogramma dell intera immagine. L istogramma cumulativo mostra che la funzione di trasformazione ha ora una pendenza significativamente maggiore nella zona dei grigi intermedi. Applicando a tutta l immagine l equalizzazione definita sulla base della sotto-immagine precedente si ottiene il seguente risultato: