L'istogramma

Ultimo aggiornamento: 22/10/2007
Scarica in formato PDF Scarica in formato PDF
Torna alla pagina principale degli articoli

Introduzione

In questo articolo si descrive in profondità l'istogramma di una foto digitale. E' molto importante capire come funziona, per utilizzare al meglio strumenti come curve e livelli. E anche per esporre correttamente al momento dello scatto, guardando l'istogramma della fotocamera digitale. Gran parte di questo articolo proviene da "L'esposizione", con parti rivedute, corrette e integrate.

Come sempre, buona lettura.

Indice

Cos'è l'istogramma

L'istogramma é un grafico che viene mostrato nelle fotocamere digitali (se la fotocamera lo permette addirittura in tempo reale mentre si sta' componendo la scena, più spesso quando si rivede la foto appena scattata) e in tutti i programmi di fotoritocco, ed esprima la distribuzione statistica della luminosità della foto.

Istogramma GIMP

Istogramma, con la suddivisione in luci, mezzi toni e ombre

Se guardiamo l'asse orizzontale, vediamo che verso sinistra si va verso il nero, verso destra si va verso il bianco. E' possibile quindi dividere spannometricamente l'istogramma in tre parti: le luci (highlights), i mezzi toni (midtones) e le ombre (shadows). Questa classificazione è intuitiva, non ha confini precisi, serve solo ad individuare queste importanti aree del grafico per poi poterle interpretare pensando all'immagine reale. L'istogramma è infatti di un grafico che viene ricavato matematicamente dall'immagine e che riporta in modo comprensibile alcune importanti informazioni, alcune delle quali non visibili facilmente ad occhio nudo.

Nell'immagine qui sotto si può vedere un'immagine e il relativo istogramma. E' abbastanza facile capire in questo caso la relazione tra i picchi dell'istogramma e le aree relativamente uniformi dell'immagine.

Istogramma GIMP

E' facile capire in questo caso i picchi nell'istogramma a quali aree dell'immagine corrispondano!

Abbiamo tre picchi: il più a destra, il più alto è relativo sicuramente alla parte più chiara dell'immagine, e quindi al cielo chiaro indicato con 1. Il picco centrale è relativo al cielo scuro, indicato con 2 e l'erba della collina è la parte più scura dell'immagine e corrisponde al picco 3, il più largo visto che l'erba ha varie tonalità. Per verificare questa corrispondenza, basta selezionare un'area dell'immagine e osservare l'istogramma (che normalmente è legato alla selezione, se qualcosa è selezionato). Qui sotto, selezionando una parte dell'area n. 2, si vede il relativo picco nell'istogramma.

Istogramma della sola selezione di un'area quasi uniforme: ecco il picco n. 2!

Ecco quindi un concetto fondamentale: l'istogramma ci fa vedere con immediatezza le caratteristiche di luminosità dell'immagine. Si tratta di uno strumento importante, che ci permetterà, quando utilizzeremo i livelli (levels), le curve e tutti gli strumenti che modificano luminosità e contrasto di intervenire con precisione.

Per capire ancora meglio come venga costruito l'istogramma, supponiamo di entrare nella... testa di un programma di fotoritocco che deve calcolare l'istogramma di un'immagine (per comodità a 8 bit per colore). Per ogni pixel dell'immagine, il programma calcola il suo "valore" (poi vedremo il distinguo tra due modi di calcolarlo), ottenendo un numero da 0 (nero perfetto) a 255 (bianco perfetto). In pratica, è come se convertisse l'immagine a colori (con tre "numeri" per ognuno dei tre canali RGB) in scala di grigi (dove basta un solo "numero"). Poi comincia a costruire un grafico, una specie di istogramma a 256 (dalla 0 alla 255) colonne da "riempire": per ogni pixel calcola il suo "valore" e aggiunge "1" alla colonna relativa a quel valore. Ad esempio, se il primo pixel ha un "valore" pari a 123, aggiunge "1" alla colonna 123. Alla fine, se l'immagine é composta da varie tonalità di grigio, si forma un grafico di cui non ci interessano i valori assoluti, ma piuttosto l'andamento.

Istogramma RGB e istogramma della luminosità

Esistono vari modi per calcolare il "valore" di un pixel, e di conseguenza vari tipi di istogramma, ognuno con le proprie caratteristiche.

Le differenza sono fondamentali: proviamo con un'immagine con un arancio (200,125,50) quasi uniforme e vediamo come i due tipi di calcolo producano grafici molto differenti.

Immagine originale

Calcolo valore RGB: si vedono i tre picchi corrispondenti ai tre valori dei canali RGB dell'arancio (200,125,50)

Calcolo luminosità pesata: un solo picco, corrispondente alla "luminosità percepita" dell'immagine

Entrambe i tipi di calcolo di cui sopra hanno un loro perché: la prima è una descrizione più matematica e astratta ma evidenzia meglio clipping e posterizzazioni, la seconda è più aderente alla sensazione umana di luminosità ma potrebbe ingannare (si veda il paragrafo "Istogramma RGB e istogramma della luminosità"). A livello pratico basta essere a conoscenza dell'esistenza di questi due modi di calcolo, poi l'interpretazione dell'istogramma è sempre la stessa.

Da notare che comunque ogni programma interpreta alla sua maniera il grafico dell'istogramma, effettuando ad esempio una compressione verticale quando capita che ci siano dei picchi troppo alti (ad esempio una riga, indicante la presenza di molti pixel con lo stesso valore di luminosità) che farebbero scomparire il resto del grafico. Se provate infatti ad aprire la stessa immagine in Photoshop e in GIMP, scoprirete che gli istogrammi non sono esattamente gli stessi.

L'istogramma nei vari programmi di fotoritocco

Qui sotto si vede la finestra dell'istogramma di GIMP (versione 2.3.18, in inglese):

Istogramma GIMP

Istogramma di GIMP

Come si nota, oltre al grafico dell'istogramma vero e proprio, sotto ci sono altre informazioni statistiche di solito poco interessanti per le nostre applicazioni. In alto invece c'è la combobox "Channel" per la selezione tra istogramma della luminosità ("Value") o istogramma RGB ("RGB") oppure uno dei canali RGB separatamente ("Red", "Green" e "Blu"), oltre ai due pulsantini per la scelta tra la consueta visualizzazione lineare o logaritmica per l'asse verticale.

Sua maestà Photoshop (versione CS3 in questo caso) propone un istogramma molto completo, eventualmente espandibile con i tre istogrammi RGB separati. La scelta "RGB" propone un istogramma di tipo "Luminosità RGB", mentre "Luminosity" indica un calcolo pesato tipo "Luminosità pesata".

Istogramma Photoshop

Istogramma di Adobe Photoshop CS3

Interessante l'istogramma (canali RGB nei rispettivi colori più luminosità in bianco) di UFRaw, un RAW converter open source e quindi libero da ogni gabella:

Istogramma UFRaw

Istogramma di UFRaw, con le percentuali di pixel interessati dal clipping

Le informazioni statistiche ora sono più interessanti per noi fotografi: vengono indicate le percentuali di immagine sovra e sottoesposta, addirittura per ogni canale. Nell'esempio riportato, solo il canale rosso è sovraesposto dello 0.9%, mentre tutti e tre i canali RGB sono sottoesposti con percentuali simili. Le checkbox e i pulsanti a destra permettono di evidenziare nell'immagine quali siano effettivamente le aree sovra e sottoesposte.

Attenzione! Se nell'immagine su cui state lavorando avete creato una selezione, l'istogramma è relativo solo a quella parte e non all'intera immagine. Se non esiste nessuna selezione, allora l'istogramma ritorna ad essere calcolato dall'intera immagine.

L'immagine e il suo istogramma sono quindi legati da un intenso legame, e praticamente qualsiasi operazione che compiamo per ritoccare l'immagine ha qualche effetto sull'istogramma. Se osserviamo attentamente immagine (che è quella che ci interessa!) e istogramma per ogni operazione che compiamo, avremo la certezza di non incorrere in errori grossolani come clipping e posterizzazione.

Alcuni semplici esempi

Come abbiamo detto sopra, l'istogramma presenta alcune importanti informazioni sull'immagine: l'istogramma RGB ci parla dell'andamento dei valori dei canali RGB, l'istogramma della luminosità ci parla appunto delle caratteristiche di luminosità percepita. Vediamo ora alcuni esempi di quest'ultimo, il più diffuso nelle fotocamere digitali e il più intuitivo.

Abbiamo capito come funzionano gli istogrammi delle immagini composte da un solo tono di luminosità (bianco, nero o grigio). Proviamo ad analizzare dei casi un po' più simpatici.

Sovraesposizione e sottoesposizione

Da questi due ultimi esempio possiamo già imparare una cosa importante: le immagini con variazioni graduali e continue della luminosità hanno istogrammi "continui", magari con picchi e valli ma sempre con la sommità delimitata da una linea curva continua. Le immagini con variazioni brusche della luminosità (come il primo esempio) invece hanno istogrammi composti da righe e buchi, indice di discontinuità nelle gradazioni. Quest'ultimo caso potrebbe essere quello di immagini a 8 bit pesantemente elaborate: la causa sono le successive e pesanti elaborazioni (curve, livelli, saturazioni, filtri vari, ...), l'effetto é che certe zone dell'immagine hanno perso le variazioni continue di tonalità e si sono "posterizzate".

Gli ultimi due esempi del paragrafo precedente sono molto importanti, perché spiegano come capire dall'istogramma che stiamo sovraesponendo fino a bruciare i bianchi e/o i neri. Quello che succede infatti quando sovraesponiamo al di là dei limiti della fotocamera, é che i pixel raggiungono il limite massimo di luminosità (che nei nostri esempi era 255) e non possono superarlo, quindi rimangono incollati a questo valore massimo, creando una riga sull'ultimissima colonna! Più sovraesponiamo, più aumenta il numero di pixel a luminosità massima e più aumenta l'altezza dell'ultima colonna, tanto che il programma di fotoritocco (o il firmware della fotocamera digitale, se stiamo osservando l'istogramma sul campo) é costretto a rimpicciolire il resto dell'istogramma. Nell'immagine, questo corrisponde al fatto che le zone più chiare perdono qualsiasi dettaglio e gradazione e diventano completamente bianche, di un bianco che più bianco non si può :-))).

Clipping delle luci (highlights) a causa di una forte sovraesposizione, evidenziato dall'istogramma che sfora a destra

Per inciso, vorrei farvi notare che per avere un istogramma "leggibile" sia nel clipping sia nel "panettone" relativo alla rimanente parte dell'immagine, ho dovuto attivare la scala logaritmica (pulsantino in alto a destra). Ho notato che Photoshop non richiede questo e presenta subito un istogramma comprensibile, probabilmente effettua una riduzione dei picchi troppo alti.

Ovviamente succede lo stesso per la sottoesposizione: alcune zone dell'immagine si scuriscono a tal punto di diventare completamente nere (che più nere non si può...), quindi perdendo tutti i dettagli e le gradazioni: nell'istogramma si crea una riga nella primissima colonna a sinistra.

Clipping delle ombre (shadows) a causa di una forte sottoesposizione, evidenziato dall'istogramma che sfora a sinistra

Questo fenomeno in elettronica si indica con il termine "clipping", e ha analogie con l'omologo nell'alta fedeltà audio, quando alzando il volume tentiamo di superare i limiti dell'amplificatore, ma questo non può erogare più del su massimo e "tosa" le onde del segnale in uscita: si ha una pesante distorsione.

L'inganno dell'istogramma della luminosità

Gli esempi di clipping del paragrafo precedente sono molto estremi, corrispondenti a errori grossolani di esposizione o di fotoritocco: si tratta infatti di clipping verso il nero perfetto o verso il bianco perfetto. Può succedere che l'istogramma della luminosità fornito dalla fotocamera digitale non indichi nessun clipping, mentre un'analisi attenta dei tre canali RGB in un programma di fotoritocco spietatamente ve lo sbatta in faccia. Questo succede perché nell'istogramma standard delle fotocamere digitali (quando non sono così evolute da includere i grafici di tutti e tre i canali separati) la luminosità è appunto la media pesata dei valori RGB di ogni pixel. In particolare, è composta dal valore del verde al 59%, dal valore del rosso al 30% e dal valore del blu all'11%, per evidenziare come l'occhio umano sia molto più sensibile al colore verde (non a caso molto diffuso in natura) e meno ai colori rosso e blu. In realtà si legge in quest'articolo che tale combinazione sarebbe storicamente legata allo spazio colore televisivo (!) NTSC, quindi non vrebbe molto senso nel nostro mondo fotografico, però ormai è consuetudine e quindi ce la teniamo...

Comunque sia, grazie a questi pesi differenti che privilegiano il verde a scapito degli altri dure colori primari, un clipping del canale rosso (oppure ancor peggio del canale blu) potrebbe essere non evidenziato dall'istogramma della luminosità!

Se ad esempio fotografiamo una bella bacca rossa, l'istogramma della luminosità potrebbe sembrare ok, mentre se osserviamo l'istogramma RGB o del singolo canale rosso osserviamo alcune aree con clipping!

Bacca rossa

Immagine correttamente esposta... o no?

Istogramma della luminosità Istogramma RGB

Istogramma della luminosità (Photoshop): sembra tutto ok, anzi, c'è spazio per aumentare il contrasto con i levels!

 

Istogramma RGB: clipping sul canale R, evidenziato dalla riga verticale all'estrema sinistra!

L'istogramma RGB in questo caso ci dà le informazioni più precise, ed è quello da utilizzare per valutare la presenza di clipping. GIMP ha un istogramma della luminosità che in qualche modo gestisce il clipping anche di un solo canale. Non so in che modo lo faccia, ma sembra funzionare (magari è un bug!). Tant'è vero che la finestra "levels" (dove bisogna tener d'occhio il clipping) di Photoshop visualizza l'istogramma RGB, quella di GIMP l'istogramma della luminosità... truccato!

Istogramnma della luminosità di GIMP per la stessa immagine della bacca rossa: il clipping viene evidenziato!

Facciamo ora una semplice prova per verificare la somma pesata dell'istogramma della luminosità: creiamo tre immagini con sfumature dal nero ai tre colori fondamentali, e osserviamone l'istogramma della luminosità.

Rosso (R), 30%

Verde (G), 59%

Blu (B), 11%

Osserviamo come l'istogramma della luminosità pesata si estenda dallo 0 (nero) fino a tre valori intermedi, diversi per ogni canale. Se misuriamo, ritroviamo proprio i coefficienti di prima: 59% per il verde, 30% per il rosso e 11% per il blu. Notiamo inoltre che nessuno dei tre istogrammi da' segno di clipping, anche se le immagini sfumate contengono nella loro parte sinistra i toni puri (valori 255) e quindi un teorico clipping del canale!

Valutazione del contrasto

L'istogramma della luminosità fornisce altre informazioni all'occhio attento, tra cui una valutazione del contrasto dell'immagine. Se definiamo spazio tonale l'area di grafico in cui si concentra gran parte dei toni dell'immagine (in pratica, la larghezza del "panettone"), allora si intende per contrasto la "larghezza" dello spazio tonale. In pratica un'immagine si dice ben contrastata quando occupa tutti i toni dai più chiari ai più scuri. Ovviamente dipende dall'immagine: la foto di un muro bianco (pochi toni, panettone molto stretto) non può essere contrastata come la foto di un bosco autunnale (molti toni diversi, istogramma ampio).

Immagine meno contrastata, con un "panettone" più stretto

Immagine più contrastata, con un "panettone" più largo

Istogramma e "sovraelaborazione"

Può succedere di avere ritoccato troppo pesantemente una foto, ad esempio cercando di schiarire eccessivamente un'ombra che già in partenza la fotocamera ha sottoesposto. Il risultato notoriamente è pessimo, a ricordarci che il fotoritocco non fa miracoli. Risultati simili si hanno anche quando si esagera con livelli, curve, saturazione e quant'altro, sia a causa di una elaborazione eccessiva sia a causa dei possibili errori di calcolo degli algoritmi del programma di fotoritocco: il computer ragiona con numeri di dimensione finita (nei nostri casi 8bit o 16bit), quindi alcune operazioni matematiche si portano dietro intrinsecamente arrotondamenti e troncamenti vari, che potrebbero essere amplificati da successive elaborazioni.

Il risultato finale potrebbe essere un'immagine rovinata da fasce di colore omogeneo (il fenomeno di posterizzazione) molto fastidiose al posto di gradevoli tonalità, oppure l'innalzamento di disturbi tipo "pixel bene in evidenza", come a sottolineare l'origine digitale della foto. L'istogramma evidenzia questi difetti mediante picchi appuntiti o seghettature o buchi.

Attenzione: non è detto che un istogramma poco piacevole sia indice di una foto molto difettosa. Solo bisogna aprire gli occhi ed analizzare l'immagine per bene, i problemi potrebbero ininfluenti o addirittura non essere visibili.

Presenza di picchi appuntiti

Presenza di buchi (posterizzazione)

Istogramma e spazio di lavoro

Abbiamo già detto che ogni operazione eseguita sull'immagine (livelli, curve, saturazione, ...) ha degli effetti sull'istogramma. Una delle operazioni che possono portare al clipping o al contrario ad un contrasto non ottimale è la conversione da uno spazio di lavoro ad un altro con gamut di ampiezza diversa (per maggiori informazioni sul color management, magari leggete l'articolo La gestione del colore). Segnalo questo perché può capitare di eseguire un fotoritocco curato in ogni dettaglio in uno spazio di lavoro con gamut molto ampio come il ProPhotoRGB, quindi convertire in sRGB (di gamut più limitato) per portare l'immagine sul web e trovarsi con uno o più canali clippati. Questo problema può verificarsi sia in Photoshop (o in qualsiasi altro programma di fotoritocco che abbia una gestione del colore), sia nel suo modulo Camera Raw, quando scegliamo lo spazio di lavoro dell'immagine finale. Provate a scegliere spazi colore diversi, potreste accorgervi di dover modificare compensazione dell'esposizione perché alcuni canali clippano!

Nell'esempio qui sotto, si vede che il canale rosso (R) era ok nello spazio ProPhotoRGB, ed è inesorabilmente clippato nella conversione a sRGB.

Immagine originale

Istogramma dell'immagine nello spazio ProPhotoRGB

Istogramma dell'immagine nello spazio sRGB

Istogramma e bilanciamento del bianco

Altra osservazione: l'istogramma dell'immagine dipende in lieve misura anche dal bilanciamento del bianco, visto che questo ovviamente tocca le tonalità di colore dell'immagine e quindi i canali RGB. Quindi, se abbiamo scattato le foto in formato RAW e le apriamo con il convertitore (esempio: Adobe Camera Raw, per citare il più famoso), facciamo attenzione prima a correggere il bilanciamento del bianco, poi a valutare un eventuale clipping nell'istogramma.

Links utili

Torna alla pagina principale degli articoli
Copyright 2005-2012, Andrea Olivotto
Last modified: 25.02.2011 08:56:53