darktable page lede image
darktable page lede image

Gestion de la couleur

3.2.10. Gestion de la couleur

darktable utilise un flux de travail géré en mode pleine couleur :

  • Les spécifications de couleur en entrée sont extraites des profils ICC intégrés ou fournis par l'utilisateur ou, alternativement, – dans le cas de fichiers RAW – d'une bibliothèque de matrices de couleurs spécifiques à chaque appareil photo.

  • Pour un rendu fidèle des couleurs à l'écran, darktable lit automatiquement le profil d'affichage de votre écran (s'il est correctement configuré). Les configurations multi-écrans sont prises en charge à condition qu'un service système comme colord soit installé et convenablement configuré pour informer darktable du profil correct du moniteur.

  • Les fichiers de sortie peuvent être encodés dans l'un des profils intégrés à darktable comme sRGB ou Adobe_RGB (compatible), ou dans tout autre espace colorimétrique de sortie fourni à darktable par l'utilisateur sous forme de profil ICC.

3.2.10.1. Profil d'affichage

Pour que darktable rende fidèlement les couleurs à l'écran il faut qu’il puisse trouver le profil d'affichage correct de votre moniteur. En général, cela nécessite que votre moniteur soit correctement calibré et profilé, et que ce profil soit correctement installé sur votre système. darktable interroge le service xatom de votre serveur d’affichage X ainsi que le service système colord (s'il est disponible) pour obtenir le bon profil. Si nécessaire vous pouvez forcer une méthode spécifique dans la boîte de dialogue des préférences de l'interface graphique utilisateur (voyez la Section 8.1, « Options d’interface »).

Pour étudier la configuration de votre profil d'affichage, vous pouvez appeler l'exécutable darktable-cmstest qui affiche des informations utiles comme le nom du profil du moniteur et qui vous indique si le système est correctement configuré.

Dans de rares cas il vous faudra sélectionner manuellement le profil d'affichage. Ceci est possible dans les boîtes de dialogue d'option épreuvage et vérification du gamut de la vue chambre noire (voyez la Section 3.3.9.5, « Épreuvage » et la Section 3.3.9.6, « Vérification du gamut ») et dans la boîte de dialogue profil d'affichage de la vue table lumineuse (voyez Section 2.1, « Présentation générale »).

3.2.10.2. Méthode de rendu

Le paramètre de configuration « toujours utiliser LittleCMS 2 pour le profil couleur de sortie » du menu fonctionnement de darktable (voyez la Section 8.2, « Fonctionnement ») définit la manière dont les couleurs sont rendues.

darktable peut effectuer un rendu des couleurs soit avec son algorithme interne soit en utilisant la bibliothèque externe LittleCMS2. La méthode interne de darktable est plus rapide d'un ordre de grandeur que la méthode externe. L'option externe vous laisse le choix du mode de rendu et peut offrir dans certains cas une précision légèrement plus élevée.

Notez que si le profil ICC donné est basé sur une table de correspondance ou contient à la fois une table de correspondance et une matrice, darktable utilisera LittleCMS pour rendre les couleurs indépendamment de la valeur de ce paramètre de configuration.

3.2.10.3. Mode de rendu

Si le rendu avec LittleCMS2 est activé (voyez la Section 3.2.10.2, « Méthode de rendu ») vous pouvez définir la manière dont sont gérées les couleurs hors gamut lors des conversions entre espaces colorimétriques. Une boîte de sélection dans le panneau exportation (voyez la Section 2.3.12, « Exportation de la sélection »), dans le module profil de couleur de sortie (voyez la Section 3.4.3.3, « Profil de couleur de sortie ») et dans l'option épreuvage vous donne le choix entre les modes de rendu suivants :

perceptuel Adapté aux images car il préserve la position relative des couleurs. C'est habituellement le meilleur choix.
colorométrie relative les couleurs hors gamut sont converties en des couleurs ayant la même clarté mais de saturation différente. Les autres couleurs restent non modifiées.
saturation La saturation est conservée mais la clarté est légèrement modifiée.
colorimétrie absolue Conserve le point blanc.

3.2.10.4. Les espaces colorimétriques de darktable

Les images d'entrée de darktable sont soit des fichiers RGB (comme JPEG ou TIFF), soit des fichiers RAW d'un boîtier – tous les deux représentent les couleurs par une combinaison de rouge, de vert et de bleu. La plupart de nos modules agissent dans l'espace colorimétrique CIELAB (souvent simplement appelé « Lab ») qui décrit la couleur par la combinaison d'une donnée de clarté (L) et d'un point dans le plan de couleur a-b. La sortie finale du pipeline de traitement de l'image est de nouveau en RGB, mis en forme soit pour l'écran du moniteur soit pour le fichier de sortie.

Ce processus implique que le pipeline graphique a deux étapes de conversion : profil de couleur d'entrée et profil de couleur de sortie. Il y a de plus l'étape de dématriçage pour les images RAW durant laquelle les couleurs de chaque pixel sont reconstruites par interpolation.

La position fixe de chaque module dans le pipeline graphique nous indique dans quel espace colorimétrique il se situe :

jusqu’à dématriçage   L’image est au format RAW avec seulement des couleurs latentes. Chaque pixel contient des informations de clarté et de couleur pour uniquement une couleur de base. Veuillez noter que certains des modules de cette partie peuvent aussi agir sur des images d’entrée non-RAW, au format RGB, avec des informations complètes concernant les trois canaux de couleur.
entre dématriçage et profil de couleur d'entrée   L’image est au format RGB dans l’espace colorimétrique de l’appareil photo spécifique ou du fichier d’entrée.
entre profil de couleur d'entrée et profil de couleur de sortie   L’image est au format Lab. C’est un espace colorimétrique universel très étendu qui couvre toutes les couleurs visibles par l’œil humain (et même davantage). Comme darktable traite les images à l’aide de tampons de 4x32 bits en virgule flottante, nous pouvons prendre en charge l’espace colorimétrique Lab sans risque d’effets de bandes ou de ruptures de tons.
après profil de couleur de sortie   L’image est au format RGB défini par l’écran sélectionné ou le profil ICC de sortie.

3.2.10.5. Couleurs non bornées

Théoriquement les composantes individuelles des données de couleur sont confinées entre certaines valeurs minimales et maximales. Par exemple, en RGB, l'intensité d'un canal de couleur rouge, vert ou bleu peut prendre n'importe quelle valeur dans la plage comprise entre 0% et 100% (ou entre 0.0 et 1.0). De même le canal L dans l'espace Lab peut prendre toute valeur entre 0 (noir pur) et 100 (blanc pur).

Dans la pratique, les étapes de traitement de l'image par les modules de darktable peuvent conduire à des valeurs en dehors de ces plages confinées. En fait, même des matrices de couleur bien constituées, qui convertissent de RGB en Lab, peuvent parfois produire des valeurs de L négatives pour certains pixels.

Des pixels avec ce type de valeurs sont dits avoir « des couleurs non bornées ». À chaque étape du processus, on peut resserrer (c'est à dire confiner) ces valeurs dans la plage autorisée. Cependant, on a trouvé éminemment préférable et moins sujet à artefacts de ne pas resserrer ces couleurs non bornées mais de les traiter comme toutes les autres données de couleur.

Dans darktable il n'existe aucune obligation technique de resserrage ; dû au fait que nous utilisons l’arithmétique en virgule flottante pour toutes les étapes du traitement, les valeurs non bornées peuvent être transmises comme toute autre valeur, jusqu'à ce que le module final de conversion de couleur s'assure qu'elles sont transférées dans l'espace colorimétrique de sortie en une couleur la plus raisonnable possible. C'est pourquoi darktable évite le resserrage aussi longtemps que les algorithmes sous-jacents le permettent.

3.2.10.6. Possibles artefacts de couleur

Il y a quelques situations non fréquentes qui, sans l'intervention de l'utilisateur, conduisent encore à des résultats problématiques. Quelques modules travaillant dans l'espace colorimétrique Lab, comme niveaux et monochrome, doivent prendre en compte le fait que le canal L transporte toutes les informations de clarté et que les canaux a et b représentent complètement la chromaticité et la teinte. Les couleurs non bornées ayant une valeur négative de L sont particulièrement problématiques pour ces modules et peuvent conduire à des artefacts du pixel noir.

On a trouvé que les sources de lumière bleue très saturée apparaissant dans le cadre d'une image sont de bonnes candidates à la génération de pixels ayant une valeur négative de L. Si vous êtes engagé dans la photographie de scène, vous devriez porter une attention toute particulière aux zones d'image de cette sorte.

Afin d'atténuer ce problème le module profil de couleur d'entrée (voyez la Section 3.4.3.11, « Profil de couleur d’entrée ») possède une option troncature du gamut. Elle est désactivée par défaut mais peut être activée si vous constatez des artefacts. Selon la configuration les couleurs restent confinées dans l'un des gamuts RGB disponibles. En fait les artefacts du pixel noir sont évités au prix d'une certaine perte de la dynamique de couleur. Voyez la Section 3.4.3.11, « Profil de couleur d’entrée » pour un exemple.