|
ZERO NOISE Creado 26 Mar 2008 Actualizado 21 Jun 2008 |
QUÉ ES ZERO NOISEZero Noise es un programa que he realizado con la intención de automatizar la tarea de fusionar varias tomas realizadas sobre una misma escena con diferentes grados de exposición para lograr una imagen final de bajo ruido y alto rango dinámico (HDR).El fundamento teórico en el que está basada esta técnica fue ya explicado en detalle en el artículo Fotografía con cero ruido. Son numerosos los programas con los que se puede acometer dicha tarea (Photomatix, HDR de Photoshop,...), pero ninguno de ellos me satisface por un doble motivo lo que me ha llevado a escribir este programa:
La idea es que con esta imagen en bruto pero de alta calidad el usuario lleve a cabo el procesado más acorde a sus preferencias y necesidades. En el tutorial se propone una posible solución de edición para llevar a cabo un mapeo de tonos con un resultado natural. El flujo de trabajo con Zero Noise comprenderá 4 etapas:
CAPTURA DE IMÁGENESLas imágenes deberán ser realizadas con la máxima calidad posible. Dejando otros aspectos técnicos al margen, es en particular importante obtener una buena alineación píxel a píxel entre las distintas imágenes. Para ello se ha de recurrir a:
En contra de lo que se suele pensar muchas veces no se obtienen mejores resultados en la fusión de imágenes con un gran número de las mismas. De hecho en programas de mezcla progresiva como Photomatix y HDR de Photoshop el empleo de muchas imágenes conduce a una gran pérdida de nitidez si éstas no están milimétricamente alineadas. Es perfectamente posible obtener imágenes de gran calidad con tan solo dos capturas separadas una cantidad generosa de pasos de diafragma. He autolimitado Zero Noise a la fusión de un máximo de 10 imágenes, si bien utilizar más de 4 no está en realidad justificado en ningún caso. Resulta obvio que los diferentes grados de exposición nunca han de obtenerse alterando la apertura del diafragma, sino siempre jugando con la velocidad de disparo. No hacerlo así puede propiciar efectos extraños debidos a las diferentes profundidades de campo con que se generarían las capturas. ESQUEMA PROPUESTO Mi propuesta actual es realizar 3 capturas empleando el ahorquillado de la cámara. Pero a diferencia de como se suele recomendar con los programas habituales de HDR donde se hace coincidir la exposición (típicamente medición evaluativa de la cámara) con la toma central, lo que propongo es olvidarnos de dicha toma y usar como referencia la toma menos expuesta. Así nos centraremos en obtener en la captura a -2EV la imagen más expuesta posible de la escena pero siempre sin quemar las altas luces. El esquema pasaría de ser {-2EV, 0EV, +2EV} a uno del tipo {0EV, +2EV, +4EV}, pero siempre cuidando como se ha dicho de que en la captura que llamamos 0EV o de referencia no se queme ninguna información de altas luces. Se trata en definitiva de derechear la toma menos expuesta despreocupándonos totalmente de cómo de expuestas queden las otras dos capturas. Para ello haremos uso necesariamente de la compensación de la exposición o mejor del modo M en la cámara. Obviamente en escenas de mucho rango dinámico este esquema puede quedarse corto. En esos casos no nos bastará con el ahorquillado de la cámara y deberemos modificar manualmente la exposición para obtener tomas adicionales con más exposición aún. MEJORA EN RUIDO Y EXPANSIÓN DE RANGO DINÁMICO Por cada diafragma extra de exposición en las tomas adicionales reduciremos el ruido visible en las sombras, y en consecuencia aumentaremos en un paso el rango dinámico que puede captarse. Así una cámara de 8 diafragmas de rango dinámico máximo (como la Canon 350D) se convertirá en un dispositivo capaz de obtener los siguientes rangos dinámicos y mejoras aproximadas en la relación señal a ruido en las sombras al emplear los esquemas de exposición siguientes. Se muestra además en la última columna el salto máximo en la relación S/N que encontraremos en las zonas fronterizas entre imágenes:
Observando el tercer y cuarto esquemas uno podría pensar que no tiene sentido realizar la toma central a +2EV en el cuarto. Esto no es así; si bien dicho esquema no mejora el rango dinámico máximo capturado ni el ruido en las sombras, sí mejora éste en los tonos intermedios y hace más suaves las transiciones, por lo tanto es un esquema en principio más recomendable que el de solo dos capturas. De las pruebas que he podido hacer, cuando se emplea un esquema del tipo {0EV, +4EV} aproximadamente el 80% de la imagen final es obtenida de la toma a +4EV y tan solo un 20% de la toma 0EV. El salto en relación señal a ruido es de 16 veces más ruido en la toma 0EV lo que puede llegar a delatar las zonas de transición en lo referente a este parámetro. En cambio con un esquema {0EV, +2EV, +4EV}, el 80% de la imagen final sigue proviniendo de la toma +4EV como es lógico, pero aprox. el 15% viene de la toma +2EV y tan solo el 5% de la toma 0EV (obviamente las altas luces). El salto en la relación señal a ruido ya es "solo" de 4 veces más ruido en la toma más ruidosa, lo que hace las transiciones inapreciables en cuanto al ruido. EMPLEO DE LA COMPENSACIÓN GAMMA PARA CAPTURAR AÚN MÁS RANGO DINÁMICO En la tabla anterior puede parecer exagerado hablar de un rango dinámico de 16 o incluso más diafragmas. En efecto, en una codificación lineal de 16 bits registrar más de unos 12 diafragmas resulta imposible pues la escasez de niveles tonales en las sombras (1 nivel para el diagragma 16º, 2 niveles en el 15º, 4 niveles en el 14º, 8 niveles en el 13º) hace que estos no queden suficientemente representados. Sin embargo una de las opciones en las que he depositado más expectativas en Zero Noise es la aplicación de la compensación gamma dentro de la propia rutina de fusión de imágenes para usarla como trampolín para la expansión del rango dinámico en las sombras. El programa realiza los cálculos en coma flotante (es decir con números decimales) sin apenas errores de redondeo, y al aplicar la gamma antes del redondeo final a valores enteros de 16 bits cada diafragma de las sombras dispone de muchos más niveles que haciendo el redondeo en lineal. Por este procedimiento debe ser perfectamente posible llegar a superar la barrera de los 16 diafragmas de rango dinámico. La utilidad que tenga el asunto ya es mucho más dudosa, primero por la poca o nula existencia de escenas de tanto rango dinámico en el mundo real, segundo por la dificultad de obtener tomas con una exposición relativa nada menos que de 8 pasos por encima de la de referencia, y por último por la dificultad que entrañará la edición de tales imágenes en las cuales el disfrute de todo el rango dinámico capturado implicará un bajísimo contraste tonal complicado de mapear. Zero Noise aplica una curva gamma pura OUT = IN1/2.2. Dicha curva difiere sensiblemente de la curva gamma empleada en sRGB, la cual presenta un tramo inicial lineal que la hace levantar menos las sombras que la gamma exacta. Como puede verse a continuación Zero Noise levantará más las sombras cercanas al negro absoluto que una conversión a sRGB normalizada lo que además de simplificar la implementación va a ser beneficioso para facilitar el tratamiento de las imágenes de alto rango dinámico. El motivo es que el histograma resultante tendrá unas sombras más alejadas del negro lo que en imágenes de baja exposición como las que vamos a manejar facilitará sacar partido de las sombras y evitar que se empasten: ![]() Fig. 2 Compensación gamma 2.2 standard vs sRGB. Si se desea preservar la apariencia que habría tenido la imagen caso de revelarla en el perfil sRGB normalizado puede asignarse el TIFF resultante al perfil de gamma exacta 2.2 de libre distribución que amablemente me ha enviado Hugo Rodríguez denominado H-RGB 2.2 Generic PC, el cual es muy similar a sRGB salvo en la zona de sombras. Para los demás espacios de color (Adobe RGB, ProPhoto RGB) la gamma es la misma por lo que bastará asignarlos en Photoshop para tener la imagen correctamente mostrada en pantalla. REVELADO RAWObtenidos los archivos RAW dejamos de lado la exposición más teórica anterior para dar paso a ver cómo se ha de operar con Zero Noise.MOTOR DE REVELADO DCRAW Para el funcionamiento de Zero Noise, aparte de haberse procedido a su instalación es preciso tener el ejecutable de DCRAW en la ruta raíz del disco C:, es decir el archivo "C:\dcraw.exe" ha de existir conteniendo un ejecutable válido de DCRAW. Si no funcionara el link anterior dicho archivo puede encontrarse en la Web de Francisco J. Montilla. Para los no familiarizados con DCRAW se trata de un revelador RAW gratuito, compacto y de gran potencia y flexibilidad para llevar a cabo un revelado RAW sin procesado alguno y bajo total control del usuario, y que es usado por Zero Noise como motor de revelado. SELECCIÓN DE RUTA A LOS ARCHIVOS RAW Mediante la opción '...' le indicaremos al programa la ruta donde se encontrarán los archivos RAW. Basta con seleccionar uno de ellos y Zero Noise leerá los restantes del mismo directorio. Por ello en dicho directorio solo deberán encontrarse los archivos RAW que vayamos a fusionar. A priori Zero Noise solo ofrece la posibilidad de abrir los formatos RAW más típicos (Canon, Nikon, Sony, Olympus, Fuji y DNG), pero en realidad puede procesar todos aquellos soportados por DCRAW los cuales se detallan en este listado de formatos, permanentemente actualizado y contabilizando cerca de 300 modelos de cámaras. Si el formato RAW de la cámara no estuviera entre los primeros basta escribir *.* y se mostrarán todos los archivos del directorio con lo que no será problema elegir cualquier formato de RAW. Seleccionado el archivo se mostrará en pantalla. Si el RAW escogido estuviera demasiado subexpuesto o sobreexpuesto, no habría problema alguno en escoger otro ya que dispondremos de varios: ![]() Fig. 3 Pantalla de Zero Noise tras especificar ruta a archivos RAW. Por una limitación histórica un tanto absurda del MS-DOS en cuanto a la longitud máxima de sus comandos de línea (que Zero Noise usa internamente), los nombres de los archivos RAW no habrán de ser muy largos (tal cual salen de la cámara sería adecuado), y sobre todo deberemos guardarlos en un directorio lo más cercano posible a una unidad de disco raíz de modo que resulte una ruta corta, por ejemplo "C:\raw\" sería ideal. En cualquier caso el programa avisará si sobrepasamos la longitud máxima para que cambiemos la ruta o nombres de archivos para reducirla. Para aprovechar al máximo el área de visualización Zero Noise ignora la información EXIF del arhivo RAW en cuanto a la orientación de la captura mostrando siempre las imágenes en formato horizontal. Las imágenes finales resultantes sí que se generarán sin embargo correctamente "verticalizadas" en el caso de capturas donde la cámara fue girada. AJUSTE DEL BALANCE DE BLANCOS Ahora nos enfrentamos a la única tarea en que el usuario va a tener una participación importante en todo el proceso, y se trata del ajuste del balance de blancos. DCRAW propociona un balance de blancos tal como resulta la implementación final del mismo, es decir en forma de 3 factores multiplicadores lineales para cada canal RGB. Si bien puede operarse con ellos, son poco intuitivos y es mejor realizar el balance de blancos mediante la selección de un parche sobre la imagen a elección del usuario. Para ello no habrá más que hacer click sobre la escena con el ratón y arrastrar hasta obtener un rectángulo en una posición y tamaño adecuados. Es una herramienta similar al cuentagotas de ACR pero más potente ya que permite seleccionar exactamente el área de la imagen que determinará el cálculo del balance de blancos que después se aplicará a toda la imagen. Seleccionar toda la imagen bajo dicho parche será equivalente al habitualmente denominado balance de blancos automático. Una vez satisfechos con el rectángulo escogido, pulsaremos 'Calculate WB' y en breves instantes la imagen pasará por un revelado neutro (de color verde) para rápidamente alcanzar el aspecto final del balance de blancos escogido: ![]() Fig. 4 Ajuste del balance de blancos con parche rectangular. En esta ocasión hemos balanceado un promedio de toda la pared blanca del fondo. Si quisiéramos ir un poco más allá podríamos desear eliminar las dominantes cálidas que provocan los focos de tungsteno. Para ello encontramos más adecuado pasar mediante la opción '[ ]' a un parche de forma circular con el que escogeremos el área de proyección de luz de uno de los focos: ![]() Fig. 5 Ajuste del balance de blancos con parche circular. La diferencia es sutil pero existe:
![]() Fig. 6 Diferencia en el balance de blancos según el parche escogido. El balance de blancos perfecto no existe. El balance de blancos es una operación global de escalado de los tres canales RGB que no logrará nunca que aparezcan en tonos gris neutro áreas de la escena bañadas por dominantes de distinta naturaleza. Por lo tanto, en imágenes como ésta estamos sujetos a un compromiso donde deberemos elegir el balance de blancos óptimo de acuerdo a nuestras necesidades o gustos. Para realizar un ajuste más fino habrá que recurrir a un tratamiento zonal de la imagen. Nos quedamos finalmente con el primer balance de blancos calculado, el cual proporciona un tono gris neutro en la mayor parte de superficie de las paredes blancas permitiendo una ligera dominante más cálida en las zonas próximas a la iluminación artificial. Zero Noise también permite jugar con los habituales preajustes de balance de blancos (en este caso adaptados a la Canon 350D) entre los que se incluye un revelado neutro, es decir, sin aplicar ningún tipo de balance de blancos, opción de la que no disponen los reveladores comerciales. También se puede utilizar el balance de blancos que se ajustó en la cámara, si bien esta opción solo debe usarse si tenemos la certeza de que toda la serie fue tomada bajo el mismo balance de blancos (por lo tanto el modo de balance de blancos 'Auto' no debe utilizarse para la fusión de imágenes pues variará de una toma a otra). De momento se me resiste pero la idea es implementar también el balance de blancos en términos de la temperatura de color y el matiz como estamos acostumbrados a encontrarlos en los reveladores comerciales. REVELADO DE LOS ARCHIVOS RAW Una vez que hemos elegido el balance de blancos, ya solo quedan tres trámites que son:
Hasta el momento conozco dos cámaras cuyo nivel de saturación en DCRAW es incorrecto: la Canon 30D (con nivel 3398) y la Canon 40D (con nivel 13823). Si se tiene una de estas dos cámaras bastará introducir el valor en la casilla 'Saturation'. De no hacerlo los niveles de exposición se calcularán erróneamente y la imagen final será incorrecta presentando saltos de exposición. Respecto al algoritmo de interpolación, en general AHD será el que mejor funcione; si bien por las particularidades de las cámaras Fuji el autor de DCRAW afirma que PPG puede dar un mejor resultado en ellas. Es importante notar que Zero Noise es un programa cuyo display no tiene pretensiones de gestión de color, lo que provoca que solo cuando tengamos seleccionado sRGB como perfil de color de salida el aspecto mostrado por la imagen será el correcto. En cuanto cambiemos a otro espacio de color Zero Noise mostrará la imagen con colores erróneos pues estará asignando sRGB a una imagen convertida a otro perfil de color. A efectos prácticos este hecho es irrelevante ya que la imagen que se genera es correcta y por tanto al cargarla en PS éste mostrará los colores tal como los veíamos con sRGB seleccionado. Bastará tener elegido sRGB durante el afinamiento del balance de blancos deseado, y una vez estemos contentos elegir el perfil de color de salida deseado antes de realizar el revelado. Nótese como DCRAW nos permite obtener una salida sin gestión de color ('None'), es decir en el espacio de color de la propia cámara sin conversión alguna, así como en espacios no habituales en otros reveladores como Wide Gamut ('Wide Gamut') y CIE XYZ ('XYZ'). Por supuesto también están disponibles los más clásicos sRGB, Adobe RGB y ProPhoto RGB. Una vez escogidas estas opciones pulsaremos la opción 'Develop' y Zero Noise invocará a DCRAW para llevar a cabo el revelado de todos los archivos RAW seleccionados. Nos preguntará si queremos ver el progreso del revelado, si respondemos que sí se visualizará la siguiente ventana de MS-DOS mostrando la actividad de DCRAW: ![]() Fig. 7 Revelado de los arhivos RAW por DCRAW. El revelado tardará más o menos en función de la potencia de la máquina y del tamaño de los archivos RAW. No deberemos tocar nada hasta que DCRAW haya finalizado su trabajo. Lo sabremos porque la anterior ventana negra se cerrará y aparecerá el mensaje 'DONE' en la información de status. Llegados a este punto podrá comprobarse como se han generado tantos archivos TIFF en la ruta de los RAW originales como archivos RAW participasen en el revelado. FUSIÓN DE IMÁGENES Y ABRIR IMAGEN RESULTANTE EN PSEn este apartado procederemos a explicar cómo realiza Zero Noise la fusión de las imágenes generadas, y cómo acondicionar el archivo TIFF de 16 bits resultante para su edición en Photoshop.FUSIÓN DE IMÁGENES Tras el paso de revelado la opción 'Blend' pasará a estar activa y pulsándola Zero Noise iniciará la actividad de cálculo de las exposiciones de las distintas tomas. No importa el orden en que se encontrasen los archivos RAW ni sus nombres, el programa los ordenará de menor a mayor exposición absoluta y calculará numéricamente las exposiciones relativas en EV respecto al RAW menos expuesto que usamos como referencia: ![]() Fig. 8 Cálculo de exposiciones relativas entre tomas. Como puede verse aunque las tres tomas empleadas en este ejemplo proceden de un ahorquillado {0EV, +2EV,+4EV}, entre la primera y segunda toma hay solo 1,91EV de diferencia en el cálculo de exposición. Veremos a continuación cómo si se hubiera empleado una salto de 2EV para corregir la exposición de la segunda toma e igualarla a la primera se observaría una transición de exposición en las zonas limítrofes entre ambas que no se da con el cálculo numérico. MÉTODO DE CÁLCULO DE EXPOSICIONES RELATIVAS La estrategia de Zero Noise es óptima para obtener la mejor relación señal a ruido posible en cada píxel individual de la imagen. Sin embargo tiene el peligro de que es sensible a un mal ajuste en las correcciones de exposición. A diferencia de lo que hace la mayoría de programas de fusión de imágenes que se basan en los datos EXIF para "intuir" la diferencia de exposición entre las distintas capturas, Zero Noise calcula ésta numéricamente por sí mismo, obteniendo un valor más exacto en base a los niveles hallados en los archivos TIFF. Esto inmuniza mejor el cálculo frente a los errores introducidos por tolerancias en el obturador o tiempos de exposición de nuestra máquina, o por una simple nube que pudiera pasar en el momento de hacer alguna de las capturas. En el siguiente ejemplo de la zona de la lámpara, donde necesariamente hay una transición de píxels tomados de la captura de menor exposición (0EV) a píxels tomados de la siguiente captura (+2EV) conforme nos alejamos de la lámpara, he realizado la fusión con el cálculo de Zero Noise (-1,91EV) y lo he replicado forzando una corrección de 2 pasos exactos que sería lo lógico esperar dado el ahorquillado empleado. En las imágenes resultantes (arriba) aunque con cierta dificultad se ve que la corrección de -2EV no es del todo correcta. Si aplicamos una curva que ponga a prueba la precisión de la transición, es decir de la corrección de exposición aplicada, el fallo se hace visible apareciendo una banda que delata la zona de transición, mientras la de Zero Noise presenta un degradado perfecto (abajo): ![]() Fig. 9 Recorte al 100% de corrección de exposición calculada por Zero Noise (izq.) vs forzada (der.). Al final del procesado Zero Noise guarda en la misma ruta que todos los demás archivos la imagen resultante indicando en el nombre la hora a la que fue generada, el perfil de color de salida y la compensación gamma aplicada. Un ejemplo típico sería: 'ZN_200351_sRGB_G2.2.tif'. No hemos hablado hasta ahora del parámetro de compensación gamma pues lo haremos en el apartado siguiente, al explicar como abrir la imagen en PS. ABRIR IMAGEN RESULTANTE EN PHOTOSHOP Para leer correctamente en PS el archivo TIFF generado en PS no tendremos más que abrirlo en PS y asignarlo al perfil en que fue revelado. Este paso de asignación ha de hacerse necesariamente ya que los archivos que genera Zero Noise no llevan incrustada la información del perfil de color de salida, por lo que se la deberemos indicar nosotros. Puede observarse como el valor de compensación gamma de salida que aparece en el menú de fusión varía en función del perfil de color de salida escogido. Por ejemplo en sRGB y AdobeRGB la compensación gamma es de 2,2 mientras en Pro Photo es de 1,8. Lo más recomendable es dejar la gamma que Zero Noise sugiere al elegir el perfil de salida pues es el valor de compensación gamma que tendrá cada uno de los espacios de color en PS, y por lo tanto a la hora de asignarlos no habrá que hacer ninguna operación especial, tan solo asignar el perfil correspondiente. Emplear una compensación gamma tiene la propiedad de producir una mayor riqueza tonal en el archivo de salida en los diafragmas bajos del rango dinámico, por lo que tendremos una mayor robustez frente a la posterización en las sombras además de una mayor capacidad de captación de rango dinámico, que con una gamma compensada podrá superar fácilmente el límite físico de 12 diafragmas e incluso 16 que se tiene en una codificación lineal de 16 bits. No obstante es perfectamente posible alterar este valor de gamma para por ejemplo obtener una salida lineal si se desea, o de cualquier otro valor. Ahora bien, si se hace de este modo habremos de tener una versión del perfil de color en la gamma en que hayamos generado la salida para asignarlo a la imagen resultante o de lo contrario la exposición de ésta se interpretará erróneamente en PS. Si por ejemplo hemos decidido que la salida va a ser lineal (bastaría para ello poner el slider de Gamma a un valor 1.0 tras haber escogido el perfil de color de salida), se explica en el tutorial de DCRAW como generar con PS versiones lineales de cualquier perfil. Pueden bajarse las de sRGB y de Adobe RGB desde este enlace. Estos perfiles serán visibles desde PS con tan solo copiar los archivos ICC en la ruta correspondiente ('C:\WINDOWS\system32\spool\drivers\color\' en mi caso). Una desventaja de trabajar con un perfil lineal es que sufriremos una de las malas costumbres que tiene PS, que es mostrar con un alto grado de posterización este tipo de imágenes. Aunque el display es erróneo la información es totalmente correcta así que no hay que preocuparse. Dado que PS no es adecuado para realizar edición de imágenes lineales, deslinealizaremos la imagen convirtiéndola al perfil de color en que queramos trabajar que puede ser el mismo que usamos en el revelado pero esta vez una versión no lineal, es decir, al sRGB, Adobe RGB,... típicos de PS. Hecho esto veremos como la posterización en el display desaparece y la imagen ya está lista para ser editada como cualquier otra. Es interesante realizar esta conversión con el histograma para observar como éste se desplaza fuertemente hacia la derecha debido a la compensación gamma aplicada. TONE MAPPING MANUALLas pretensiones de Zero Noise de proporcionar al usuario una imagen de la mayor calidad posible acabaron en el apartado anterior. En éste voy a proponer un método de edición en PS que considero válido para sacar un buen partido del rango dinámico capturado con el método expuesto.Pero quiero insistir que lo que viene a continuación es tan solo mi propuesta. La imagen obtenida tras realizar los pasos comentados en las secciones anteriores está lista para que cada cual aplique sobre ella el procesado que considere más oportuno, incluso un mapeo de tonos mediante cualquier herramienta que permita realizarlo sobre una única imagen. IMAGEN SUBEXPUESTA La primera impresión de quienes usan por primera vez DCRAW suele ser que las imágenes que produce están subexpuestas, sin contraste y desaturadas. Aquí este hecho se enfatiza pues como no podía ser de otro modo, para preservar las altas luces sin alterar el contraste ni los tonos de la imagen, la rutina de fusión ha corregido la exposición de todas las imágenes para igualarlas con la de la toma menos expuesta que sirve de referencia. Es decir que Zero Noise siempre va a producir una imagen con exactamente la misma exposición que la toma menos expuesta del conjunto de imágenes que le han sido suministradas. Esto no es una limitación o desventaja, simplemente ha de ser así si se desean cumplir las premisas vistas. ![]() Fig. 10 Imagen final resultante sin ajustes. Este aspecto apagado no ha de preocuparnos en absoluto, de hecho la imagen es indistinguible de la que se tendría revelando el RAW menos expuesto en ACR con todos los controles y ajustes a cero. Es simplemente una imagen no procesada en absoluto, y nos resulta extraña porque estamos acostumbrados a que los reveladores comerciales hagan por nosotros ajustes automáticos para presentarnos en su vista previa inicial una imagen más cercana a lo que sería directamente utilizable. TONE MAPPING MANUAL Aunque los programas de fusión de imágenes con alto rango dinámico suelen aplicar complejos algoritmos de Tone Mapping para realzar los contrastes locales a la par que se reduce el contraste global, mi opinión personal es que el resultado suele ser de dudoso gusto estético así como conceptualmente incompatible con la forma en que ve nuestro ojo pese a que el objetivo a lograr fuera justo el contrario. Respeto a los usuarios que busquen el mal llamado "aspecto HDR" pero personalmente me parece demasiado extremo y prefiero un tratamiento que, sacando partido de todo el rango dinámico y ausencia de ruido en las sombras de nuestra imagen, resulte lo más natural posible y por ello no me sirve una imagen que ha sido procesada previamente por ningún programa. No soy habilidoso con PS pero haciendo algunas pruebas he llegado a la conclusión de que a partir de este tipo de imágenes, donde las sombras van a poder ser "levantadas" tanto como queramos sin temor a la aparición de ruido, puede obtenerse un resultado natural con solo aplicar dos curvas que además no requieren ninguna selección manual sobre la imagen. Mi propuesta es:
![]() Fig. 11 Esquema de curvas para Tone Mapping manual. Para crear la máscara de capa de la curva de ajuste de brillo se pueden seguir los siguientes pasos:
![]() Fig. 12 Imagen HDR resultante del mapeo de tonos con curvas. Esta forma de proceder tiene una ventaja conceptual, y es que como las curvas aplicadas (tanto la de aumento de brillo con máscara como la de contraste) son funciones monótonas crecientes, mantendrán siempre la relación de luminosidades entre las diferentes áreas de la imagen. Así nunca podrá ocurrir que una zona menos iluminada que otra en la escena real, obtenga en la imagen final una luminosidad mayor que la segunda. No se dará por lo tanto el típico cruce de luminosidades tan habitual en el mapeo de tonos de los programas HDR, culpable de la aparición de incongruencias de iluminación en la imagen final así como halos y otros efectos extraños indeseables tan habituales en ese tipo de programas. MEJORA DE CONTRASTE LOCAL La primera curva que aplicamos tenía como finalidad levantar las sombras disminuyendo el contraste global, pero tiene algunas consecuencias inevitables:
En el ejemplo, editado solo con las dos curvas, puede observarse como las distintas paredes blancas han quedado poco diferenciadas debido precisamente a esta pérdida de contraste local. Sus ángulos se suavizan y las diferencias de luminosidad en los distintos paramentos se reducen. Además el mobiliario carece de un contraste adecuado resultando un poco anodino. Un método muy eficaz para aumentar el contraste local, sugerido por Thomas Knoll de Adobe, es el empleo de la máscara de enfoque de PS. Se aplicará con una cantidad menor de lo normal (~15%), pero con un radio mucho mayor de lo habitual cuando se usa para enfocar (~50 píxels) dependiendo del tamaño en píxels de la imagen, y sin aplicar ningún umbral. El efecto será el aumento del contraste (que es en realidad lo que hace la máscara de enfoque) pero en menor cantidad y trabajando sobre zonas amplias. La mejora en el resultado es patente y podremos dar con este paso la edición de la imagen por finalizada (pulsar sobre la imagen para verla a 1024px que es como realmente se aprecia la mejora): ![]() Fig. 13 Imagen final HDR resultante. En ocasiones, si se aplica un aumento de contraste local fuerte pueden aparecer halos en los bordes de ciertos objetos oscuros con un fondo mucho más claro que ellos. A diferencia de los halos que se tienen cuando se hacen ajustes de niveles por zonas, los halos aquí son muy sencillos de eliminar. Basta aplicar el aumento de contraste local en un duplicado de la imagen y si aparecieran halos pintar sobre ellos en la máscara de capa para tomar esas zonas de la imagen inferior, sin preocuparnos de invadir o no al pintar el objeto oscuro. El resultado es inmediato y perfecto. El que desee probar el programa con las mismas imágenes usadas en el ejemplo, o bien comparar los resultados obtenidos con otras herramientas, puede descargarse los archivos RAW de los enlaces siguientes: hdr1.cr2, hdr2.cr2 y hdr3.cr2. RANGO DINÁMICO CAPTURADO Y RUIDOEl rango dinámico real capturado se puede obtener fácilmente con Histogrammar a partir del TIFF de salida de Zero Noise dada su linealidad.Como puede verse se trataba de una escena de unos 12 diafragmas de rango dinámico el cual fue captado en su totalidad, quedando fuera un pequeño pico correspondiente a la luminosidad de las luces halógenas que resultaron inevitablemente quemadas al encontrarse a muchos pasos de diafragma del resto de la imagen: ![]() Fig. 14 Rango dinámico capturado en la imagen resultante. Con una sola toma capturar las zonas oscuras de la escena a la vez que se preservan las altas luces habría resultado simplemente imposible. Si comparamos la imagen final con la toma menos expuesta de las tres realizadas (la única donde la información de la ventana no se quemó) el resultado es el esperado de fuerte mejora de la relación señal a ruido: ![]() Fig. 15 Recorte al 50% comparando las sombras entre toma única (izq.) y fusión (der.). OTROS EJEMPLOSAlgunas pruebas más realizadas empleando Zero Noise y la técnica de mapeo de tonos propuesta usándose en los tres casos un esquema de exposición de dos capturas {0EV, +4EV}. Puede observarse como las vistas a través de las ventanas y la lámpara en la última imagen han sido preservadas manteniendo un aspecto realista y natural (pulsar sobre las imágenes para verlas a 1024px):![]() Fig. 16 Restaurante 'La Taurina' en Madrid. ![]() Fig. 17 Sede universitaria en La Nucia (Alicante). ![]() Fig. 18 Sede universitaria en La Nucia (Alicante). ![]() Fig. 19 Sede universitaria en La Nucia (Alicante). CONCLUSIONESQué hemos logrado en definitiva con todo esto? establecer un método de trabajo (captura, revelado, fusión y edición) que nos permite convertir una cámara modesta como es la Canon 350D en una máquina que no tiene problema alguno en registrar con una gran calidad de imagen una escena de alto rango dinámico y sin ruido visible en las sombras.El proceso de edición elegido es muy sencillo pues no ha requerido ningún tipo de intervención zonal sobre la imagen. Todos los procesados han sido globales y no se ha aplicado ningún tipo de reducción de ruido que pudiera destruir texturas porque simplemente no era necesario. El resultado final es una imagen HDR pero con un acabado natural, lejos de los obtenidos con programas tales como Photomatix o el mismo HDR de PS, y que registra sin ruido todo el rango dinámico de la escena por amplio que éste fuera. Como opinión personal diré que para determinados tipos de fotografía como son la de interiorismo o arquitectura, donde el uso del trípode es una constante obligada, ya no me planteo dejar de realizar un ahorquillado de 3 capturas para aplicar por sistema el método expuesto. La nueva hornada de cámaras digitales ha supuesto una mejora del rango dinámico que podemos aspirar a captar bastante modesta, hasta unos 9 diafragmas utilizables por el fotógrafo que hace que sigan siendo necesarias este tipo de técnicas para solventar situaciones de alto contraste. Para más información sobre el rango dinámico de distintas cámaras consultar Fundamentos de fotografía digital 2. Rango dinámico. PROBLEMAS DE INSTALACIÓNFUNCIONAMIENTO CON WINDOWS VISTAZero Noise es compatible con Windows Vista, pero al hacer uso de DCRAW como motor de revelado necesitará una compilación de éste que funcione correctamente en esta versión de Windows. Para que DCRAW sea compatible con Windows Vista de momento se ha de usar un ejecutable que haya sido generado con un compilador de Microsoft o de lo contrario DCRAW no tendrá permisos por parte del sistema operativo para realizar las reservas de memoria requeridas. He podido probar Zero Noise en Windows Vista Basic y si bien el programa permite abrir y visualizar archivos RAW de la Canon 350D en modo inspección (este revelado se realiza a la mitad del tamaño final), no me ha funcionado cuando se solicita el revelado a tamaño completo por este problema de reserva de memoria. Sí me ha funcionado sin embargo cuando lo he probado en Windows Vista Premium (32 bits). Para el que lo desee probar, puede encontrarse aquí una versión de DCRAW funcional en Windows Vista. Si no funcionara el enlace recomiendo visitar la web y contactar si es preciso a Francisco J. Montilla quien mantiene actualizados ejecutables de DCRAW para todas las plataformas y sistemas operativos. FALTA LA LIBRERÍA MSSTDFMT.DLL En algunas instalaciones de Windows esta librería no existe. Desconozco el motivo, pero para aquellos a los que el programa de error por no tenerla no tienen más que descargarla de MSSTDFMT.DLL. Para instalarla hay que copiarla en la ruta apropiada de las librerías ('C:\Windows\system32\' en mi Windows XP) y registrarla en la consola con el comando 'regsvr32.exe C:\Windows\system32\msstdfmt.dll'. Hecho esto el programa debería funcionar. PROBLEMAS CON ALGUNAS CÁMARAS Cada modelo de cámara tiene un punto de saturación diferente. Como DCRAW no tiene correctamente asignado dicho punto de saturacion del RAW para todas las cámaras, dará problemas en ciertos modelos donde esto ocurra, traduciéndose en imágenes resultantes incorrectas con llamativos saltos de exposición. De momento he detectado el problema para la Canon 30D y la Canon 40D, y la solución ya comentada pasa por indicarle al programa el punto de saturación exacto de nuestra cámara que para estas dos cámaras en concreto se sitúa en los niveles 3398 y 13823 respectivamente. MEJORAS FUTURAS PREVISTASLa presentada es una versión beta del programa. Se ha hablado de algunas mejoras que espero ir implementando tales como:
gluijk@hotmail.com |
|