Système colorimétrique RGB et CIE XYZ

Espace vectoriel des couleurs

Du fait de la trivariance visuelle, le repérage d'une couleur peut se faire par un ensemble de trois paramètres associés à un point représentatif dans un espace vectoriel à trois dimensions. Plus précisément, une couleur peut être représentée par un vecteur dont le module correspond au niveau lumineux et l'orientation à la chromaticité (cf figure 10).

Figure 10 : Espace vectoriel de représentation des couleurs

Dans l'exemple d'espace vectoriel tridimensionnel représenté en figure 10, une couleur quelconque C vec C est définie par un vecteur dont les composantes C 1 C_1 , C 2 C_2 et C 3 C_3 (appelées composantes trichromatiques) sont comptées sur chacun des trois axes non coplanaires d'un système de coordonnées ayant pour origine O. Les vecteurs unitaires P 1 vec P_{1} , P 2 vec P_{2} et P 3 vec P_{3} représentent des couleurs primaires non métamères deux à deux et on peut écrire (1)

C = C 1 P 1 + C 2 P 2 + C 3 P 3 (1) vec C=C_{1}vec P_{1}+C_{2}vec P_{2}+C_{3}vec P_{3} " (1)"

L'équation (1) signifie que la couleur C vec C est égalisée par un mélange des trois couleurs primaires P 1 vec P_{1} , P 2 vec P_{2} et P 3 vec P_{3} .

Par ailleurs, on peut considérer tout rayonnement lumineux L ( λ ) L(%lambda) comme résultant de la synthèse additive d'un grand nombre de rayonnements s'étendant chacun sur un domaine de longueur d'onde avec une fonction de pondération f ( λ ) f(%lambda) représentant le spectre de la source de lumière échantillonné à l'aide de la fonction δ λ %delta_%lambda , de telle sorte que :

L ( λ ) = λ f ( λ ) δ λ Δ λ (2) L(%lambda)=sum from{%lambda} f(%lambda)%delta_%lambda %DELTA%lambda " (2)"

Si l'intervalle Δ λ 0 %DELTA%lambda rightarrow 0 , on voit qu'avec un nombre infini de longueurs d'onde, on peut synthétiser une lumière polychromatique quelconque dont la couleur C vec C est représentée par la combinaison linéaire :

C = λ f ( λ ) P λ (3) vec C=sum from{%lambda} f(%lambda)vec P_{%lambda} " (3)"

P λ vec P_{%lambda} désigne une source primaire monochromatique de longueur d'onde λ %lambda . Chacune des sources monochromatiques P λ vec P_{%lambda} peut être décomposée sur les sources primaires P 1 vec P_{1} , P 2 vec P_{2} et P 3 vec P_{3} selon l'égalité (1) ce qui conduit à :

P λ = c 1 ( λ ) P 1 + c 2 ( λ ) P 2 + c 3 ( λ ) P 3 (4) vec P_{%lambda}=c_1(%lambda)vec P_1+c_2(%lambda)vec P_2+c_3(%lambda)vec P_3 " (4)"

c 1 ( λ ) c_1(%lambda) , c 2 ( λ ) c_2(%lambda) et c 3 ( λ ) c_3(%lambda) désignent les composantes trichromatiques spectrales déterminées une fois par toutes par la CIE à partir d'un panel d'observateurs (cf. ci-dessous). À partir des égalités (3) et (4) on obtient :

C = λ f ( λ ) c 1 ( λ ) P 1 + λ f ( λ ) c 2 ( λ ) P 2 + λ f ( λ ) c 3 ( λ ) P 3 vec C=sum from{%lambda} f(%lambda)c_1(%lambda)vec P_1+sum from{%lambda} f(%lambda)c_2(%lambda)vec P_2+sum from{%lambda} f(%lambda)c_3(%lambda)vec P_3

et par identification avec (1), on déduit les composantes C 1 C_1 , C 2 C_2 et C 3 C_3 :

{ C 1 = λ c 1 ( λ ) f ( λ ) C 2 = λ c 2 ( λ ) f ( λ ) (5) C 3 = λ c 3 ( λ ) f ( λ ) alignl left lbrace stack{{C_1 = sum from%lambda c_1(%lambda) f(%lambda)} # {C_2 = sum from%lambda c_2(%lambda) f(%lambda)} " (5)" # {C_3 = sum from%lambda c_3(%lambda) f(%lambda)}} right none

On voit ainsi qu'une fois définies les composantes trichromatiques spectrales c 1 ( λ ) c_1(%lambda) , c 2 ( λ ) c_2(%lambda) et c 3 ( λ ) c_3(%lambda) , tout stimulus coloré présentant un spectre f ( λ ) f(%lambda) peut être représenté par un point de coordonnées C 1 C_1 , C 2 C_2 et C 3 C_3 .

Mesure des fonctions colorimétriques

L'estimation des fonctions c 1 ( λ ) c_1(%lambda) , c 2 ( λ ) c_2(%lambda) et c 3 ( λ ) c_3(%lambda) a été faite en 1926 par J. Guild [ [1]] avec 7 observateurs sur un champ visuel limité à un angle de 2° pour que les flux lumineux soient essentiellement incidents sur la macula (Cf. paragraphe Mécanisme de base de la vision des couleurs). Les primaires étaient choisies à 700nm pour le rouge ( R vec R ), 546,1nm pour le vert ( V vec V ) et 435,8nm pour le bleu ( B vec B ). Le champ d'observation est divisé en 2 parties (cf. figure 11), l'une est éclairée par une source monochromatique, l'autre reçoit les flux émis par les trois sources primaires qui se superposent pour donner lieu à une synthèse additive des couleurs. L'observateur ajuste l'éclairement du aux sources primaires en modifiant la position longitudinale des sources ou en occultant plus ou moins les flux émis à l'aide de diaphragmes calibrés. Le but est de parvenir à l'équivalence de perception visuelle des deux moitiés du champ d'observation.

Figure 11 : Schéma de principe d'évaluation des fonctions colorimétriques

Les composantes trichromatiques ainsi évaluées sont appelées les fonctions colorimétriques CIE r ( λ ) ¯ overline {r(%lambda)} , g ( λ ) ¯ overline {g(%lambda)} et b ( λ ) ¯ overline {b(%lambda)} . Elles sont tabulées depuis 1931 d'où le nom de système RGB CIE 1931. L'évolution des fonctions colorimétriques en fonction de la longueur d'onde est présentée en figure 12.

Figure 12 : Fonctions colorimétriques RGB

L'échelle des ordonnées est définie de telle façon que r ( λ ) ¯ d λ = g ( λ ) ¯ d λ = b ( λ ) ¯ d λ int overline {r(%lambda)} d%lambda = int overline {g(%lambda)} d%lambda = int overline {b(%lambda)} d%lambda .

Ce choix se justifie par le fait que la perception visuelle d'un stimulus neutre (couleur blanche) correspond à une réponse équilibrée des trois types de cônes bleu, vert et rouge. Il faut également remarquer que pour des longueurs d'onde inférieures à 550nm, les courbes g ( λ ) ¯ overline {g(%lambda)} et r ( λ ) ¯ overline {r(%lambda)} présentent des ordonnées négatives. Ceci est du au fait qu'il est impossible de reproduire tous les rayonnements monochromatiques par synthèse additive des couleurs et qu'en conséquence, dans le dispositif décrit en figure 11, l'équivalence de perception visuelle des deux parties du champ d'observation n'est obtenue à certaines longueurs d'onde qu'en ajoutant au rayonnement monochromatique du flux issu des sources primaires.

Représentation graphique – triangle des couleurs

D'après les égalités (5), un rayonnement polychromatique quelconque de luminance L c ( λ ) L_c (%lambda) est associé à une couleur C = R c R + G c G + B c B vec C=R_c vec R + G_c vec G + B_c vec B où les composantes trichromatiques dans le système RGB sont données par :

{ R c = L c ( λ ) r ( λ ) ¯ d λ G c = L c ( λ ) g ( λ ) ¯ d λ (6) B c = L c ( λ ) b ( λ ) ¯ d λ alignl left lbrace stack{{ {R_c} = {int L_c (%lambda) overline {r (%lambda)} d%lambda} } # { {G_c} = ``{int L_c(%lambda) overline {g(%lambda)} d%lambda} } " (6)" # { {B_c} = ``{int L_c(%lambda) overline {b(%lambda)} d%lambda} }} right none

La chromaticité de la lumière ne dépendant que des valeurs relatives de ces composantes, on définit les coordonnées trichromatiques r r , g g et b b par :

{ r = R c R c + G c + B c g = G c R c + G c + B c (7) b = B c R c + G c + B c alignl left lbrace stack{{ {r} = { alignc R_c over {R_c + G_c + B_c}} } # { {g} = {{alignc G_c} over { R_c + G_c + B_c}} } " (7)" # { {b} = {alignc B_c over { R_c + G_c + B_c}} }} right none

Dans la pratique, il est plus aisé de représenter les couleurs dans un plan plutôt que dans l'espace. On utilise alors la relation déduite de (7) à savoir :

r + g + b = 1 (8) r+g+b=1 " (8)"

qui est l'équation d'un plan passant par les extrémités des vecteurs unitaires R vec R , G vec G et B vec B (cf. figure 13).

Figure 13 : Triangle des couleurs

Une couleur C vec C est alors représentée par un point ( C C ) dans le plan. La coordonnée b b se déduisant simplement de la relation (8) si r r et g g sont connues, on adopte une représentation du plan r + g + b = 1 r+g+b=1 sous la forme d'un triangle isocèle rectangle dans lequel r r et g g sont des axes de coordonnées rectangulaires (cf. figure 14). La représentation ainsi obtenue est appelée diagramme de chromaticité (rg). Il y est tracé le lieu des radiations monochromatiques (spectrum locus ou lieu spectral) pour λ [ 380 nm ; 780 nm ] %lambda in [380nm;780nm] correspondant aux coordonnées suivantes (avec L c ( λ ) = δ λ L_c (%lambda)=%delta_%lambda ) :

{ r = r ¯ ( λ ) r ¯ ( λ ) + g ¯ ( λ ) + b ¯ ( λ ) g = g ¯ ( λ ) r ¯ ( λ ) + g ¯ ( λ ) + b ¯ ( λ ) (9) b = b ¯ ( λ ) r ¯ ( λ ) + g ¯ ( λ ) + b ¯ ( λ ) alignl left lbrace stack{{ {r} = {{alignc overline r(%lambda)} over {overline r(%lambda) + overline g(%lambda) + overline b(%lambda)}} } # { {g} = {{alignc overline g(%lambda)} over {overline r(%lambda) + overline g(%lambda) + overline b(%lambda)}} } " (9)" # { {b} = {{alignc overline b(%lambda)} over {overline r(%lambda) + overline g(%lambda) + overline b(%lambda)}} }} right none

ainsi que les couleurs primaires rouge ( R vec R ; λ %lambda =700nm), vert ( V vec V ; λ %lambda =546,1nm) et bleu ( B vec B ; λ %lambda =435,8nm). La droite joignant les extrémités rouge et bleu du spectre visible est appelée droite des pourpres.

Figure 14 : Diagramme de chromaticité (rg)

Toutes les couleurs existantes ont leurs points associés à l'intérieur du domaine délimité par le lieu spectral et la droite des pourpres. Les points à l'extérieur de ce domaine n'ont pas de sens physique, ils correspondent à des stimuli irréels.

Espace colorimétrique XYZ

Comme on peut le constater sur la figure 14, certaines couleurs ont des coordonnées trichromatiques négatives dans le système RGB. Pour s'affranchir de cet inconvénient, il a été choisi d'opérer une transformation linéaire de l'espace RGB qui conduise à des fonctions colorimétriques x ( λ ) ¯ overline {x(%lambda)} , y ( λ ) ¯ overline {y(%lambda)} et z ( λ ) ¯ overline {z(%lambda)} n'ayant pas de valeurs négatives. Par ailleurs, les primaires X vec X , Y vec Y et Z vec Z ont été choisies afin que le plan O X Y O vec X vec Y soit le plan de luminance nulle et que l'axe O Y O vec Y soit l'axe des luminances visuelles. Comme pour un stimulus quelconque de luminance énergétique L e ( λ ) L_e(%lambda) , la luminance visuelle correspondante L v ( λ ) L_v(%lambda) est telle que :

L v ( λ ) = K m L e ( λ ) . V ( λ ) . d λ = Y L_v(%lambda)=K_m int{L_e(%lambda).V(%lambda).d%lambda}=Y

avec K m = 683 lm / W K_m=683 lm/W en vision photopique et où V ( λ ) V(%lambda) est la fonction d'efficacité lumineuse relative spectrale (cf. cours de photométrie). Alors, en notation trichromatique Y = K m L e ( λ ) . y ( λ ) ¯ . d λ Y=K_m int{L_e(%lambda).{overline {y(%lambda)}}.d%lambda} d'où y ( λ ) ¯ overline {y(%lambda)} est identique à V ( λ ) V(%lambda) .

La transformation linéaire [ r ( λ ) ¯ ; g ( λ ) ¯ ; b ( λ ) ¯ ] [ x ( λ ) ¯ ; y ( λ ) ¯ ; z ( λ ) ¯ ] \[overline{r(%lambda)} ; overline{g(%lambda)} ; overline{b(%lambda)}\]rightarrow \[overline{x(%lambda)} ; overline{y(%lambda)} ; overline{z(%lambda)}\] est définie par [ [2]] :

{ x ( λ ) ¯ = 2 ,7688 r ( λ ) ¯ + 1 ,7517 g ( λ ) ¯ + 1 ,1301 b ( λ ) ¯ y ( λ ) ¯ = r ( λ ) ¯ + 4 ,5907 g ( λ ) ¯ + 0 ,0601 b ( λ ) ¯ (10) z ( λ ) ¯ = 0 ,00001 r ( λ ) ¯ + 0 ,0565 g ( λ ) ¯ + 5 ,5942 b ( λ ) ¯ alignl left lbrace stack{{ {overline{x(%lambda)}} = `{{2,7688} overline{r(%lambda)}+{1,7517} overline{g(%lambda)}+{1,1301} overline{b(%lambda)}} } # { {overline {y(%lambda)}} = ````````{overline{r(%lambda)}+{4,5907} overline{g(%lambda)}+{0,0601} overline{b(%lambda)}} } " (10)" # { {overline {z(%lambda)}} = {{0,00001} overline{r(%lambda)}+{0,0565} overline{g(%lambda)}+{5,5942} overline{b(%lambda)}} }} right none

ce qui donne la dépendance en longueur d'onde indiquée en figure 15.

Figure 15 : Fonctions colorimétriques xyz CIE 1931

Une couleur quelconque est représentée par un vecteur de composantes trichromatiques X X , Y Y , Z Z telles que :

{ X = K m L e ( λ ) . x ( λ ) ¯ . d λ Y = K m L e ( λ ) . y ( λ ) ¯ . d λ (11) Z = K m L e ( λ ) . z ( λ ) ¯ . d λ alignl left lbrace stack {X=K_m int{L_e(%lambda).{overline {x(%lambda)}}.d%lambda} # Y=K_m int{L_e(%lambda).{overline {y(%lambda)}}.d%lambda} " (11)" # Z=K_m int{L_e(%lambda).{overline {z(%lambda)}}.d%lambda}} right none

dont on tire les coordonnées trichromatiques x x , y y , z z telles que :

{ x = X X + Y + Z y = Y X + Y + Z (12) z = Z X + Y + Z alignl left lbrace stack{{ {x} = {alignc X over {X + Y + Z}} } # { {y} = {alignc Y over {X + Y + Z}} } " (12)" # { {z} = {alignc Z over {X + Y + Z}} }} right none

et comme x + y + z = 1 x+y+z=1 , on représente les couleurs dans un repère plan ( xy ) (xy) à axes orthogonaux. Les couleurs monochromatiques pour λ [ 380 nm ; 780 nm ] %lambda in [380nm;780nm] ayant des coordonnées (avec L e ( λ ) = δ λ L_e (%lambda)=%delta_%lambda ) données par :

{ x = x ¯ ( λ ) x ¯ ( λ ) + y ¯ ( λ ) + z ¯ ( λ ) y = y ¯ ( λ ) x ¯ ( λ ) + y ¯ ( λ ) + z ¯ ( λ ) (13) z = z ¯ ( λ ) x ¯ ( λ ) + y ¯ ( λ ) + z ¯ ( λ ) alignl left lbrace stack{{ {x} = {{alignc overline x(%lambda)} over {overline x(%lambda) + overline y(%lambda) + overline z(%lambda)}} } # { {y} = {{alignc overline y(%lambda)} over {overline x(%lambda) + overline y(%lambda) + overline z(%lambda)}} } " (13)" # { {z} = {{alignc overline z(%lambda)} over {overline x(%lambda) + overline y(%lambda) + overline z(%lambda)}} }} right none

elles se situent sur la courbe du lieu spectral (spectrum locus). Le domaine chromatique ( xy ) (xy) à l'intérieur duquel se situent toutes les couleurs réelles est limité par le lieu spectral et la droite des pourpres. L'ensemble est intégralement contenu dans le triangle X X , Y Y , Z Z représentant les primaires dont les coordonnées sont :

  • pour la primaire X X : x = 1 ; y = 0 x=1; y=0

  • pour la primaire Y Y : x = 0 ; y = 1 x=0; y=1

  • pour la primaire Z Z : x = 0 ; y = 0 z = 1 x=0; y=0 drarrow z=1

Ces primaires sont irréelles puisqu'à l'extérieur du domaine chromatique (cf. figure 16).

Figure 16 : Diagramme de chromaticité xy CIE 1931

La figure 17 montre le diagramme de chromaticité CIE 1931 avec les couleurs du domaine chromatique ainsi que le nom des zones de couleur pour un observateur adapté à la lumière du jour [ [3]]. La zone centrale autour de la position du stimulus équiénergétique correspond aux illuminants normalisés de la CIE.

Figure 17 : Zones colorées du diagramme CIE1931xy

Stimulus équiénergétique

Par définition, la répartition spectrale du stimulus blanc équiénergétique E E est uniforme. On a donc L E ( λ ) = L E = cste L_E(%lambda)=L_E=cste d'où

{ R E = L E r ( λ ) ¯ d λ G E = L E g ( λ ) ¯ d λ B E = L E b ( λ ) ¯ d λ alignl left lbrace stack{{ {R_E} = {L_E int overline {r (%lambda)} d%lambda} } # { {G_E} = ``{L_E int overline {g(%lambda)} d%lambda} } # { {B_E} = ``{L_E int overline {b(%lambda)} d%lambda} }} right none

et

r E = g E = b E = 1 / 3 r_E=g_E=b_E=1/3

puisque

r ( λ ) ¯ d λ = g ( λ ) ¯ d λ = b ( λ ) ¯ d λ int overline {r(%lambda)} d%lambda = int overline {g(%lambda)} d%lambda = int overline {b(%lambda)} d%lambda

Il en est de même dans l'espace X X , Y Y , Z Z pour lequel on a donc x E = y E = z E = 1 / 3 x_E=y_E=z_E=1/3 . Le point représentatif du stimulus E E se situe au centre du triangle RGB ou XYZ (cf. figures 14 et 16).

Couleur dominante – couleur complémentaire

Dans le diagramme ( xy ) (xy) si une couleur C vec C résulte de la synthèse additive de deux couleurs C 1 vec C_1 et C 1 vec C_1 , la relation d'addition C = C 1 + C 2 vec C=vec C_1+vec C_2 se traduit par le fait que les points C C , C 1 C_1 et C 2 C_2 sont alignés selon une même droite (cf. figure 18).

Figure 18 : Positions des couleurs dominante et complémentaire

De façon analogue une couleur quelconque Q vec Q peut s'exprimer comme l'addition du blanc équinergétique E vec E et d'une couleur pure (située sur le lieu spectral). Cette dernière sera appelée couleur dominante Q DOMINANTE {vec Q}_DOMINANTE et Q = Q DOMINANTE + E vec Q={vec Q}_DOMINANTE+ vec E .

Inversement le blanc équiénergétique E vec E peut en théorie être obtenu par addition d'une couleur Q vec Q et d'une couleur pure appelée couleur complémentaire Q COMPLÉMENTAIRE {vec Q}_COMPLÉMENTAIRE tel que E = Q + Q COMPLÉMENTAIRE vec E=vec Q+{vec Q}_COMPLÉMENTAIRE .

La quantité QE ¯ Q DOMINANTE E ¯ overline {QE} over overline {{Q_DOMINANTE}E} correspond à la pureté de la couleur Q vec Q . Le rapport vaut 0 pour le blanc équiénergétique et 1 pour une couleur monochromatique.