Espaces colorimétriques de darktable

Les images d’entrée sont soit des fichiers RVB (comme des JPEG ou des TIFF) soit des RAW de l’appareil photo. Les deux stockent des informations visuelles sous la forme d’une combinaison de couleurs primaires (par exemple, rouge, vert et bleu) qui, ensemble, décrivent une émission lumineuse à recréer par un écran.

L’image suivante illustre ce concept.

Décomposition spectrale d’une émission lumineuse en 3 intensités RVB

Le côté gauche de l’image représente une lumière colorée que nous devons représenter numériquement. Nous pouvons utiliser trois filtres idéaux de couleur pour décomposer cette lumière en trois lumières primaires colorées à différentes intensités. Afin de recréer la lumière colorée d’origine à partir de notre décomposition idéale (comme illustré au centre de l’image), nous devons simplement recombiner ces trois lumières primaires par addition.

Il devrait être possible de reproduire la lumière colorée d’origine en prenant un ensemble de lumières blanches aux intensités correctes et en projetant ces lumières à travers des filtres de couleur appropriée. Cette expérience peut être réalisée à la maison en utilisant des gels et des ampoules blanches à intensité variable. C’est à peu près ce que faisaient les anciens écrans CRT couleur et c’est ainsi que les vidéoprojecteurs fonctionnent toujours.

En photographie, l’étape de décomposition initiale est effectuée par le réseau de filtres de couleur qui se trouve au-dessus du capteur de votre appareil photo. Cette décomposition n’est pas idéale, il n’est donc pas possible de recréer avec précision l’émission d’origine avec une simple addition – une mise à l’échelle intermédiaire est nécessaire pour ajuster les trois intensités.

Sur les écrans, les ampoules LED sont atténuées proportionnellement à chaque intensité, et les émissions des trois lumières sont physiquement ajoutées pour reconstituer l’émission d’origine. Les images numériques stockent les intensités de ces lumières primaires sous la forme d’un ensemble de trois nombres pour chaque pixel, représentés à droite de l’image ci-dessus sous forme de nuances de gris.

Alors qu’un ensemble d’intensités d’affichage peut être facilement combiné pour recréer une lumière originale sur un écran (par exemple, si nous avons créé une image de synthèse avec l’ordinateur), l’ensemble des intensités capturées par un capteur nécessite une mise à l’échelle pour que l’addition de ces intensités à l’écran reproduise raisonnablement l’émission lumineuse d’origine. Cela signifie que chaque ensemble d’intensités, exprimé sous la forme d’un ensemble de valeurs RVB, doit être lié à un ensemble de filtres (ou de couleurs primaires de LED) définissant un espace colorimétrique – tout ensemble RVB n’a de sens qu’en référence à un espace colorimétrique.

Nous devons donc adapter les intensités capturées pour les rendre à nouveau sommables. Mais si nous devons aussi recomposer la lumière d’origine sur un écran qui n’a pas les mêmes filtres colorés ou primaires que l’espace auquel notre ensemble de valeurs RVB appartient, alors, ces intensités doivent être mises à l’échelle pour prendre en compte les filtres différents de l’écran. Le mécanisme de cette mise à l’échelle est décrit dans les profils de couleur, généralement stockés dans des fichiers d’extension .icc.


Remarque : La couleur n’est pas une propriété physique de la lumière. Elle n’existe que dans le cerveau humain. Elle résulte de la décomposition d’une émission de lumière par les cônes de la rétine. Le principe de cette décomposition est très similaire à celui du filtrage de l’exemple précédent. Une valeur RVB doit être comprise comme une émission lumineuse codée par trois canaux connectés à trois primaires. Mais les primaires elles-mêmes peuvent être différentes de ce que les humains appellent rouge, vert ou bleu.


Les filtres décrits ici sont des filtres passe-bande qui se chevauchent. Puisqu’ils se chevauchent, additionner leurs valeurs ne préserverait pas l’énergie du spectre d’origine. Donc, pour faire court, nous devons recomposer ces valeurs en prenant en compte la réponse des cônes de la rétine.

La plus grande partie du traitement d’image de darktable a lieu dans un grand espace profil de travail RVB, avec certains modules (pour la plupart anciens) travaillant en interne dans l’espace colorimétrique CIELab 1976 (souvent simplement appelé Lab). La sortie finale du pipeline graphique est à nouveau dans un espace RVB adapté soit à un affichage sur un moniteur soit à un fichier de sortie.

Ce processus implique que le pipeline graphique comporte deux étapes fixes de conversion de couleur : Profil de couleur d’entrée et Profil de couleur de sortie. De plus, il y a l’étape Dématriçage pour les images RAW, où les couleurs de chaque pixel sont reconstruites par interpolation.

Chaque module a une position dans le pipeline graphique qui vous indique dans quel espace colorimétrique le module travaille :

  • jusqu’à Dématriçage : Les informations d’image RAW ne constituent pas encore une image mais simplement des données concernant la lumière capturée par le boîtier. Chaque pixel porte une intensité pour chaque couleur primaire, et les couleurs primaires du boîtier sont très différentes de celles utilisées dans les modèles de vision humaine. Gardez à l’esprit que certains des modules de cette partie du pipeline peuvent également agir sur des images d’entrée non RAW au format RVB (ayant des informations complètes sur les trois canaux de couleur).

  • entre Dématriçage et Profil de couleur d’entrée : L’image est au format RVB dans l’espace colorimétrique du boîtier ou du fichier d’entrée spécifique.

  • between input color profile and output color profile : Image is in the color space defined by the selected working profile (linear Rec. 2020 RGB by default). As darktable processes images in 4x32-bit floating point buffers, we can handle large working color spaces without risking banding or tonal breaks.

  • après Profil de couleur de sortie : L’image est au format RVB tel que défini par l’affichage sélectionné ou le profil ICC de sortie.

translations