
Las cámaras no aprovechan todo el rango de posibles valores que les brinda su conversor analógico digital. En contra de lo que parecería lógico, ni en todas la oscuridad absoluta se codifica en el nivel 0, ni en todas el punto de saturación se codifica en el nivel máximo (4095 en cámaras de 12 bits, 16383 en cámaras de 14 bits).
No solo eso, sino que además en algunas cada canal satura en un nivel diferente. Y no solo eso, sino que entre distintas unidades de un mismo modelo de cámara, estos puntos de saturación pueden variar.
Esto representa una pequeña pega para los reveladores RAW y establece un compromiso en las altas luces:
- Si el revelador asume un punto de saturación demasiado alto, por encima del real de ese modelo y unidad de cámara, no sabrá reconocer claramente las zonas saturadas de la imagen dando lugar a revelados con casts magenta en altas luces al aplicar el balance de blancos y los sistemas de recuperación de altas luces.
Aquí tenemos un ejemplo, imagen de la 40D revelada con DCRAW y el nivel de saturación por defecto de DCRAW para la 40D:
Como puede verse las saturaciones están totalmente descuajaringadas, no cuadran en los 3 canales, y de ahí el tono no neutro de la zona quemada (es la foto de la 40D que me pasó annamon para el test de rango dinámico). El motivo es que el revelador (DCRAW) consideró que la cámara satura en niveles superiores a los que realmente satura la unidad que generó el RAW con lo que no perdemos información pero aparece ese incorrecto cast magenta.
.- Y si el revelador asume un punto de saturación demasiado bajo, las altas luces serán blancas pero a un usuario con una cámara que llegue a niveles más altos del recorte escogido se le está haciendo innecesariamente perder información pues habrá un recorte (clipping) innecesario de altas luces.
En ACR no he podido revelar esta foto porque tengo una versión antigua de ACR, pero es casi seguro que aparece este casta magenta que puede eliminarse sobreexponiendo un poco más, de modo que perdiendo cierta información logramos que los 3 canales queden alineados en altas luces. Algo parecido me comentó un usuario de Fuji que le salía a veces en las altas luces con el HU y los RAW de su Fuji. Todos esos casts en altas luces se deben a estos efectos de descompensación de canales.
En DCRAW el bueno de Coffin ha introducido una nueva opción que en mi opinión es genial, y es precisamente establecer el nivel de saturación de la cámara lo que permite adecuarnos al hardware concreto que tenemos entre manos para obtener siempre altas luces blancas, pero sin quemar un solo píxel. DCRAW tiene un nivel de saturación por defecto para cada modelo de cámara y es el que aplica si no se le dice nada; Coffin lo ha obtenido de sus pruebas sobre RAWs que le pasan. Pero como decía antes es genérico y puede dar lugar a casts o a perder información si se pasa de largo o de corto respectivamente.
Vamos a calcular el nivel exacto en que satura la 40D de annamon y luego revelaremos la misma imagen aplicándolo de modo que no perderemos información pero tampoco aparecerán los casts.
Para saber el nivel en que satura la 40D de annamon abrimos el archivo de annamon sin revelarlo, RAW puro (-D), y miramos hasta qué nivel llega:
C:\DCRAW\40D>dcraw -D IMG_2190.cr2
Representamos el histograma RAW:
La 40D analizada a ISO100 satura en el nivel 13823, y esto es inamovible para todas sus tomas y no tiene porqué coincidir con la 40D del vecino.
Ahora revelamos de nuevo diciéndole a DCRAW este punto de saturación (antes nos habían salido casts de color porque DCRAW tiene como valor por defecto de saturación para la 40D el nivel 16224, y la unidad de annamon deja vacíos los niveles del 13824 en adelante):
C:\DCRAW\40D>dcraw -v -w -o 1 -q 3 -H 2 -T -4 -S 13823 IMG_2190.cr2
Loading Canon EOS 40D image from IMG_2190.cr2 ...
Scaling with darkness 1023, saturation 13823, and
multipliers 1.000000 0.514573 0.840201 0.514573
...
Ahora como se ve las altas luces son blancas pero la información está intacta. El que no alcance el máximo es porque precisamente se ha utilizado un balance de blancos con multiplicadores <1.0 que garantiza no quemar nada en altas luces a cambio de subexponer los canales. Lo importante es que como DCRAW ahora ya sabía correctamente lo que era una saturación ha hecho que dicha zona aparezca neutra (R=G=B). Esa parte final ya se puede eliminar con una curva o ajuste de niveles sin problema y sin perder información.
La opción -S de DCRAW es de una gran potencia, y permite cosas como ajustar al milímetro los canales en el revelado RAW, optimizando el revelado para nuestra cámara particular. El que quiera saber en qué punto coloca DCRAW el nivel de saturación de su cámara a un ISO determinado no tiene más que revelar cualquier RAW con él y fijarse en la cifra que aparece tras la etiqueta 'saturation'. Para saber el verdadero valor de saturación basta hacer una toma donde garanticemos una zona amplia quemada en los 3 canales y le apliquemos el revelado sin demosaicing que se ha visto (dcraw -D IMG_2190.cr2), calculando el histograma del tiff resultante el punto de saturación se mostrará como un pico en el histograma.
urf, me lo vuelvo a leer un par de veces a ver si pillo algo
Pues ACR usará valors estándar para cada cámara, imagino que tirando a conservadores (es decir que recortarán bastante las altas luces) para no tener problemas de colores magentas y estas cosas. Alguien ha detectado alguna vez colores tipo magenta como los de arriba al revelar sus RAW con zonas quemadas?
Por lo demás ACR no parece permitir cambiar el nivel de saturación de los canales; lo que por otro lado me parece normal porque el público en general se iba a hacer muchos líos con ese parámetro.
Hola Guillermo:
Sigues como siempre, con teorias tan novedosas y diferentes que hacen que sea un seguidor tuyo.
Haber si me pongo al dia con el DCRAW (y le preparamos una interfaz tipo VB)
Un saludo
Canon 40D + Canon 18-55 + Canon 28-135 IS USM + Lowepro Slingshot 200
- PDFs de Fotografía
- Pepe Leon
Marcadores