espacios de color de darktable

Las imágenes de entrada son archivos RGB (como JPEG o TIFF) o RAW de cámara. Ambos almacenan información visual como una combinación de colores primarios (por ejemplo, rojo, verde y azul) que juntos describen una emisión de luz para ser recreada por una pantalla.

La siguiente imagen ilustra este concepto.

Spectral decomposition of a light emission into 3 RGB intensities

El lado izquierdo de la imagen muestra una luz de color que necesitamos representar digitalmente. Podemos utilizar tres filtros de color ideales para descomponer esta luz en tres luces primarias de colores a diferentes intensidades. Para recrear la luz de color original de nuestra descomposición ideal (como se ilustra en el centro de la imagen) simplemente necesitamos recombinar esas tres luces primarias por adición.

Debería ser posible reproducir la luz de color original tomando un conjunto de luces blancas con las intensidades correctas y proyectando esas luces a través de filtros de colores apropiados. Este experimento se puede realizar en casa utilizando geles y bombillas blancas regulables. Esto es más o menos lo que hacían las antiguas pantallas CRT en color y es la forma en que todavía funcionan los proyectores de vídeo.

En fotografía, el paso de descomposición inicial lo realiza la matriz de filtros de color que se encuentra en la parte superior del sensor de la cámara. Esta descomposición no es ideal, por lo que no es posible recrear con precisión la emisión original con una simple adición; se requiere una escala intermedia para ajustar las tres intensidades.

En las pantallas, las bombillas LED se atenúan proporcionalmente a cada intensidad, y las emisiones de las tres luces se suman físicamente para reconstruir la emisión original. Las imágenes digitales almacenan las intensidades de estas luces primarias como un conjunto de tres números para cada píxel, representados en el lado derecho de la imagen de arriba como tonos de gris.

Si bien un conjunto de intensidades de visualización se puede combinar fácilmente para recrear una luz original en una pantalla (por ejemplo, si creamos una imagen sintética en la computadora), el conjunto de intensidades capturadas de un sensor necesita algo de escalado para que aparezca en la adición de luz en pantalla de modo que reproduzca razonablemente la emisión de luz original. Esto significa que cada conjunto de intensidades, expresado como un conjunto RGB, debe estar vinculado a un conjunto de filtros (o colores LED primarios) que definen un espacio de color – cualquier conjunto de RGB solo tiene sentido con referencia a un espacio de color.

No solo necesitamos reconsiderar las intensidades capturadas para hacerlas sumables nuevamente, sino que si vamos a recomponer la luz original en una pantalla que no tiene los mismos filtros de colores o primarios que el espacio al que pertenece nuestro conjunto RGB, estas intensidades es necesario reescalarlas para tener en cuenta los diferentes filtros en la pantalla. El mecanismo para esta escala se describe en perfiles de color, normalmente almacenados en archivos .icc.


Nota: El color no es una propiedad física de la luz – existe solo en el cerebro humano, como producto de la descomposición de una emisión de luz por las células del cono en la retina, de nuevo muy similar en principio al anterior ejemplo de filtrado. Un valor “RGB” debe entenderse como “emisiones de luz codificadas en 3 canales conectados a 3 primarios”, pero los primarios mismos pueden verse diferentes de lo que los humanos llamarían “rojo”, “verde” o “azul”.


Los filtros descritos aquí son filtros de paso de banda superpuestos. Dado que se superponen, sumarlos nuevamente no preservaría la energía del espectro original, por lo que (para abreviar) debemos reducirlos con respecto a la respuesta del cono de retina

La mayor parte del procesamiento de imágenes real de darktable tiene lugar en un gran espacio de “perfil de trabajo” RGB, con algunos módulos (en su mayoría más antiguos) trabajando internamente en el espacio de color CIELab 1976 (a menudo llamado simplemente “Lab”). La salida final de la tubería de procesamiento de imágenes se encuentra una vez más en un espacio RGB con forma para la pantalla del monitor o el archivo de salida.

Este proceso implica que el pixelpipe tiene dos pasos de conversión de color fijos: _input color profile _ y _output color profile _. Además, existe el paso _demosaic _ para imágenes raw, donde los colores de cada píxel se reconstruyen por interpolación.

Cada módulo tiene una posición en el pixelpipe que le indica en qué espacio de color vive el módulo:

  • hasta interpolación cromática : La información de la imagen sin procesar aún no constituye una “imagen”, sino simplemente “datos” sobre la luz capturada por la cámara. Cada píxel tiene una intensidad única para un color primario, y los primarios de la cámara son muy diferentes de los primarios utilizados en los modelos de visión humana. Tenga en cuenta que algunos de los módulos en esta parte de la tubería también pueden actuar sobre imágenes de entrada “no raw” en formato RGB (con información completa sobre los tres canales de color).

  • entre interpolación cromática y perfil de color de entrada : La imagen está en formato RGB dentro del espacio de color de la cámara o archivo de entrada específico.

  • entre _perfil de color de entrada _ y perfil de color de salida : La imagen está en el espacio de color definido por el perfil de trabajo seleccionado (lineal Rec2020 RGB por defecto). Dado que darktable procesa imágenes en búferes de coma flotante de 4x32 bits, podemos manejar grandes espacios de color de trabajo sin riesgo de bandas o roturas tonales.

  • después de perfil de color de salida : La imagen está en formato RGB según lo definido por la pantalla seleccionada o el perfil ICC de salida.