HomeSezione Svago e CulturaSezione servizi

Istruzioni all'uso della pagina per la creazione di immagini HDR on line

Un problema che si incontra frequentemente facendo fotografia digitale è rappresentato dall' insufficente gamma dinamica del sensore. La gamma dinmica può essere descritta come lo spettro di intensità luminose che possono venire registrate in maniera corretta. Verso l' alto essa è delimitata in maniera alquanto netta dalla saturazione dei fotodiodi, ovvero dal momento in cui i fotodiodi sono "pieni" e smettono di rilevare ulteriore luce incidente. A livello della foto tale fenomeno corrisponde a zone irrimediabilmente bianche e prive di ogni sfumatura e informazione. Verso il basso la gamma dinamica è invece delimitata dal livello di luce in corrispondenza del quale il segnale si perde nel rumore di fondo.
Questo significa che non è possibile ottenere in generale un' estensione della gamma dinamica apparente della foto agendo sulla curva di esposizione, in quanto le zone scure non possono più di tanto venire schiarite, senza che il rumore, in tali zone, raggiunga livelli inaccettabili.
Una soluzione reale è rappresentata dalla fotografia HDR (High Dynamic Range photography). Essa si basa sulla modellizazione delle proprietà fisiche del sensore e richiede la presenza di almeno tre foto della stessa scena esposte in maniera differente. Per quanto si tratti di un approccio molto completo al problema, siamo dell' idea che, almeno in alcuni casi più semplici, sia possibile ottenere risultati soddisfacenti anche attraverso un approccio molto più semplice, che prescinde da ogni modellizzazione del sensore e che prevede semplicemente la fusione di due oppure tre foto jpg, esposte in maniera differente, secondo una regola adatta, in modo da ottenere un' immagine finale che riproduce la scena reale meglio di qualsiasi semplice foto singola. In effetti questa tecnica ha un nome suo proprio: "exposure fusion" ed è questa la soluzione che propone la pagina HDR on line di questo sito. Il metodo proposto prevede lo scatto due oppure tre foto (ovviamente con la stessa inquadratura, per quanto adesso sia possibile correggere piccoli shift, nel caso di due foto, sia verticali che orizzontali) esposte in maniera differente. Nel caso di due foto, una foto sottoesposta (foto per le alte luci) e una sovraeposta (foto per le basse luci). Nel caso di tre foto, una foto sovraesposta, una foto esposta correttamente e una foto sottoesposta. Le foto vanno poi fuse opportunamente, in modo che nelle zone più scure prevalga l'informazione proveniente dalla foto più esposta, in quelle più chiare l'informazione proveniente dalla foto meno esposta.
Rispetto ad altri approcci al problema, che prevedono la fusione di cinque, o anche più foto, l' approccio qui proposto risulta particolarmente semplice. Esso riesce però a dare risultati soddisfacenti tutte le volte che la gamma dinamica osservata non è eccessivamente larga, e può venire "coperta" completamente da due/tre esposizioni diverse. In altre parole, tutte le zone della scena devono risultare correttamente esposte in una delle foto. In casi di scene con differenze particolarmente grandi di luminosità, ad esempio in caso di tramonti con il cielo ancora non vicinissimo all' orizzonte, questo può non essere il caso e lo scatto di un numero superiore di foto potrebbe risultare necessario.
Si consideri un caso di esempio. La foto ritrae una scena in cui le piante ai lati risultano più o meno in controluce. Esponendo correttamente rispetto alla parte principale della foto le frasche degli alberi appaiono quasi nere, per quanto nella realtà apparissero chiaramente verdi, con tutti i particolari distinguibili.





Modificando la curva è possibile schiarire gli alberi.



Guardando nel dettaglio si nota, però, che nel zone rese più chiare il rumore è molto più forte del dovuto e i dattagli non sono ben riconoscibili.



Utilizzando invece una seconda foto, scattata con un tempo più lungo, in modo da esporre correttamente gli alberi,



e fondendola con la prima, secondo un preciso algoritmo descritto più avanti, è possibile ottenere un risultato molto migliore



in cui gli alberi sono sia esposti correttamente, sia poco rumorosi, con particolari ben riconoscibili.



Volendo usare questa pagina per estendere la gamma dinamica della foto, la prassi da seguire, nel caso due foto (approccio necessario quando si scatta a mano libera ed è necessario allineare le foto) è dunque la seguente:
  • Scattare due/tre foto. Nel caso di due foto, una dovrebbe essere leggermente sottoesposta, una leggermente sovraesposta. Nel caso di tre foto, una dovrebbe essere leggermente sottoesposta, una corrispondere all'esposizione ottimale e una leggermente sovraesposta
  • Caricare le le foto. Ovviamente le foto devono avere dimensioni identiche. Nel caso sia necessario correggere manualmente piccole rotazioni, tenere ferma la foto con l'esposione più lunga e ruotare le altre quanto serve, avendo l'accortezza, quando le si salva ruotate, di non attivare il cropping automatico.
  • Scegliere il gradiente migliore testando ogni volta il risultato cliccando sul tasto "Anteprima". Per un confronto dettagliato fra i vari tipi di gradiente, vedere la pagina Confronto fra i gradienti per la creazione di immagini HDR on line
  • Una volta raggiunto un risultato soddisfacente si può ottenere il mixaggio delle foto a grandezza originale cliccando su "Effettua Mixaggio!". Nella parte inferiore della pagina comparirà la foto finale (lato lungo max 1200px). Cliccando su di essa verrà aperta l' immagine finale a dimensioni originali.
I paramentri da ottimizzare sono la forma del gradiente e, per il gradiente lineare, le luminosità minima e massima, ovvero i valore della luminosità al di sotto della quale va utilizzata unicamente l'informazione racchiusa nel pixel della foto più luminosa e quella al di sopra della quale utilizzare solamente l'informazione racchiusa nella foto più buia. La luminosità di un pixel è stata definita come la radice quadrata normalizzata a 1 della somma dei quadrati dei valori dei tre componenti RGB. Perciò, se un pixel ha valori RGB pari a 100, 150 e 200 rispettivamente, la luminosità sarà pari a 0,61. La luminostà del nero è pari a 0, quella del bianco è pari a 1.

Il gradiente può avere tre forme diverse:
  • Gradiente lineare
  • Gradiente sferico (ok, in realtà è un quarto di cerchio, se si normalizza la luminosità massima a 1, però sferico suonava bene!)
  • Gradiente adattivo: punto per punto il sistema decide a quale gradiente fare riferimento
Nel primo caso la percentuale di informazione proveniente dalla foto per le alte luci aumenta linearmente al diminuire della luminosità del pixel, nel secondo caso, invece, l'informazione dell'immagine per le Basse Luci viene utilizzata quasi solo per le luminosità più basse. Le figure illustrano i vari casi e i parametri su cui si può agire. La prima figura si riferisce al caso di due foto, le altre due al caso di tre foto.


Per verificare alla luce di un esempio, le differenze fra i possibili risultati vedere anche la pagina Confronto gradienti per immagini HDR on line.
Nel caso di scene non troppo contrastate, e soprattutto in quelle in cui sono presenti zone con pattern non troppo contrastati (prati, muri scrostati), il gradiente sferico, è più indicato. Nel caso di scene con zone omogenee illuminate in maniera molto differente il grandiente lineare con L1 = 0 e L2 = 1 può essere più indicato.
Il gradiente adattivo è spesso il migliore, ma è anche quello che richiede un'elaborazione più lunga.
Talvolta conviene porre la larghezza del gradiente maggiore del valore della luminosità minima. Questo comporta che in nessuna parte la foto finale presenterà informazioni provenienti unicamente dalla foto per le basse luci.
Nel caso di immagini con zone molto chiare e a basso contrasto può convenire utilizzare il gradiente sferico, in quanto preserva meglio i dettagli in tali zone, dettagli che altrimenti potrebbero andare persi.

Va sottolineato che anche nel caso di tre foto, varia da caso a caso quale è il gradiente più adatto. E varia anche da caso a caso l'entità della differenza fra le due foto finali. In alcuni casi il risultato piò essere quasi identico, in altro possono essere presenti differenze significative.


Una volta effettuata la fusione delle due foto è conveniente utilizzare uno dei comuni editor di foto e immagini che si trovano on line (FastStone Image Viewer è perfettamente adatto) per aumentare il contrasto locale ed eventualmente schiarire un poco l' immagine. Diversamente essa apparirà in generale un po' smorta e leggermente più scura del dovuto.

Ecco alcuni esempi, per ora solo per il caso di due foto, ma con tre il concetto non cambia molto. Cliccando sulle foto è possibile viasualizzare una versione a media risoluzione:

Foto per le alte Luci Foto per le basse Luci Foto finale


Correzione dello shift e della rotazione
La pagine permette adesso di correggere spostamenti verticali e orizzontali fra le due foto. Le rotazioni devono venire invece corrette preventivamente utilizzando un software qualsiasi di elaborazione immagine (ottimo in questo caso Irfan View, che permette di correggere la rotazione con una precisione fino a un decimo di grado).
E' adesso presente anche un primo embrionale strumento aiutare a trovare la giusta rotazione. Cliccando sulla prima foto si può definire un'area (rettangono con bordi rossi) entro la quale individuare i punti in cui il gradiente è maggiore e sulla base di essi definire una retta di regressione lineare. In presenza di bordi dritti (come può essere nel caso di edifici) la differenza di pendenza nelle tre foto indicherà di quanto sono ruotate le foto. Per maggiori dettagli vedere la pagina separata Creazione di foto HDR on line: istruzioni all'analisi dell'inclinazione!
Il processo può venire ottimizzato variando la soglia che definisce quali gradienti (valore assoluto minimo del vettore e minima collinearità rispetto al vettore gradiente medio) verranno conteggiati. Il miglior risultato si ottiene quando i punti conteggiati vengono a formare una banda con al centro la retta di regressione calcolata (punti bianchi e retta rossa nei tre crop che vengono presentati alla fine del calcolo).
Lo strumento è destinato a venire migliorato in futuro!
Note importanti: La o le immagini da ruotare sono sempre quella o quelle meno illuminate! Quando si effettua la rotazione non lasciare che le immagini vengano ridimesionate in automatico, ma utilizzare le immagini ruotate, aumentate di dimensioni rispetto all'originale e che comprendano ancora i triangoli vuoti sui quattro lati.
Infatti, quando esse vengono caricate, vengono automaticamente ritagliate alle dimensioni dell'immagine più luminosa, immagine che fa da riferimento.
Il sistema di correzione dello shift prevede tre possibili opzioni:
  • Griglia
    In tale case lo shift migliore viene valutato su una griglia di nove rettangoli ditribuiti uniformemente sull'immagine. E' il primo sistema che è stato implementato, ma si è rivelato quello meno affidabile.

  • Rettangolo
    In tal caso si può decidere il rettangolo su cui valutare lo shift. Per farlo cliccare una volta sull'immagine delle alte luci per aprire il rettangolo e cliccare due volte per richiuderlo. Si è verificato che il sistema più efficace è creare un rettangolo molto grande, quasi come la foto, dato che in tal modo i possibili errori vengono minimizzati.
    Bisogna ricordare di non includere nel rettangolo soggetti che si sono spostati dalle due foto (per esempio persone) a meno che non siano molto piccoli, perchè ciò altererebbe i risultati. Bisogna poi sempre anche lasciare abbastanza margini ai lati, affinché, nello spostamento relativo, il rettangolo non vada a finire fuori da nessuna delle due foto. Quando questo accade si ottiene un errore. Tornare alla pagina precedente col browser e riprovare con un rettangolo più piccolo.

  • Quadrato per ottimizzare manualmente lo shift
    In questo caso una zona quadrata delle immagini di preview viene visualizzata, a dimensioni originali, in un'apposito riquadro sotto le stesse. I due quadrati, dell'immagine per le alte luci e dell'immagine per le basse luci, vengono visualizzati sovrapposti e in trasparenza. Cliccando sulle frecce è poi possibile fare in modo che essi arrivini a sovrapporsi perfettamente. I valori di shift trovati possono venire applicati sia per il preview dell'immagine completa, sia per mixare direttamente le immagini a dimensioni originali (tramite il pulsante Applica!).
    L'ottimizzazione manuale può essere necessaria in casi in cui sono presenti molti elementi sfumati o immagini in controluce, dove alcune parti diventano invisibili nell'immagine più esposta.
    Nota importante: Se il rettangolo che viene visualizata non è corrispondente a quello che dovrebbe, specie con Explorer, si cancelli con la cache del browser!
L'opzione "Valori inseriti manualmente come partenza!" corrisponde a far partire l'ottimizzazione automatica (le prime due opzioni) partendo da valori inseriti manualmente, in modo da indirizzare opportunamente il processo di ottimizzazione. E' un'opzione utile in caso di immagini in cui gli shift sono molto grandi (ad esempio foto ottenute a mano libera con focali lunghe).