¿Cómo puedo saber si las imágenes TIF tienen corrección gamma o no?

Tengo varios archivos de imagen DNG, grabados con un LGE Nexus 5X usando Open Camera para Android como aplicación de cámara. Para un mayor procesamiento de imágenes, convertí los archivos DNG a archivos TIF usando Camera Raw 8 y Photoshop CC 2015. Convertí las imágenes sin cambiar ningún ajuste de color o exposición.

Por lo que sé, los archivos DNG deben ser lineales (sin corrección gamma). Mi pregunta es si el archivo TIF convertido sigue siendo lineal o no. ¿Photoshop/Camera Raw realiza corrección gamma para archivos TIF?

Respuestas (4)

Cuando ve la imagen con un visor de imágenes normal, ¿está mayormente oscura? Si no, se ha aplicado una curva gamma. Es decir, ¿se parece a esto?

si no hay gamma

Eso es lo que obtendrá con un volcado puro de valores lineales en un archivo tiff de 16 bits. O, codificado a través de 8 bits, y demostrado, y con el balance de blancos ajustado, algo como esto:

color de 8 bits

Si se ve así o similar, es probable que esté viendo una imagen lineal. Esto normalmente no se considera muy útil, por lo que cuando los archivos RAW se convierten a formatos de imagen utilizados para visualización y distribución, casi siempre se procesan en algo con una curva gamma aplicada para ese propósito.

Convertí las imágenes sin cambiar ningún ajuste de color o exposición.

Es posible que no haya cambiado la configuración predeterminada , pero su software de conversación RAW tiene valores predeterminados que no son "dejar los valores de entrada sin cambios".

Consulte ¿Qué aspecto tiene un archivo RAW sin procesar? para más. Si realmente desea extraer datos sin procesar para realizar su propio procesamiento, consulte el uso de dcraw como se indica allí.

¡Gracias! Para linealizar las imágenes, necesitaría saber el valor de gamma utilizado para la corrección de gamma. ¿Hay alguna manera de averiguarlo?
¿Por qué no usar simplemente dcraw? ¿Por qué quieres imágenes lineales de todos modos?
El problema va más allá de gamma, que es solo un método de codificación/descodificación especificado por etiquetas escritas en el archivo tiff. El problema real es la curva de tono utilizada al convertir de RAW a tiff y eso no está relacionado con la corrección gamma. Peor aún, no está definido, también afecta la cromaticidad del color y no es reversible. Parece que desea obtener lo que se denomina una imagen de "escena referida". Esta es un área algo especializada para aquellos que hacen reproducciones de alta gama.
@doug Sí, lo pasé por alto, pero es absolutamente el caso. En la segunda imagen de arriba, dcrawse aplicó un ajuste de balance de blancos según la lectura de los metadatos producidos por la cámara, junto con una matriz de color específica del modelo de cámara.
@mattdm Quiero convertir las imágenes en un espacio de color CIEL a b*. Por lo que yo sé, por lo tanto, las imágenes deben ser lineales. Tal vez haya una forma de calcular directamente las imágenes L a b* a partir de los datos RAW.
@HansMüller Pero, ¿por qué quieres hacer eso? Eso parece un objetivo intermedio, no un estado final.
Estoy buscando índices que se correlacionen con el "verdor" de las plantas. El parámetro b* del espacio de color CIEL*a*b* podría ser un índice de este tipo.
@HansMüller Podría ser. El espacio de color CIELAB está destinado a corresponder a la percepción humana; si eso es lo que quiere decir con "verdor", esa podría ser una opción apropiada. Sin embargo, a) usar Photoshop y herramientas fotográficas para hacer esto no es la opción correcta; en su lugar, debe mirar dcraw o posiblemente Matlab, Octave o similares, y necesita comprender realmente el formato de archivo RAW y el proceso de conversión normal para poder hacer algo diferente; b) una cámara de consumo puede no ser una buena opción para este requisito; yc) esto no es realmente un problema de fotografía .
Digo "no es realmente un problema de fotografía" porque el objetivo es una medición , no una fotografía, y en realidad las herramientas y los procesos utilizados para producir fotografías se interponen en tu camino y quieres hacer algo diferente.

Gamma no es algo que deba ser "corregido". Es una escala para acomodar imágenes de 8 bits para ajustar los valores representados por esos 8 bits en un rango dinámico más grande. Un archivo RAW contiene los datos del sensor que son puramente lineales (o gamma=1). Si convierte un archivo sin procesar en una imagen de 16x3 bits con gamma configurada en 1.0, tendrá el mismo aspecto en una aplicación de administración de color como Photoshop que al convertirlo al mismo espacio de color con una gamma = 2.2*. Pero si lo convierte a un archivo de imagen de 8 bits, se verá igual en general, pero las partes más oscuras tendrán bandas significativas porque la visión humana es mucho más sensible a los pequeños cambios en niveles de luz bajos que en niveles de luz altos.

Si utiliza imágenes de 16 bits, la gamma no supondrá ninguna diferencia en el aspecto o la impresión pero, por convención, los espacios de color normales tienen gammas que varían de 1,8 (ProPhoto) a 3,0 (RGB escalado en función de L*). Una imagen de 8 bits se verá igual sin importar qué gamma tenga el espacio de color en el que se convierta, ya que la gamma se invertirá cuando se muestre o imprima la imagen.

*Aparte, puede convertir un perfil RGB estándar como ProPhoto RGB en una versión gamma=1 usando Photoshop creando un perfil personalizado y configurando gamma=1. Encuentro útil hacer cosas como cambiar el tamaño de las imágenes en gamma = 1 para reducir los artefactos de aliasing y muaré que pueden ocurrir con gammas estándar.

Gamma es absolutamente algo que debe corregirse, y el nombre correcto del término es "Corrección de gamma". Consulte google.com/search?&q=gamma+correction . "Gamma" es el nombre del problema a corregir. Tendemos a olvidarnos de los monitores CRT hoy en día, pero corregir los monitores CRT es el propósito de agregar la corrección gamma. Nuestros estándares aún lo hacen para evitar la obsolescencia de todas las imágenes antiguas del mundo.
@WayneF El uso de "Corrección" implica que algo que está mal debe corregirse. Esto ciertamente se aplicó en el día de los CRT analógicos ya que, como usted señala, los tubos de rayos catódicos eran intrínsecamente no lineales. Gamma es simplemente una técnica de codificación/descodificación que especifica cómo se codifica/descodifica la luminancia relativa pero no la luminancia. No cambia nada visualmente. Tome una imagen sRGB de 8 bits. Está codificado como un gamma 2.4 modificado. Si cambia el modo en Photoshop de 8 bits a 32 bits, nada cambia visualmente. Pero, ¿cuál es la gamma de la nueva imagen? es 1.0.
Incorrecto. La corrección gamma obviamente y drásticamente cambia los tonos de la imagen, que es el punto completo (para corregir la respuesta CRT no lineal incorrecta que se llama gamma). No hay recorte debido a la corrección gamma, pero el brillo cambia DRÁSTICAMENTE (para corregir la respuesta CRT). Los 8-16-32 bits son un concepto completamente diferente, no relacionado de ninguna manera con la corrección gamma. Los impresores también necesitan una gran cantidad de datos potenciados y saben cómo manejarlos. Debemos darnos cuenta de que nuestros histogramas muestran datos gamma, NO datos lineales. (continúa a continuación debido a la longitud)
Photoshop muestra gamma 1.0 como significado aún SIN CAMBIOS, EN RELACIÓN con lo que fuera el gamma original. Si la gamma original era 2,2 y la ajusta a 1,2 en Photoshop, eso significa que 2,2 x 1,2 = gamma 2,64 son los datos que vería el CRT. Sin embargo, los monitores LED son lineales y simplemente saben decodificar primero la corrección gamma (desechándola, por así decirlo), pero los LED realizan una decodificación 2.2, la expectativa del estándar sRGB. Nuestros ojos solo ven la decodificación lineal, nunca vemos ningún dato gamma. Primero se decodificó inversamente, ya sea por la respuesta CRT o por las tablas de búsqueda de LED.
@WayneF "La corrección gamma obviamente cambia drásticamente los tonos de la imagen" Cambia los valores de la imagen, no los colores/luminancia que representan los valores. Al igual que cambiar 2.3 de precisión simple a doble precisión cambia los bits codificados, pero ambos representan el mismo valor de 2.3 muy cercano, pero no exactamente. Por cierto, el punto flotante tiene la característica, como la codificación gamma, de codificar valores grandes más separados que los valores pequeños. Dado que eso es intrínseco al punto flotante, no es necesario aplicar una gamma adicional.
@WayneF "Debemos darnos cuenta de que nuestros histogramas muestran datos gamma, NO datos lineales" Los histogramas varían. En Photoshop, los histogramas muestran los valores RGB "linealmente". Eso es 127 está en el medio. Esto es cierto sin importar la gamma del espacio de trabajo. Entonces, si convierte una imagen de gamma=2.2 a gamma=1, la imagen no cambiará visualmente pero el histograma se desplazará fuertemente hacia la izquierda.
En los niveles de PS, si cambia gamma, la imagen visual actual ciertamente cambia si tiene Vista previa activada o si presiona Aceptar. También cambia en el histograma, que muestra los únicos datos que tenemos. El material para principiantes solo muestra histogramas lineales (gamma los confundiría), pero el 127 lineal NO está absolutamente en el medio de ningún histograma que veamos. Agregaré una refutación más obvia (como una forma en que puede ver esto) acerca de que los datos del histograma están absolutamente y obviamente codificados con gamma. Los datos codificados con gamma son los únicos datos que tenemos. Y luego espero irme.
Tome una fotografía de algo brillante, ajuste para llegar cerca del histograma 255 (muy cerca, pero NO del todo recortado). Luego también deténgase 1.0 parada para otra imagen. Una parada es el 50% de la luz. Su noción lineal incorrecta esperaría ver ese pico ahora en 127 (50% de los 255 anteriores). PERO NO. Estará cerca de 3/4 de la escala completa. La codificación Gamma 2.2 de 50 % lineal calcula 187 o 73 %, pero la cámara también cambia el balance de blancos y el contraste, etc., por lo que no se puede predecir con exactitud. PERO SEGURO QUE NO ESTÁ CERCA DEL 50% LINEAL COMO TE IMAGINAS. Los datos del histograma están absolutamente codificados con corrección gamma. Es todo lo que hay.
@WayneF Quizás estemos hablando de cosas diferentes. La gamma de un espacio de color es una codificación no lineal, exponencial. Cuando se convierte desde espacios de color con gammas diferentes, no se produce ningún cambio en la apariencia de la imagen si los colores están dentro de la gama del nuevo espacio de color. Una imagen de reducción de una parada cambiará los picos en el lado derecho de un histograma hacia el centro cuando el espacio de color sea gamma=1. Si convierte a espacios de color de gammas diferentes, la ubicación de los picos cambiará pero la luminancia de la imagen no. Pero una imagen más típica, gamma=2.2, se desplazará alrededor de un 30% desde la izquierda.
Gamma sigue siendo exactamente el mismo que se hizo para CRT. No es gamma 1, que en los editores simplemente significa relativo al valor original sin modificar, sea lo que sea (es 2.2 en sRGB). Luego cambiar a 1.2 significa 1.2 x 2.2. Una reducción de una parada NO va al medio, en datos 2.2, 255 cae a aproximadamente 3/4 de escala. No es lineal, pero 3/4 no es un número absoluto porque las cámaras también están ocupadas haciendo otros cambios, como el balance de blancos, el contraste y el perfil de color. La conversión de espacios de color puede tratar de preservar los colores de la imagen, pero simplemente cambiar el gamma cambia absolutamente los tonos, cambios de color llamados brillo.
@Wayne, ¿tiene o sabe cómo obtener un espacio de color RGB ICC en gamma = 1? Son bastante útiles para cambiar el tamaño sin introducir artefactos de mezcla. Si observa una imagen en un espacio de color gamma = 1, cambiará del borde derecho al centro con una disminución de una parada en la exposición. Una forma de probarlo es con dcraw.c, que puede generar imágenes con un espacio de color gamma=1 etiquetado con ICC. Puedes ver esto por ti mismo en Photoshop. Además, dcraw.c tiene opciones para crear imágenes referidas a escenas que son colorimétricamente precisas y no tienen la miscelánea. las cámaras añaden adiciones de curva de tono.
doug tiene razón, @WayneF no está en algunos puntos. En primer lugar, todos los tubos de vacío siguen la ley de Langmuir-Child, pero los medios para linealizar eran ciertamente bien conocidos: fue una elección de diseño de los primeros ingenieros de televisión para adaptarse a la no linealidad de CRT al comienzo de la cadena de transmisión, ya que el sistema gamma se aprovechó. de percepción visual humana no lineal que permitió una reducción de 30dB en el ruido aparente de la imagen. El diseño CRT TIENE mucho que ver con la gamma CRT efectiva, que puede variar de 1,5 a más de 3,5. El diseño de CRT para un objetivo gamma de 2,2 tiene muchas ventajas. (continuado)...
Incluso entonces era completamente posible diseñar un circuito controlador de TV/CRT para respuesta LINEAL , pero la no linealidad de la pantalla CRT era una característica deseada para la reducción de ruido y otras razones, tal como lo es hoy en día para la reducción de profundidad de bits. Incluso si los CRT no tuvieran una respuesta no lineal, se habría utilizado alguna forma de preénfasis similar para la reducción de ruido, como ocurre en muchas otras áreas de procesamiento de señales para transmisión/difusión. Se especificó gamma 2.2 como parte del color NTSC, ya que era necesario definir gamma para una reproducción de color uniforme.
El punto más destacado: Gamma todavía se requiere hoy en día, incluso si tuviéramos pantallas que fueran lineales. Se requiere gamma para hacer el mejor uso del espacio de código disponible. Si las imágenes se codificaran sin gamma, necesitarían al menos 12 bits por color por píxel (36 bits por píxel), pero usando una curva de transferencia que es casi inversa a la percepción humana, como algo entre 1/2 y 1 /2.5, podemos usar solo 8 bits por canal de color (24 bits por píxel). Algunos editores de imágenes como Photoslop pueden hacer muchas cosas en un espacio de trabajo con codificación gamma, pero ciertamente puede usar PS en lineal.
Y AfterEffects hace que sea trivial trabajar en un espacio lineal. Muchas operaciones se realizan mejor en un espacio de trabajo linealizado y no en un espacio de trabajo gamma. Sin embargo, DOUG tiene razón, los datos que se muestran en los histogramas de Adobe son una distribución lineal de valores rgb, independientemente de la codificación de imagen utilizada. La mitad del histograma es 127/128. Esto es académico, y como alguien que trabaja en el espacio lineal todo el tiempo, puedo decirle que los histogramas de Adobe son bastante deficientes para el trabajo lineal en parte por esta razón (otra razón es que los controles, mientras que los lineales, ni siquiera están cerca de la uniformidad perceptual).
Gamma NO está hecho para caber en 8 bits. Gamma se realiza para CORREGIR la respuesta CRT no lineal. Sin CRT ahora, todavía se continúa necesariamente por compatibilidad con los datos de imagen del mundo. El ojo NUNCA NUNCA ve ningún dato gamma, siempre es NECESARIAMENTE decodificado de nuevo a lineal para presentarlo al ojo. La decodificación es propiamente una INVERSIÓN EXACTA de la codificación, que debe coincidir con el CRT, pero no podría importar menos AL OJO qué camino había tomado gamma, porque la idea es que los datos necesariamente se invierten exactamente a lineales para el ojo. Cualquier otra cosa sería distorsión, o al menos modificación.
"Gamma NO está hecho para caber en 8 bits" Desde hace bastante tiempo, esa es la razón principal de> 1 gamma después de que los monitores migraron de interfaces analógicas a digitales. La mayoría de los monitores permiten programar su gamma. Dado que la gran mayoría son de 8 bits, con un número menor que admite 10 bits, una gamma de 1,5 a 3 es esencial para evitar bandas en imágenes de baja luminancia. A veces configuro la gamma de mi monitor en 1.0 para verificar que la ruta de 10 bits/canal funcione, ya que hay varias cosas que pueden hacer que mi configuración vuelva a 8 bits. El controlador, la aplicación y el monitor deben configurarse correctamente.
@WayneF Si bien se equivoca en la discusión de 8 bits, como Myndex discutió con cierta profundidad, tiene razón en que la gran mayoría de las imágenes que se muestran a las personas se verían bastante mal si los monitores no tuvieran un gamma alto. Originalmente, esto era para aproximar la respuesta de CRT. Hoy en día es compatibilidad cuando las personas no usan la gestión del color. Pero también es para evitar bandas con baja luminancia, lo cual es un problema incluso con pantallas de 10 bits de gama alta, aunque funcionan bastante bien con rutas de 10 bits y gamma = 1 para la mayoría de las imágenes porque el ruido de la imagen distorsiona la imagen.

TIF debe tener gamma. Cualquier imagen tonal normal y visible (utilizable) incluye corrección gamma. Tonal incluye color (RGB o indexado) y escala de grises, pero no incluye Line art (dos niveles, los datos son solo 1 o 0).

Las imágenes sin procesar (todavía) no lo hacen, la gamma y el balance de blancos se posponen para su posterior procesamiento en RGB. Su archivo TIF fue procesado posteriormente.

Respuesta corta: si está viendo algo más que una mancha casi negra de la nada, se le ha aplicado la corrección gamma.

Demasiado oscuro, pero no debería ser todo negro. 255 codificaciones lineales a 255 gamma (en esta escala 0..1, 1 para cualquier exponente sigue siendo 1. Un poco inteligente, sin recorte debido a gamma). Ese 255 lineal sin codificar se decodificará de nuevo a 255 cuando se vea (no oscuro). El 70% lineal se decodificaría a 135 en lugar de 179, pero aún por encima del punto medio. El 50% lineal codifica a 187 gamma 2.2, pero el 50% sin codificar decodifica al 22% cuando se ve, o al 55 en histograma. Oscuro, pero no todo negro, salvo los tonos oscuros que sufren mucho. Pero también debería haber tonos más brillantes, solo que no completamente brillantes.
@WayneF "casi" no es igual a "todo".
Tampoco es igual a la mancha negra. :) Usando Photoshop Levels para multiplicar gamma por 0.45 (recíproco de 2.2) para obtener 1.0, que es lineal, se ve como cualquier foto subexpuesta promedio o típica. Más que leve, es oscuro, pero aún se ve muy corregible, muy lejos del negro. Mirando las imágenes de papel tapiz de fondo de Windows hechas de esa manera, es posible que algunas imágenes no tengan negro. Sin embargo, es un punto discutible, es desagradablemente más oscuro, y se espera que nuestras imágenes tengan la corrección gamma codificada en ellas.