Processo di lavoro in hugin per le immagini HDR
In questo esempio non verrà discusso il motivo per cui si vogliano assemblare delle immagini nel formato HDR; si illustrerà invece una semplice spiegazione pratica che elenca gli strumenti disponibili e ne descrive l'utilizzo con hugin.
NB questa guida è piuttosto datata, hugin ora supporta l'assemblatura di immagini HDR internamente.
Lavorare con le immagini HDR è un processo piuttosto complesso. Se si desidera solamente ottenere un risultato di qualità maggiore rispetto alla classica fotografia a 8bit, allora è meglio dare un'occhiata al processo di lavoro a 16 bit con hugin.
Ancora qui? Esistono fondamentalmente due metodi per creare un panorama HDR:
- unire diversi panorami della stessa scena, ognuna con un'esposizione differente, e unirli per formare un unico file HDR;
- creare una serie di scatti HDR della scene e poi unirli.
Ciascuna di queste tecniche presenta sia vantaggi che svantaggi: la prima è più semplice e l'ultimo passaggio in HDR può essere saltato e sostituito da un processo di fusione del contrasto; per contro è elevato il rischio di disallineamento delle immagini con conseguente creazione di ghosting. La seconda tecnica è invece descritta di seguito dato che coinvolge un elevato numero di strumenti.
Tecnica semplice e veloce
Il resto di questa guida descrive come generare immagini finali di elevata qualità utilizzando degli strumenti da linea di comando. Comunque è ora possibile portare a termine l'intero processo utilizzando degli strumenti a interfaccia grafica. Il processo comprende queste fasi:
- cattura di scatti della scena con esposizione a forcella;
- unione degli scatti a forcella in HDR utilizzando qtpfsgui; scegliere il formato di output del tipo RBGE radiance .hdr o 32bit floating-point TIFF;
- assemblare il panorama con hugin e enblend;
- eventualmente, eseguire il tonemap del risultato con qtpfsgui.
Tecnica complessa e laboriosa
Preparare le immagini HDR
A meno che non si possegga una costosa fotocamera HDR, ci si ritroverà a dover unire degli scatti a forcella per creare delle immagini HDR. Sfortunatamente questo comporta anche la limitazione di poter riprendere esclusivamente scene statiche e paesaggi.
Scattare a forcella
Il numero di scatti necessari dipende dall'intervallo dinamico della scena che si desidera catturare e dalle capacità della propria fotocamera.
La maggior parte delle fotocamere è fornita di una modalità di bracketing automatico che permette di catturare tre o cinque scatti separati ognuno da due stop, premendo solo una volta il pulsante di scatto. Spesso questo è sufficiente, anche se una tipica scena esterna può presentare un intervallo dinamico di diciotto stop che richiederebbero otto scatti separati ognuno da due stop.
A prescindere dal metodo scelto, dovrebbe apparire ovvia la necessità di utilizzare un buon cavalletto per mantenere immobile la fotocamera.
Correggere l'aberrazione cromatica
Questo è il momento adatto per correggere l'aberrazione cromatica e la vignettatura con fulla utilizzando i dati calibrati in precedenza per il proprio obiettivo; eseguire questa operazione in seguito non dà i risultati sperati.
Unire gli scatti a forcella con PFScalibration
Esistono altri strumenti che permettono di unire le immagini scattate a forcella, ma PFScalibration è gratuito ed esegue comunque il lavoro.
I passi descritti nel seguito per assemblare le immagini in HDR possono anche essere eseguiti con lo strumento a interfaccia grafica qtpfsgui.
Calibrare la curva di risposta della fotocamera
In genere, quando una fotocamera digitale crea dei file JPEG o TIFF, prende un'immagine con intervallo dinamico pari a 12 bit per canale, catturata dal CCD, e la comprime, utilizzando una curva di risposta della fotocamera, in un file di output a 8 bit.
Quindi i file JPEG e TIFF devono essere riportati allo stato originale attraverso l'utilizzo di una curva di risposta della fotocamera calibrata, in modo che possano essere mappate nello spazio lineare dell'immagine HDR a virgola mobile.
Se si sta lavorando con delle immagini in formato RAW, la risposta della fotocamera è, in questo caso, generalmente lineare e quindi non è necessaria alcuna calibrazione: questo passo può essere saltato.
Un metodo rapido per dedurre la curva di risposta per un utilizzo futuro consiste nel scattare cinque immagini a forcella in formato JPEG, leggermente fuori fuoco e distanziate di uno stop (per esempio con 2, 1, 0,5, 0,25 e 0,125 secondi di esposizione). Estrarre i tempi di esposizione dai dati EXIF:
jpeg2hdrgen *.jpg > mycamera.hdrgen
Estrarre poi la curva di risposta, confrontando le fotografie, e salvarla:
pfsinhdrgen mycamera.hdrgen | pfshdrcalibrate -v -g 6 -s mycamera.response
Allineare gli scatti
Se le immagini sono state scattate "a mano", sarà necessario allineare la pila di foto utilizzando hugin.
In alternativa lo strumento hdrprep può essere utilizzato per automatizzare il processo e risparmiare molto tempo.
Unire le immagini a forcella nel formato Radiance RGBE .hdr
Creare un file hdrgen ce elenca ognuna delle immagini scattate a forcella con il relativo tempo di esposizione. Come base si può utilizzare il file mycamera.hdrgen creato precedentemente.
Utilizzare poi questo file e il file della curva di risposta per creare un file RGBE:
pfsinhdrgen mypicture.hdrgen | pfshdrcalibrate -v -f mycamera.response | pfsoutrgbe mypicture.hdr
Controllare l'output con pfsview:
pfsinrgbe mypicture.hdr | pfsview
Assemblare con hugin
Le immagini in formato RGBE possono essere caricate in hugin come al solito con un paio di avvertimenti:
- le immagini possono apparire molto scure dato che rappresentano dei dati lineari del sensore. La visualizzazione delle immagini HDR può essere configurata nelle preferenze di hugin;
- le informazioni riguardanti il campo inquadrato sono state perse, quindi dovranno essere reinserite manualmente o ri-ottimizzate.
Assemblare le immagini come al solito in un file TIFF; è possibile utilizzare enblend come passo finale.
Post processing
Questo file TIFF è in formato IEEE in virgola mobile e con 32 bit per canale. Esso risulta impossibile da visualizzare nella sua completezza su un comune monitor, quindi probabilmente si desidera creare un'immagine finale a 8 bit per canale.
Generalmente le immagini HDR panoramiche sono utilizzate come "lightprobe" per i rendering tridimensionali; in questo caso l'elaborazione è terminata.
Correggere in uno strumento a interfaccia grafica
Esistono diversi editor di immagini in grado di aprire questo file: cinepaint, krita, vips e HDRIE. Le possibilità variano per ognuno, quindi è necessario sperimentarli personalmente.
In alternativa, si può utilizzare pfstools per manipolare le immagini: pfstools è in grado di leggere i file HDR e TIFF.
Un'immagine HDR può essere visualizzata utilizzando pfstools con il comando:
pfsintiff stitch.tif | pfsview
Un metodo rapido per ottenere una buona immagine visualizzabile a 8 bit per canale, consiste nel selezionare il logarithmic mapping, correggere la barra dell'esposizione fino a ottenere un buon intervallo di ombre e punti più luminosi, ingrandire nel rapporto 1:1 e salvare come PNG.
Tone mapping
L'operazione di tone mapping utilizza la compressione HDR per comprimere le immagini a elevato intervallo dinamico.
Gli operatori locali di tone mapping producono degli artefatti nelle aree circostanti lo zenith e il nadir nelle immagini equirettangolari. Si consiglia quindi di scegliere un operatore di tone mapping globale o di ritoccare in seguito i poli.
Un pacchetto legato a pfstools, denominato pfstmo, può eseguire automaticamente il tone mapping di una immagine HDR e comprimerla in un output a basso intervallo dinamico. Sono disponibili varie opzioni e tecniche; i comandi sono di questo tipo:
pfsinrgbe stitch.hdr | pfstmo_drago03 | pfsgamma -g 2.2 | pfsout stitch.png
qtpfsgui è un'interfaccia grafica gratuita per i pfstools e permette di eseguire interattivamente il tone mapping.
Anche Photomatix è in grado di eseguire il tone mapping.