Un module complet de correction de l’espace de couleur, de réglage de la balance des blancs, ainsi qu’un mixeur de canaux.
Ce module simple mais puissant peut être utilisé des manières suivantes :
To adjust the white balance (chromatic adaptation), working in tandem with the white balance module. Here, the white balance module makes some initial adjustments (required for the demosaic module to work effectively), and the color calibration module then calculates a more perceptually-accurate white balance after the input color profile has been applied.
As a simple RGB channel mixer, adjusting the R, G and B output channels based on the R, G and B input channels, to perform cross-talk color-grading.
To adjust the color saturation, brightness and B&W output, based on the relative strength of the R, G and B channels of each pixel.
To produce a grayscale output based on the relative strengths of the R, G and B channels, in a way similar to the response of black and white film to a light spectrum.
To improve the color accuracy of the input color profile using a color checker chart.
Balance des blancs dans l’onglet Transformation d’Adaptation Chromatique (CAT)
L’adaptation chromatique vise à prédire à quoi ressembleraient toutes les surfaces de la scène si elles avaient été éclairées par un autre illuminant. Ce que nous voulons en fait prédire, cependant, c’est à quoi ces surfaces auraient ressemblé si elles avaient été éclairées par le même illuminant que votre moniteur, afin que toutes les couleurs de la scène correspondent au changement d’illuminant. La balance des blancs, quant à elle, vise uniquement à garantir que les blancs et les gris sont vraiment neutres (R = V = B) et ne se soucie pas vraiment du reste de la gamme de couleurs. La balance des blancs n’est donc qu’une adaptation chromatique partielle.
L’adaptation chromatique est contrôlée dans l’onglet Transformation d’adaptation chromatique (CAT) du module calibration des couleurs. Lorsqu’il est utilisé de cette manière, le module balance des blancs est toujours requis car il doit effectuer une opération de balance des blancs de base (connectée aux valeurs de profil de couleur d’entrée). Cette balance des blancs technique (mode « neutre boîtier ») est un réglage constant qui donne un aspect achromatique aux gris éclairés par un illuminant D65 standard, et rend le processus de dématriçage plus précis, mais n’effectue aucune adaptation perceptuelle en fonction de la scène. L’adaptation chromatique proprement dite est alors effectuée par le module calibration des couleurs, en plus des corrections effectuées par les modules balance des blancs et profil de couleur d’entrée. L’utilisation de matrices personnalisées dans le module profil de couleur d’entrée est donc déconseillée. De plus, les coefficients RVB du module balance des blancs doivent être précis pour que ce module fonctionne de manière prévisible.
The color calibration and white balance modules can be automatically applied to perform chromatic adaptation for new edits by setting the chromatic adaptation workflow option ( preferences > processing > auto-apply chromatic adaptation defaults) to “modern”. If you prefer to perform all white balancing within the white balance module, a “legacy” option is also provided. Neither option precludes the use of other modules (such as color balance RGB) for creative color grading further along the pixel pipeline.
Par défaut, le module calibration des couleurs effectue une adaptation chromatique en :
- Reading the RAW file’s Exif data to fetch the scene white balance set by the camera,
- Adjusting this setting using the camera reference white balance from the white balance module,
- Further adjusting this setting with the input color profile in use (standard matrix only).
Par souci de cohérence, les paramètres par défaut du module calibration des couleurs supposent toujours que la matrice standard est utilisée dans le module profil de couleur en entrée – tous les paramètres non standard de ce module sont ignorés. Cependant, le module calibration des couleurs peut lire ses valeurs par défaut dans n’importe quel préréglage appliqué automatiquement dans le module balance des blancs.
It is also worth noting that, unlike the white balance module, color calibration can be used with masks. This means that you can selectively correct different parts of the image to account for differing light sources.
To achieve this, create an instance of the color calibration module to perform global adjustments using a mask to exclude those parts of the image that you wish to handle differently. Then create a second instance of the module reusing the mask from the first instance (inverted) using a raster mask.
Flux de travail de l’onglet CAT
L’illuminant et l’espace colorimétrique par défaut utilisés par l’adaptation chromatique sont initialisés à partir des métadonnées Exif du fichier RAW. Il y a quatre options disponibles dans l’onglet CAT pour définir ces paramètres manuellement :
Use the color picker (to the right of the color patch) to select a neutral color from the image or, if one is unavailable, select the entire image. In this case, the algorithm finds the average color within the chosen area and sets that color as the illuminant. This method relies on the “gray-world” assumption, which predicts that the average color of a natural scene will be neutral. This method will not work for artificial scenes, for example those with painted surfaces.
Select “(AI) detect from edges”, which uses a machine-learning technique to detect the illuminant using the entire image. This algorithm finds the average gradient color over the edges in the image and sets that color as the illuminant. This method relies on the “gray-edge” assumption, which may fail if large chromatic aberrations are present. As with any edge-detection method, it is sensitive to noise and poorly suited to high-ISO images, but it is very well suited for artificial scenes where no neutral colors are available.
Select “(AI) detect from surfaces”, which combines the two previous methods, also using the entire image. This algorithm finds the average color within the image, giving greater weight to areas where sharp details are found and colors are strongly correlated. This makes it more immune to noise than the edge variant and more immune to legitimate non-neutral surfaces than the naïve average, but sharp colored textures (like green grass) are likely to make it fail.
Select “as shot in camera” to restore the camera defaults and re-read the RAW Exif.
La pastille de couleur montre la couleur de l’illuminant actuellement calculé projeté dans l’espace sRGB. Le but de l’algorithme d’adaptation chromatique est de transformer cette couleur en blanc pur, ce qui ne signifie pas forcément déplacer l’image vers sa couleur opposée perceptive. Si l’illuminant est correctement réglé, l’image aura la même teinte que celle indiquée dans la pastille de couleur lorsque le module est désactivé.
À gauche de la pastille de couleur se trouve l’approximation CCT (température de couleur corrélée). Il s’agit de la température la plus proche, en kelvin, de l’illuminant actuellement utilisé. Dans la plupart des logiciels de traitement d’image, il est courant de régler la balance des blancs en utilisant une combinaison de température et de teinte. Cependant, lorsque l’illuminant est éloigné de la lumière du jour, le CCT devient imprécis et non pertinent, et la CIE (Commission internationale de l’éclairage) décourage son utilisation dans de telles conditions. Le texte du CCT vous informe de la correspondance CCT la plus proche trouvée :
- When the CCT is followed by “(daylight)”, this means that the current illuminant is close to an ideal daylight spectrum ± 0.5 %, and the CCT figure is therefore meaningful. In this case, you are advised to use the “D (daylight)” illuminant.
- When the CCT is followed by “(black body)”, this means that the current illuminant is close to an ideal black body (Planckian) spectrum ± 0.5 %, and the CCT figure is therfore meaningful. In this case, you are advised to use the “Planckian (black body)” illuminant.
- When the CCT is followed by “(invalid)”, this means that the CCT figure is meaningless and wrong, because we are too far from either a daylight or a black body light spectrum. In this case, you are advised to use the custom illuminant. The chromatic adaptation will still perform as expected (see the note below), so the “(invalid)” tag only means that the current illuminant color is not accurately tied to the displayed CCT. This tag is nothing to be concerned about – it is merely there to tell you to stay away from the daylight and planckian illuminants because they will not behave as you might expect.
Lorsqu’une des méthodes de détection d’illuminant ci-dessus est utilisée, le module vérifie où se trouve l’illuminant calculé en utilisant les deux spectres idéalisés (lumière du jour et corps noir) et choisit le modèle de spectre le plus précis à utiliser dans son paramètre illuminant. L’interface utilisateur changera en conséquence :
- A temperature slider will be provided if the detected illuminant is close to a D (daylight) or Planckian (black body) spectrum, for which the CCT is meaningful.
- Hue and chroma sliders in CIE 1976 Luv space are offered for the custom illuminant, which allows direct selection of the illuminant color in a perceptual framework without any intermediate assumption.
Remarque : En interne, l’illuminant est représenté par ses coordonnées de chromaticité absolue dans l’espace colorimétrique CIE xyY. Les options de sélection de l’illuminant dans le module ne sont que des interfaces pour configurer cette chromaticité à partir de relations du monde réel et sont destinées à accélérer ce processus. Peu importe pour l’algorithme si le CCT est étiqueté « invalide » – cela signifie simplement que la relation entre le CCT et les coordonnées xyY correspondantes n’est pas physiquement exacte. Quoi qu’il en soit, la couleur définie pour l’illuminant, telle qu’affichée dans la pastille de couleur, sera toujours respectée par l’algorithme.
Lors du passage d’un illuminant à un autre, le module tente de traduire le plus précisément possible les réglages précédents vers le nouvel illuminant. Le passage de n’importe quel illuminant à personnalisé préserve entièrement vos paramètres, puisque l’illuminant personnalisé est un cas général. Le basculement entre d’autres modes, ou de personnalisé à tout autre mode, ne conservera pas précisément vos paramètres du mode précédent en raison d’erreurs d’arrondi.
D’autres illuminants codés en dur sont disponibles (voir ci-dessous). Leurs valeurs proviennent des illuminants standards CIE et sont absolues. Vous pouvez les utiliser directement si vous savez exactement quel type d’ampoule a été utilisé pour éclairer la scène et si vous faites confiance au profil d’entrée de votre boîtier et à la précision des coefficients de référence D65. Sinon, voir les mises en garde ci-dessous.
Contrôles de l’onglet CAT
- adaptation
- L’espace colorimétrique de travail dans lequel le module effectuera sa transformation d’adaptation chromatique et son mixage de canal. Les options suivantes sont fournies :
- Bradford linéaire (1985): Ceci est précis pour les illuminants proches de la lumière du jour et est compatible avec la norme standard ICC v4, mais produit des couleurs hors gamut pour les illuminants plus difficiles.
- CAT16 (2016): Il s’agit de l’option par défaut. Elle est plus robuste pour éviter les couleurs imaginaires tout en travaillant avec un large gamut ou du cyan et du violet saturés. Elle est plus précise que le CAT Bradform dans la plupart des cas.
- Bradford non-linéaire (1985): Cela peut parfois produire de meilleurs résultats que la version linéaire mais n’est pas fiable.
- XYZ: Il s’agit de la méthode la moins précise et n’est généralement pas recommandée, sauf à des fins de test et de débogage.
- aucun (contourné): Désactive toute adaptation et utiliser l’espace de travail RVB du pipeline graphique.
- illuminant
- Le type d’illuminant supposé avoir éclairé la scène. Choisissez parmi les éléments suivants :
- identique à la chaîne de traitement (D50) : n’effectue pas d’adaptation chromatique dans cette instance de module, mais effectue simplement le mixage des canaux, en utilisant l’espace colorimétrique adaptation sélectionné.
- illuminant standard CIE : Choisissez parmi l’un des illuminants standard CIE (lumière du jour, incandescent, fluorescent, équi-énergie ou corps noir), ou un illuminant « lumière LED » non standard. Ces valeurs sont toutes pré-calculées - tant que le capteur de votre appareil photo est correctement profilé, vous pouvez simplement les utiliser telles quelles. Pour les illuminants proches du locus planckien, un contrôle supplémentaire de « température » est également fourni (voir ci-dessous).
- personnalisé : Si un patch gris neutre est disponible dans l’image, la couleur de l’illuminant peut être sélectionnée à l’aide de la pipette de couleur, ou peut être spécifiée manuellement à l’aide des curseurs de teinte et de saturation (dans l’espace colorimétrique perceptuel LCh). L’échantillon de couleur à côté de la pipette de couleur montre la couleur de l’illuminant calculé utilisé dans la compensation CAT. La pipette de couleur peut également être utilisé pour restreindre la zone utilisée pour la détection de l’IA (ci-dessous).
- (AI) détecter depuis les surfaces de l’image: Cet algorithme obtient la couleur moyenne des zones de l’image qui ont une covariance élevée entre les canaux de chroma dans l’espace YUV et une variance intra-canal élevée. En d’autres termes, il recherche les parties de l’image qui semblent être grises sans considérer les surfaces colorées plates qui peuvent être réellement teintées. Il ignore également le bruit de chroma ainsi que les aberrations chromatiques.
- (AI) détecter depuis les bords de l’image : contrairement à l’équilibrage des blancs automatique du module balance des blancs qui repose sur l’hypothèse du « monde gris », cette méthode détecte automatiquement un illuminant approprié en utilisant l’hypothèse du « bord gris », en calculant le Minkowski p-norm (p = 8) du laplacien et en essayant de le minimiser. C’est-à-dire qu’il suppose que les bords doivent avoir le même dégradé sur tous les canaux (bords gris). Elle est plus sensible au bruit que la précédente méthode de détection basée sur la surface.
- tel que pris par le boîtier : calcule l’illuminant en fonction des paramètres de balance des blancs fournis par l’appareil photo.
- température
- Ajuste la température de couleur de l’illuminant. Déplacez le curseur vers la droite pour adopter un illuminant plus bleu, ce qui donnera à l’image une apparence plus chaude/plus rouge. Déplacez le curseur vers la gauche pour adopter un illuminant plus rouge, ce qui rend l’image plus froide/plus bleue après compensation.
Ce contrôle n’est disponible que pour les illuminants qui se trouvent près du locus de Planck et fournit un réglage fin le long de ce locus. Pour les autres illuminants, le concept de « température de couleur » n’a pas de sens, donc aucun curseur de température n’est fourni.
- teinte
- Pour une balance des blancs personnalisée, définissez la teinte de la couleur de l’illuminant dans l’espace colorimétrique LCh (dérivée de l’espace CIE Luv).
- chroma
- Pour une balance des blancs personnalisée, définissez la chroma (ou la saturation) de la couleur de l’illuminant dans l’espace colorimétrique LCh (dérivé de l’espace CIE Luv).
- compression gamut
- La plupart des capteurs de caméra sont légèrement sensibles aux longueurs d’onde UV invisibles, qui sont enregistrées sur le canal bleu et produisent des couleurs « imaginaires ». Une fois corrigées par le profil de couleur d’entrée, ces couleurs finiront par sortir du gamut (c’est-à-dire qu’il ne sera peut-être plus possible de représenter certaines couleurs comme un triplet [R, V, B] valide avec des valeurs positives dans l’espace colorimétrique de travail) et produire des artefacts visuels dans les dégradés. L’adaptation chromatique peut également repousser d’autres couleurs valides hors du gamut tout en repoussant encore plus loin les couleurs déjà hors du gamut.
- La compression gamut utilise une méthode perceptive, non destructive, pour tenter de compresser la chroma en préservant la luminance inchangée et en conservant la teinte aussi proche que possible. L’objectif de cette méthode est d’adapter l’image entière au gamut de l’espace colorimétrique de travail. Cette fonctionnalité est par exemple très utile pour les scènes contenant des lumières LED bleues, qui sont souvent assez problématiques et peuvent entraîner un affreux écrêtage du gamut dans l’image finale.
- écrêter les valeurs RVB négatives du gamut
- Supprime toutes les valeurs RVB négatives (les met à zéro). Cela permet de gérer un mauvais niveau de noir ainsi que les problèmes d’écrêtage du canal bleu qui peuvent survenir avec les lumières LED bleues. Cette option est destructrice pour la couleur (elle peut changer la teinte) mais garantit une sortie RVB valide quoi qu’il arrive. Il ne doit jamais être désactivé à moins que vous ne vouliez vous occuper du mappage du gamut manuellement et compreniez ce que vous faites. Dans ce cas, utilisez la correction du niveau de noir dans le module exposition pour vous débarrasser de toute valeur RVB négative (RVB signifie lumière, qui est de l’énergie, et qui devrait toujours être une quantité positive), puis augmentez la compression gamut jusqu’à ce qu’il ne reste plus de taches noires unies dans l’image. Un débruitage approprié peut également aider à éliminer les valeurs RVB incorrectes. A noter que cette approche peut encore être insuffisante pour récupérer quelques bleus profonds et lumineux.
Remarque 1 : il a été signalé que certains pilotes OpenCL ne fonctionnent pas correctement lorsque des valeurs RVB négatives sont présentes dans le pipeline de pixels, car de nombreux opérateurs de pixels utilisent des logarithmes et des fonctions de puissance (filmique, balance des couleurs, toutes les conversions d’espace colorimétrique CIE Lab < -> CIE XYZ), qui ne sont pas définies pour les nombres négatifs. Bien que les entrées soient nettoyées avant les opérations sensibles, cela ne suffit pas pour certains pilotes OpenCL, qui produisent des valeurs isolées NaN (pas un nombre). Ces valeurs NaN peuvent ensuite être diffusées par des filtres locaux (opérations de flou et de netteté, telles que netteté, contraste local, égaliseur de contraste, passe-bas, passe-haut, flou de surface et reconstruction des hautes lumières de filmique), résultant en de grands carrés noirs, gris ou blancs.
Dans tous ces cas, vous devez activer l’option « écrêter les valeurs RVB négatives du gamut » dans le module calibration des couleurs.
Remarque 2 : Un cas courant d’échec des algorithmes de couleur dans le module calibration des couleurs (en particulier la compression du gamut) concerne les pixels qui ont une valeur de luminance de 0 (canal Y de l’espace CIE 1931 XYZ), mais une chromaticité non nulle (canaux X et Z de l’espace CIE 1931 XYZ). Ce cas est une bizarrerie numérique qui ne correspond à aucune réalité physique (un pixel sans luminance ne devrait pas avoir de chromaticité non plus), produira une division par zéro dans les espaces colorimétriques xyY et Yuv, et créera en conséquence des valeurs RVB NaN. Ce problème n’est pas corrigé dans calibration des couleurs car il s’agit du symptôme d’un mauvais profilage d’entrée et/ou d’un mauvais niveau de point noir, et doit être résolu manuellement soit en ajustant le profil de couleur d’entrée avec le mélangeur de canaux ou dans la correction du niveau de noir du module exposition.
Channel mixing
Le reste de ce module est un mélangeur de canaux standard, vous permettant d’ajuster les sorties R, V, B, la couleur, la luminosité et le gris du module en fonction des valeurs relatives des canaux d’entrée R, V et B.
The Mixer tab now offers several modes, but these are only different GUI representations of the same backend reality. Internally, the processing still uses the same mixer coefficients in the selected adaptation space. Switching between Complete, Simple and Primaries does not select a different algorithm and does not change the backend by itself. It only changes how the same underlying matrix is exposed in the GUI.
Le mixage des canaux est effectué dans l’espace colorimétrique défini par le contrôle adaptation de l’onglet CAT. À toutes fins pratiques, ces espaces CAT sont des espaces RVB particuliers liés à la physiologie humaine et proportionnels aux émissions de lumière dans la scène, mais ils se comportent toujours de la même manière que tout autre espace RVB. L’utilisation de l’un des espaces CAT peut faciliter le processus de réglage du mixeur de canaux, en raison de leur connexion avec la physiologie humaine, mais il est également possible de mixer les canaux dans l’espace de travail RVB du pipeline en réglant adaptation sur « aucun (contourner) ». Pour effectuer un mixage de canaux dans l’un des espaces colorimétriques adaptation sans adaptation chromatique, réglez illuminant sur « identique à la chaîne de traitement (D50) ».
Remarque : Les couleurs réelles des couleurs primaires CAT ou RVB utilisées pour le mixage de canaux, projetées sur l’espace d’affichage sRVB, sont peintes à l’arrière-plan des curseurs RVB, afin que vous puissiez avoir une idée du décalage de couleur qui résultera de la modification de vos paramètres.
Channel mixing is a process that defines a boosting/muting factor for each channel as a ratio of all the original channels. Instead of entering a single flat correction that ties the output value of a channel to its input value (for example, (R_{\mathrm{out}} = R_{\mathrm{in}} \times \mathrm{correction})), the correction to each channel is dependent on the input of all of the channels for each pixel (for example, (R_{\mathrm{out}} = R_{\mathrm{in}} \times R_{\mathrm{correction}} + G_{\mathrm{in}} \times G_{\mathrm{correction}} + B_{\mathrm{in}} \times B_{\mathrm{correction}})). Thus a pixel’s channels contribute to each other (a process known as “cross-talk”) which is equivalent to rotating the primary colors of the color space in 3D. This is, in effect, digital simulation of physical color filters.
Bien que la rotation des couleurs primaires en 3D équivaille finalement à appliquer une rotation générale de teinte, la connexion entre les corrections RVB et la rotation de teinte perceptive qui en résulte n’est pas directement prévisible, ce qui rend le processus non intuitif. « R », « V » et « B » doivent être considérés comme trois lumières que nous composons, et non comme un ensemble de couleurs ou de teintes. De plus, puisque la trichromie RVB ne découple pas la luminance et la chromaticité mais est une configuration d’éclairage additive, le canal « V » étant plus fortement lié à la perception de la luminance humaine que les canaux « R » et « B » ; tous les pixels ont un canal « V » différent de zéro, ce qui implique que toute correction du canal « V » affectera probablement tous les pixels.
Le processus de mixage des canaux est donc lié à une interprétation physique du tristimulus RVB (en tant que lumières additives) qui le rend bien adapté à la calibration des couleurs primaires et aux corrections d’illuminant. De plus il fusionne les changements de couleur sans cassure. Cependant, essayer de le comprendre et de le prédire d’un point de vue perceptif (luminance, teinte et saturation) va échouer et est découragé.
Remarque : Les labels « R », « V » et « B » des canaux des espaces colorimétriques de ce module ne sont que des conventions formées par habitude. Ces canaux ne sont pas nécessairement « rouge », « vert » et « bleu », et il est déconseillé d’essayer de leur donner un sens en se basant sur leurs noms. Il s’agit d’un principe général qui s’applique à tout espace RVB utilisé dans n’importe quelle application.
Mixer modes
All mixer modes describe the same backend 3×3 transform for the RGB output channels. They differ only by the parameterization used in the GUI and by the mathematical constraints required for that parameterization to exist.
Simple mode
Simple is an exact geometric representation of a restricted subset of mixer matrices. It has 6 degrees of freedom:
- global hue rotation
- A rigid rotation of the normalized chroma plane. This is a robust and global hue change.
- chroma (u,v) axes orientation
- The orientation of the principal axes used to express the chroma transform. This parameter lets you align your UV space on the color primaries you want. It has no effect on the image by itself, it only builds the UV space for the next settings.
- u stretch and v stretch
- The two signed gains along those principal chroma axes. The neutral value is 1. At 0, it will turn the image achromatic, no matter the axes orientation. Above 1, it will increase the color contrast in the selected axis. Below 0, it will invert colors along the selected axis. Below 1.5, it will increase the color contrast on inverted colors.
- achromatic coupling amount and achromatic coupling hue
- The magnitude and direction of the chroma vector that is coupled into the achromatic axis, expressed in a fixed chroma basis. When increasing amount, the selected hue will be bleached to achromatic (both desaturated and brightened), while its opponent color is saturated and darkened, but in a way that preserves the achromatic axis. All other colors will be more or less saturated/desaturated, depending on their hue angular distance with the coupling hue.
This representation is only valid when the 3 output rows are normalized and their sums are non-zero. In practice, Simple is available only if the 3 normalize channels checkboxes of the RGB mixer rows are enabled and the row sums are not zero. If these requirements are not met, Ansel cannot express the current matrix in this coordinate system and the GUI falls back to Complete.
(U,V) stretches can be understood as color contrast along the axis.
A typical use for this would be correcting blue stage lights when the escape gamut and turn magenta : the right angle should be around 0° to put the damaging blue shade on the V axis. Then reduce the v stretch until that blue is not so overwhelming, and adjust u stretch to taste to get a proper color balance.
The achromatic coupling allows to gracefully remap a selected hue to achromatic, while reinforcing the colorfulness of its complementary color. In the case of the stage blue stage lights, after the previous (u, v) stretch, you would choose the right blue tint and increase the coupling amount until blue becomes acceptably desaturated.
Primaries mode
Primaries is another exact GUI representation, this time expressed as a generalized primaries model in the current mixer basis. It has 9 degrees of freedom:
- 2 for the achromatic axis: white hue and white purity,
- 2 for each basis vector: red, green and blue hue/purity pairs, for a total of 6,
- 1 gain correction, that accounts for global normalization.
This mode is exact only for matrices that can be interpreted as a non-degenerate affine basis change in the current adaptation space. In practice, the current 3×3 matrix must be non-singular and the 3 basis vectors plus the white vector must all have non-zero sums. If these requirements are not met, Ansel cannot rebuild the current matrix as primaries parameters and the GUI falls back to Complete.
Complete mode
At its most basic level, you can think of the Complete mode of the color calibration module as a type of matrix multiplication between a 3x3 matrix and the input RGB vector. This is in fact very similar to what a matrix-based ICC color profile does, except that the user can input the matrix coefficients via the Ansel GUI rather than reading the coefficients from an ICC profile file.
$$ \begin{pmatrix} R_{\mathrm{out}} \\ G_{\mathrm{out}} \\ B_{\mathrm{out}} \end{pmatrix} = \begin{pmatrix} R_r & R_g & R_b \\ G_r & G_g & G_b \\ B_r & B_g & B_b \end{pmatrix} \begin{pmatrix} R_{\mathrm{in}} \\ G_{\mathrm{in}} \\ B_{\mathrm{in}} \end{pmatrix} $$
This mode therefore has 9 degrees of freedom: every output row has 3 coefficients mixing the 3 input channels. It is the most general representation and is always available. Whenever another mode cannot represent the current matrix exactly, the GUI falls back to Complete.
Si, par exemple, une matrice vous a été fournie pour passer d’un espace colorimétrique à un autre, vous pouvez entrer les coefficients de la matrice dans le mixeur de canaux comme suit :
- In the Mixer tab, select Complete mode
- In the output red section, set the Rr, Rg and Rb values using the R, G and B input sliders
- In the output green section, set the Gr, Gg and Gb values using the R, G and B input sliders
- In the output blue section, set the Br, Bg and Bb values using the R, G and B input sliders
By default, the mixing function in color calibration just copies the input RGB channels straight over to the matching output channels. This is equivalent to multiplying by the identity matrix:
$$ \begin{pmatrix} R_{\mathrm{out}} \\ G_{\mathrm{out}} \\ B_{\mathrm{out}} \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} R_{\mathrm{in}} \\ G_{\mathrm{in}} \\ B_{\mathrm{in}} \end{pmatrix} $$
For a more intuitive understanding of how the mixing sliders in the output red, output green and output blue sections behave, consider the following:
- For the R destination channel, adjusting sliders to the right will make the R, G or B areas of the image more “red”. Moving the slider to the left will make those areas more “cyan”.
- For the G destination channel, adjusting sliders to the right will make the R, G or B areas of the image more “green”. Moving the slider to the left will make those areas more “magenta”.
- For the B destination channel, adjusting sliders to the right will make the R, G or B areas of the image more “blue”. Moving the slider to the left will make those areas more “yellow”.
Complete mode controls
The following controls are shown for each of the output red, output green and output blue sections:
- entrée R/V/B
- Choisissez dans quelle mesure les canaux d’entrée R, V et B influencent le canal de sortie relatif à l’onglet concerné.
- normaliser les canaux
- Cochez cette case pour normaliser les coefficients afin d’essayer de préserver la luminosité globale de ce canal dans l’image finale par rapport à l’image d’entrée.
Outputs tab
The Outputs tab groups the previous colorfulness, brightness and B&W controls into a single page with section labels. These controls are independent from the Mixer tab modes above, but they follow the same overall idea: they use the relative strengths of the R, G and B input channels to build output quantities.
La luminosité et la saturation (saturation des couleurs) des pixels d’une image peuvent également être ajustées en fonction des canaux d’entrée R, V et B. L’algorithme de base utilisé est le même que celui qu’utilise le module filmique rvb pour le mappage des tonalités (qui préserve les ratios RVB) et pour la saturation des tons moyens (qu’il manipule).
- algorithme de saturation
- Ce contrôle vous permet de mettre à niveau l’algorithme de saturation vers la nouvelle version 2021, pour les développements effectués avant darktable 3.6 – il n’apparaîtra pas pour les développements qui utilisent déjà la dernière version.
Colorfulness section controls
- entrée R/V/B
- Ajuste la saturation des couleurs en fonction des canaux R, V et B de ces couleurs. Par exemple, le réglage du curseur rouge (entrée) affectera la saturation des couleurs contenant beaucoup de canal R bien plus que celle des couleurs contenant seulement une petite quantité de canal « R ».
- normaliser les canaux
- Cochez cette case pour essayer de maintenir constante la saturation globale entre les images d’entrée et de sortie.
Brightness section controls
- entrée R/V/B
- Ajuste la luminosité de certaines couleurs de l’image, en fonction des canaux R, V et B de ces couleurs. Par exemple, le réglage du curseur rouge (entrée) affectera la luminosité des couleurs contenant beaucoup de canal R bien plus que celle des couleurs contenant seulement une petite quantité de canal R. Lors de l’assombrissement/éclaircissement d’un pixel, le rapport des canaux R, V et B pour ce pixel est conservé, afin de préserver la teinte.
- normaliser les canaux
- Cochez cette case pour essayer de maintenir la luminosité globale constante entre les images d’entrée et de sortie.
B&W section
Another very useful application of color calibration is the ability to mix the channels together to produce a grayscale output – a monochrome image. In the Outputs tab, use the B&W section and set the R, G and B sliders to control how much each channel contributes to the brightness of the output. This is equivalent to the following matrix multiplication:
$$ \mathrm{GRAY}_{\mathrm{out}} = \begin{pmatrix} r & g & b \end{pmatrix} \begin{pmatrix} R_{\mathrm{in}} \\ G_{\mathrm{in}} \\ B_{\mathrm{in}} \end{pmatrix} $$
Lorsqu’il s’agit des tons chair, les poids relatifs des trois canaux affecteront le niveau de détail de l’image. Mettre plus de poids sur R (par exemple [0,9, 0,3, -0,3]) donnera des tons de peau lisses, tandis que l’accentuation de V (par exemple [0,4, 0,75, -0,15]) fera ressortir plus de détails. Dans les deux cas, le canal B est réduit pour éviter d’accentuer le grain de peau indésirable.
B&W section controls
- entrée R/V/B
- Choisissez dans quelle mesure chacun des canaux R, V et B contribue au niveau de gris de la sortie. L’image ne sera convertie en monochrome que si les trois curseurs totalisent une valeur non nulle. Ajouter plus de B aura tendance à faire ressortir plus de détails, ajouter plus de R aura tendance à lisser les tons chair.
- normaliser les canaux
- Cochez cette case pour essayer de maintenir la luminosité globale constante au fur et à mesure que les curseurs sont ajustés.
Spot color mapping
The spot mapping feature is designed to help with batch-editing a series of images in an efficient way. In this scenario, you typically develop a single reference image for the whole batch and then copy&paste the development stack to all of the other images in the batch.
Malheureusement, la température de couleur de la lumière change souvent légèrement entre les prises de vue, même au sein d’une même série capturée dans les mêmes conditions. Cela peut être le résultat en lumière naturelle d’un nuage passant devant le soleil, ou en lumière artificielle d’un rapport différent entre la lumière indirecte colorée et la lumière principale. Chaque image aura encore besoin d’un réglage individuel si vous voulez un look parfaitement uniforme sur toute la série, et cela peut être à la fois long et frustrant.
Spot color mapping allows you to define a target chromaticity (hue and chroma) for a particular region of the image (the control sample), which you then match against the same target chromaticity in other images. The control sample can either be a critical part of your subject that needs to have constant color, or a non-moving and consistently-lit surface over your series of images.
The mapping process consists of two steps.
Step 1: set the target
Il existe deux manières de définir la chromaticité cible pour votre échantillon de contrôle :
- If you know or expect an arbitrary color for the control sample (for example, a gray card, a color chart, a product or a logo of a specified color), you can set its L, h and c values directly, in Lch derived from CIE Lab 1976 space,
- If you simply want to match the development of your reference image, set the spot mode to measure, then enable the color picker (to the right of the color patch) and draw a rectangle over your control sample. The input column will then be updated with the L, h, c values of the control sample before the color correction, and the target column will show the resulting L, h, c values of the control sample after the current calibration setting is applied.
If you reset the L, h, c values, the default value is a neutral color at 50% lightness (middle-gray) – this can be useful to quickly set the average white balance of any image. If you want to match the control sample against neutral gray, you only need to reset the chroma slider because the lightness and hue settings have no effect on chromaticity for neutral grays.
Notez que la valeur cible n’est pas réinitialisée lorsque vous réinitialisez le module lui-même, mais est stockée indéfiniment dans la configuration de Ansel et sera disponible au prochain lancement ainsi que pour la prochaine image que vous développerez.
The take channel mixing into account option lets you choose where the target is sampled. If disabled, the target color is measured immediately after the CAT (Chromatic Adaptation Transform) step, which takes place before any channel mixing. This means that if you have a calibrated profile in effect within the channel mixer, this profile will be discarded. If enabled, the target color is measured after the CAT and the channel mixing steps, including any calibrated profile. This is the recommended option for most use cases.
Note: If you are defining your target from a gray patch, you should know that the gray patch on color checkers is never entirely neutral. For example, Datacolor Spyder has a slightly warm gray (hue = 20°, chroma = 1.2) while X-Rite pre-2014 has a colder but more neutral gray (hue = 240°, chroma = 0.3) and X-Rite post-2014 is almost perfectly neutral (hue = 133°, chroma = 0.2). In general, it is not desirable to match the control sample against a perfectly neutral gray target, and it is actually wrong to do so when using gray cards and color checkers as a control sample.
Step 2 : match the target
When you open a new image, the spot mode is automatically reset to correction. Using the color picker attached to the color patch, you can then directly reselect your control sample in the new image. The proper illuminant settings required for the control sample to match the memorized target chromaticity will be automatically computed, and the setting will be updated in the same operation.
The take channel mixing into account option will need to be set the same as when the measurement of the target was performed to ensure consistent results. Note that the target matching only defines the illuminant settings used in the Chromatic Adaptation Transform – it does not alter the channel mixer settings, since the calibration is handled in the color checker calibration tool. However, the channel mixer settings can be used or discarded in the computation of the illuminant settings, depending on this option.
Cette opération peut être répétée autant de fois que vous avez d’images dans votre série sans autre travail.
Note: Perfectly matching your control sample against the target chromaticity may still not yield a similar perceptual result, even if the numbers are exactly the same. The ratio of lightness between the control sample and its surrounding, as well as the color contrasts at play in the frame, will alter the perception of colors in ways that are very difficult to model. To build an intuition of this problem, see the gray strawberries illusion .
Extracting settings using a color checker
Étant donné que le mixeur de canaux est essentiellement une matrice RVB (similaire au profil de couleur d’entrée utilisé pour les images RAW), il peut être utilisé pour améliorer la précision des couleurs du profil de couleur d’entrée en calculant les paramètres ad hoc de calibration des couleurs.
These computed settings aim to minimize the color difference between the scene reference and the camera recording in a given lighting situation. This is equivalent to creating a generic ICC color profile but here, the profile is instead stored as module settings that can be saved as presets or styles, to be shared and reused between images. Such profiles are meant to complement and refine the generic input profile but do not replace it.
Cette fonctionnalité peut vous aider à :
- Handling difficult illuminants, such as low CRI light bulbs, for which a mere white balancing will never suffice,
- Digitizing artworks or commercial products where an accurate rendition of the original colors is required,
- Neutralizing a number of different cameras to the same ground-truth, in multi-camera photo sessions, in order to obtain a consistent base look and share the color editing settings with a consistent final look,
- Obtaining a sane color pipeline from the start, nailing white balance and removing any bounced-light color cast at once, with minimal effort and time.
Supported color checker targets
Les utilisateurs ne sont pas actuellement autorisés à utiliser des cibles personnalisées, mais un nombre limité de chartes couleur vérifiées (de fabricants réputés) sont supportées :
- X-Rite / Gretag MacBeth Color Checker 24 (pre- and post-2014),
- Datacolor SpyderCheckr 24 (pre- and post-2018),
- Datacolor SpyderCheckr 48 (pre- and post-2018).
Les utilisateurs ne sont pas encouragés à acheter des chartes de couleurs bon marché, sans marque, car la constance des couleurs ne peut pas être assurée à de tels prix. Des chartes de couleurs imprécises ne permettront pas d’atteindre l’objectif de calibration des couleurs et aggraveront peut-être les choses.
Les chartes IT7 et IT8 ne sont pas prises en charge car elles ne sont guère portables et ne sont pas pratiques pour une utilisation sur place pour les profils ad hoc. Ces chartes conviennent mieux à la création de profils de couleurs génériques, réalisés à l’aide d’un illuminant standard, par exemple avec Argyll CMS .
Note: X-Rite changed the formula of their pigments in 2014 and Datacolor in 2018, which slightly altered the color of the patches. Both formulas are supported in Ansel, but you should be careful to choose the correct reference for your target. If in doubt, try both and choose the one that yields the lowest average delta E after calibration.
Prerequisites
Pour utiliser cette fonctionnalité, vous devrez prendre une photo test d’une charte de couleurs prise en charge, sur place, dans des conditions d’éclairage appropriées :
- Frame the chart in the center 50% of the camera’s field, to ensure that the image is free of vignetting,
- Ensure that the main light source is far enough from the chart to give an even lighting field over the surface of the chart,
- Adjust the angle between the light, chart and lens to prevent reflections and gloss on the color patches,
- For the best quality profile you should capture an image with the appropriate brightness. To achieve this, take a few bracketed images (between -1 and +1 EV) of your color checker and load them into Ansel, ensuring that all modules between color calibration and output color profile are disabled. Choose the image where the white patch has a brightness L of 94-96% in CIE Lab space or a luminance Y of 83-88% in CIE XYZ space (use the global color picker). This step is not strictly necessary – alternatively you can take a single image and apply the exposure compensation as recommended in the profile report.
Si les conditions d’éclairage sont proches d’un illuminant standard D50 à D65 (lumière naturelle directe, pas de lumière réfléchie colorée), la photo de la charte de couleurs peut être utilisée pour produire un profil générique qui conviendra à tout éclairage de lumière du jour avec seulement un léger ajustement de la balance des blancs.
Si les conditions d’éclairage sont particulières et éloignées des illuminants standard, la photo de la charte de couleurs ne sera utilisable que comme profil ad-hoc pour des photos prises dans les mêmes conditions d’éclairage.
Usage
Les paramètres utilisés dans le calibrage des couleurs dépendent de l’espace CAT choisi et de tous les paramètres de couleur définis précédemment dans le pipeline graphique dans les modules balance des blancs et profil de couleur d’entrée. En tant que tels, les résultats du profilage (par exemple, les coefficients de mixage des canaux RVB) ne sont valides que pour un ensemble précis de paramètres espace CAT, balance des blancs et profil de couleur d’entrée. Si vous souhaitez créer un style générique avec votre profil, n’oubliez pas que vous devrez également inclure les paramètres de ces modules.
Utilisez le processus suivant pour créer votre profil/style prédéfini :
- Enable the lens correction module to correct any vignetting that might mislead the calibration,
- On the bottom of the color calibration module, click on the arrow near the calibrate with a color checker label, to show the controls,
- Pick the correct model and manufacturer of your color checker from the chart drop-down,
- In the image preview, an overlay of the chart’s patches will appear. Drag the corners of the chart so that they match the visual references (dots or crosses) around the target, to compensate for any perspective distortion,
- Click the refresh button to compute the profile,
- Check the Profile quality report. If it is “good”, you can click on the validation button. If not, try changing the optimization strategy and refresh the profile again.
- Save the profile in a preset or style, or simply copy & paste the module settings to all of the pictures taken under the same lighting conditions, from within the lighttable view or filmstrip.
Remarque : Il n’est pas nécessaire d’utiliser la matrice standard dans le module profil de couleur d’entrée lors d’un calibrage, mais sachez que la balance des blancs par défaut “boîtier” ne fonctionnera pas correctement avec tout autre profil, et que vous devrez toujours utiliser le même profil d’entrée chaque fois que vous réutilisez ces paramètres de calibration.
Reading the profile report
Le rapport de profil vous aide à évaluer la qualité de la calibration. Les paramètres de la calibration des couleurs ne sont qu’une optimisation de la “meilleure correspondance” et ne seront jamais précis à 100% pour l’ensemble du spectre de couleurs. Nous devons donc déterminer “à quel point il est inexact” afin de savoir si nous pouvons ou non faire confiance à ce profil.
De mauvais profils peuvent se produire et feront plus de mal que de bien s’ils sont utilisés.
Delta E and the quality report
Le CIE delta E 2000 (ΔE), ou écart de couleur, est utilisé comme une mesure perceptive de l’erreur entre la couleur de référence des pastilles et la couleur obtenue après chaque étape de calibration :
- ΔE = 0 means that there is no error – the obtained color is exactly the reference color. Unfortunately, this will never happen in practice.
- ΔE = 2.3 is defined as the Just Noticeable Difference (JND).
- ΔE < 2.3 means that the average observer will not be able to tell the difference between the expected reference color and the obtained color. This is a satisfactory result.
- ΔE > 2.3 means that the color difference between the expected reference and the obtained color is noticeable for the average observer. This is unsatisfactory but sometimes unavoidable.
Le rapport qualité monitore le ΔE moyen et maximum à l’entrée du module (avant que quoi que ce soit ne soit fait), après l’étape d’adaptation chromatique (balance des blancs uniquement) et à la sortie du module (balance des blancs et mixage des canaux). A chaque étape, le ΔE doit être inférieur à celui de l’étape précédente, si tout se passe comme prévu.
Profile data
The data generated by the profiling process comprises the RGB 3×3 matrix and the detected illuminant. These are expressed in the CAT adaptation space defined in the CAT tab and are provided in case you want to export these coefficients to other software. If the detected illuminant is daylight or black body, the matrix should be fairly generic and reusable for other daylight and black body illuminants with the addition of a small white balance adjustment.
Normalization values
Ce sont les paramètres que vous devez définir, tels quels, pour les paramètres exposition et correction du niveau du noir dans le module exposition, afin d’obtenir le moins d’erreur possible dans votre profil. Cette étape est facultative et n’est utile que lorsque la plus grande précision est requise, mais sachez qu’elle peut produire des valeurs RVB négatives qui seront écrêtées à divers points du pipeline.
Overlay

Le graphique en superposition affiche un disque au centre de chaque pastille de couleur, qui représente la valeur de référence attendue de cette pastille, projetée dans l’espace d’affichage RVB. Cela vous aide à évaluer visuellement la différence entre la référence et la couleur réelle sans avoir à vous soucier des valeurs ΔE. Cet indice visuel ne sera fiable que si vous définissez le module exposition comme indiqué dans les valeurs de normalisation du rapport de profil.
Une fois le profil calibré, certaines des pastilles carrées seront barrées en arrière-plan par une ou deux diagonales :
- Patches that are not crossed have ΔE < 2.3 (JND), meaning they are accurate enough that the average observer will be unable to notice the deviation,
- Patches crossed with one diagonal have 2.3 < ΔE < 4.6, meaning that they are mildly inaccurate,
- Patches crossed with two diagonals have ΔE > 4.6 (2 × JND), meaning that they are highly inaccurate.
Ce retour visuel vous aidera à mettre en place le compromis d’optimisation pour vérifier quelles couleurs sont plus ou moins précises.
Enhancing the profile
Étant donné que toute calibration n’est que la recherche du « meilleur ajustement » (en utilisant une méthode des moindres carrés pondérés), il est impossible d’avoir toutes les pastilles dans notre tolérance ΔE < 2,3. Certains compromis seront donc nécessaires.
Le paramètre optimisé pour vous permet de définir une stratégie d’optimisation qui tente d’augmenter la précision du profil dans certaines couleurs au détriment des autres. Les options suivantes sont disponibles :
- none: Don’t use an explicit strategy but rely on the implicit stategy defined by the color checker manufacturer. For example, if the color checker has mostly low-saturation patches, the profile will be more accurate for less-saturated colors.
- neutral colors: Give priority to grays and less-saturated colors. This is useful for desperate cases involving cheap fluorescent and LED lightings, having low CRI. However, it may increase the error in highly-saturated colors more than not having any profile.
- saturated colors: Give priority to primary colors and highly-saturated colors. This is useful in product and commercial photography, to get brand colors right.
- skin and soil colors, foliage colors, sky and water colors: Give priority to the chosen hue range. This is useful if the subject of your pictures is clearly defined and has a typical color.
- average delta E: Attempt to make the color error uniform across the color range and minimize the average perceptual error. This is useful for generic profiles.
- maximum delta E: Attempt to minimize outliers and large errors, at the expense of the average error. This can be useful to get highly saturated blues back into line.
Quoi que vous fassiez, les stratégies qui favorisent un ΔE moyen faible auront généralement un ΔE maximum plus élevé, et vice versa. De plus, les bleus sont toujours la gamme de couleurs la plus difficile à corriger, de sorte que le calibrage revient généralement à protéger les bleus au détriment de tout le reste, ou de tout le reste au détriment des bleus.
La facilité d’obtention d’un bon calibrage dépend de la qualité de l’illuminant de la scène (les illuminants lumière du jour et IRC élevé doivent toujours être préférés), de la qualité du profil de couleur d’entrée original, de la correction du niveau du noir définie dans le module exposition, mais avant tout des propriétés mathématiques de la grille de filtres du capteur de l’appareil photo.
Profile checking
Il est possible d’utiliser le bouton vérifier le delta E de sortie (en bas à gauche du module) pour effectuer un seul calcul ΔE de la référence de la charte de couleurs par rapport à la sortie du module calibration des couleurs. Cela peut être utilisé des manières suivantes :
- To check the accuracy of a profile calculated in particular conditions against a color checker shot in different conditions.
- To evaluate the performance of any color correction performed earlier in the pipe, by setting the color calibration parameters to values that effectively disable it (CAT adaptation to none, everything else set to default), and just use the average ΔE as a performance metric.
Caveats
La possibilité d’utiliser des illuminants CIE standard et des interfaces basées sur CCT pour définir la couleur de l’illuminant dépend de choix raisonnable des valeurs pour la matrice standard dans le module profil de couleur d’entrée ainsi que pour les coefficients RVB dans le module balance des blancs.
Certains appareils photo, notamment ceux d’Olympus et de Sony, ont des coefficients de balance des blancs inattendus qui rendront toujours le CCT détecté invalide, même pour les illuminants de la scène réellement de type lumière du jour. Cette erreur provient très probablement de problèmes avec la matrice d’entrée standard, qui provient d’Adobe DNG Converter.
Il est possible de pallier ce problème, si vous disposez d’un écran d’ordinateur calibré pour un illuminant D65, en utilisant le processus suivant :
- Display a white surface on your screen, for example by opening a blank canvas in any photo editing software you like
- Take a blurry (out of focus) picture of that surface with your camera, ensuring that you don’t have any “parasite” light in the frame, you have no clipping, and are using an aperture between f/5.6 and f/8,
- Open the picture in Ansel and extract the white balance by using the spot tool in the white balance module on the center area of the image (non-central regions might be subject to chromatic aberrations). This will generate a set of 3 RGB coefficients.
- Save a preset for the white balance module with these coefficients and auto-apply it to any color RAW image created by the same camera.