¿Por qué mis imágenes RAW ya están en color si aún no se ha realizado el debayering?

Recientemente me fui de viaje y tomé un montón de fotos con mis amigas Canon Rebel.

Filmamos en RAW y ahora voy a procesar las imágenes RAW en DarkTable (la primera vez que lo hago).

He leído que lo primero que se debe hacer al procesar imágenes RAW es desbaratarlas.

Lo busqué en Google y leí algunos artículos, y todavía estoy un poco confundido.

Entonces, si se requiere debayering para convertir una imagen en escala de grises en una imagen tricromática... ¿por qué mis imágenes RAW ya están en color? ¿Significa eso que la cámara ya hizo el debayernamiento de la imagen?

Tenga en cuenta que es posible que no necesite pensar mucho en los detalles de debayering/demosaicing, a menos que esté tomando fotos muy nítidas con una lente bastante buena que se verá con ese nivel de detalle. Por ejemplo, generalmente solo cambio del algoritmo PPG rápido predeterminado de darktable a AMaZE cuando trato de exprimir la mayor cantidad de detalles posible de una foto macro que se recortará (¡porque simplemente no pude llenar el marco con ese error de 3 mm! ).

Respuestas (3)

En realidad, esto es realmente simple: Darktable muestra su imagen en color porque muestra la vista previa del archivo RAW para mostrársela, incluida la demostración. (O, según la configuración, es posible que inicialmente le muestre una vista previa de JPEG de baja calidad incrustada en el archivo RAW por la cámara).

Es por eso que encuentro todo el "RAW no es una imagen; ¡es una colección de datos!" algo demasiado pedante. Esto también se aplica a los archivos JPEG: "¡no son imágenes, son colecciones de transformaciones de coseno discretas!" - lo que obviamente también es tonto. La diferencia es que no existe una interpretación "correcta" fija de los datos RAW: hay muchas posibles. Darktable (y cualquier otro software) muestra una interpretación predeterminada cuando carga el archivo.

Ah. Esta es la razón por la que el software de visor predeterminado en Mac parece muy diferente al visor predeterminado (shotwell) en Linux.
@ScottF Sí, absolutamente. Tenemos toda una colección de preguntas aquí que preguntan por qué la salida de algún software RAW no se parece a la de otro software. :)
Creo que la mayoría de los que sostenemos que un archivo sin procesar no es una imagen lo hacemos de la misma manera que decir que un negativo latente no es una imagen: no es una imagen específica, sino un conjunto de datos que es potencialmente muchas imágenes diferentes dependiendo de cómo se desarrollen y procesen los datos. Lo bueno (o tal vez la maldición) de los archivos digitales en bruto es que no es necesario tomar decisiones irreversibles en el proceso.
Agregando a lo que dice Matt, en Lightroom y Capture uno puede alternar entre diferentes renderizados sin procesar, son solo diferentes formas de mostrarle esta colección de datos. Todos estos deberían ser una puesta en marcha de lo que está buscando en su imagen final.

Entonces, si se requiere debayering para convertir una imagen en escala de grises en una imagen tricromática... ¿por qué mis imágenes RAW ya están en color? ¿Significa eso que la cámara ya hizo el debayernamiento de la imagen?

Podría haber sido la cámara. Podría haber sido la aplicación que utilizó para abrir el archivo.

Cuando abre un archivo "sin procesar" en su computadora, ve una de dos cosas diferentes:

  • Una imagen jpeg de vista previa creada por la cámara en el momento en que tomó la foto. La cámara usó la configuración vigente cuando tomó la fotografía y la agregó a los datos sin procesar en el archivo .cr2. Si está mirando la imagen en la parte posterior de la cámara, es la vista previa jpeg lo que está viendo.

  • Una conversión de los datos sin procesar por parte de la aplicación que utilizó para abrir el archivo "sin procesar". Cuando abre un archivo 'sin procesar' de 12 o 14 bits en su aplicación de fotografía en la computadora, lo que ve en la pantalla es una representación de 8 bits del archivo sin formato de demostración, no el archivo monocromático Bayer filtrado real de 14 bits. archivo de bits. A medida que cambia la configuración y los controles deslizantes, los datos 'sin procesar' se reasignan y se procesan nuevamente en 8 bits por canal de color.

Lo que vea dependerá de la configuración que haya seleccionado para la aplicación con la que abre el archivo sin procesar.

Dado que tiene una cámara Canon, le animo a que también pruebe Digital Photo Professional de Canon para editar y convertir archivos sin procesar. Se incluye en el disco de software que viene con cada cámara Canon EOS y las actualizaciones son gratuitas de Canon en la página de soporte para su modelo de cámara en particular. Aquí hay un enlace a la página de soporte de EOS 700D/Rebel T5i . Simplemente haga clic en Software para ver una lista de las versiones más recientes de las aplicaciones disponibles para el modelo de cámara en particular. Puedes buscar otros modelos desde aquí .

El DPP de Canon en realidad lee todos los datos EXIF, incluida la sección de "notas del fabricante" y, de forma predeterminada, utiliza la configuración de la cámara como el perfil inicial al renderizar archivos .cr2 (algo que la mayoría de los convertidores sin procesar no hacen). La representación inicial de los datos sin procesar será muy similar a la apariencia de la vista previa jpeg generada en la cámara usando la misma configuración. Probablemente estarán tan cerca que serán indistinguibles a sus ojos.

Específico de darktable: el primer lote de miniaturas que se muestran son, con la configuración predeterminada, las incrustadas en el archivo RAW, y serán reemplazadas por una versión renderizada en cualquier acción de edición. El módulo de demostración es uno de los pocos que están "siempre encendidos", ya que no hay datos de imagen con los que trabajar de otra manera. Utiliza el método PPG de forma predeterminada, pero actualmente ofrece AMaZE, VNG4 y una opción experimental de escala de grises.
Aparentemente, el formato cr2 no contiene jpeg de vista previa.
@ScottF Cada Canon DSLR que he tenido (6 modelos diferentes) produce vistas previas jpeg y las incluye en los archivos .cr2.
No son fácilmente accesibles sin un software especializado para extraerlos del .cr2, pero están ahí y la mayoría del software de conversión sin procesar puede acceder a ellos y mostrarlos al abrirlos si así lo indica la configuración de pantalla que elija, si selecciona "rápido". sobre "calidad" en la vista previa en miniatura o en los módulos de verificación rápida de DPP de Canon, por ejemplo, verá la vista previa jpeg generada por la cámara.
Debido a que el DPP de Canon en realidad lee todos los datos EXIF, incluida la sección de "notas del fabricante", y de forma predeterminada utiliza la configuración de la cámara como el perfil inicial al renderizar archivos .cr2 (algo que la mayoría de los convertidores sin procesar no hacen), la renderización inicial del raw los datos estarán muy cerca de la apariencia de la vista previa jpeg generada en la cámara usando la misma configuración. Estarán tan cerca que probablemente serán indistinguibles a sus ojos.
Solo basé mi comentario en una oración engañosa que es lo primero que aparece cuando buscas en Google "archivo cr2".
Consulte la sección 2 aquí: lclevy.free.fr/cr2

Un patrón bayer se ve así:

[vista isométrica del patrón bayer]

Cada bloque es un píxel. No todos los píxeles contienen información sobre cada uno de los canales RGB. Debayering es el proceso de interpolar los canales rojo y verde de cada píxel azul, el azul y el rojo de cada verde y el azul y el verde de cada rojo.

Las imágenes en bruto se ven en color en la parte posterior de la pantalla de la cámara, en miniaturas y en el software de edición para mayor comodidad. Por lo general, la gente no quiere mirar fotografías en blanco y negro a cuadros.

Para obtener una imagen sin procesar en un formato viable, se deben realizar los siguientes pasos:

  1. lectura de datos sin procesar. Leer un montón de bytes de datos en la memoria.

  2. conversión de datos. La mayoría de los formatos sin comprimir almacenan la imagen como dos bytes por píxel, independientemente de cuántos bits de precisión utilice realmente la cámara. Una cámara de 10 bits, 12 bits, 14 bits o 16 bits por píxel generalmente producirá archivos sin procesar del mismo tamaño en ausencia de compresión. La conversión es el proceso de normalizarlos todos para que parezcan tener el brillo correcto.

  3. calibración de colores. Aquí es donde se eligen los colores primarios para los canales de color en un diagrama de color CIE y, hasta cierto punto, sus brillos relativos.

  4. balance de blancos Este es el segundo paso para ajustar la intensidad relativa de los canales de color.

  5. demostración

  6. guardar o exportar.

Hay pasos adicionales para el procesamiento científico, pero están fuera del alcance de esta respuesta.

Tu primer párrafo es un poco simplista. La demostración de homogeneidad adaptativa (AHD), que es el método más común utilizado, también afectará los valores azules finales de los píxeles filtrados azules, los valores verdes de los píxeles filtrados verdes y los valores rojos de los píxeles filtrados rojos.
@MichaelClark, los detalles de los algoritmos no son las propiedades del debayering. No es un requisito que un algoritmo altere los valores de píxel "veraces" en absoluto. Simplemente copiar y pegar los valores de los píxeles vecinos es una técnica de debayering válida. Una mala, pero válida.
Tampoco es probable que la forma en que las imágenes en color de los OP que está viendo estén siendo discutidas.
Las respuestas de @MichaelClark deben ser generales. Sostengo que los detalles de un algoritmo no son pertinentes para la explicación del debayering como proceso.
Y en el contexto de la pregunta completa, como se me preguntó, sostengo que la pregunta en realidad no se trata tanto de "¿Qué es lo que está desconcertando?" sino de "¿Por qué mis imágenes en bruto ya están en color?"
@MichaelClark, que todavía no es "cuáles son los detalles de la demostración de AHD".
Esta respuesta es básicamente como las páginas web exactas que ya leí. Voy a cambiar el título de mi pregunta.
Al ser de código abierto, conocemos el algoritmo utilizado: la vista previa se procesa con PPG de forma predeterminada (AMaZE y VNG4 también son opciones).
A pesar de todas las pequeñas "imágenes" lindas de matrices de filtros de color RGB esparcidas por Internet, los colores reales utilizados en la gran mayoría de los CFA no son los mismos tres colores utilizados por los dispositivos de visualización con salida RGB. En particular, el filtro "rojo" en los CFA tiende a tener un centro más amarillo anaranjado a aproximadamente 590-600 nm que "rojo" a 640 nm. "Verde" y "azul" para los CFA también son ligeramente diferentes de G y B en RGB, al igual que las sensibilidades máximas de los tres tipos de conos en las retinas humanas que los CFA están diseñados para emular. ¡Nuestros conos "rojos" son más sensibles a 564nm!