Table des matières Python

Principe de la colorimétrie

1. Introduction

L'objectif de la colorimétrie est de quantifier de manière objective la perception des couleurs. La perception d'une lumière, qu'elle provienne directement d'une source ou qu'elle soit diffusée ou transmise par un objet, comporte une composante chromatique (la couleur) et une composante lumineuse. Cette dernière est quantifiée par les grandeurs visuelles, qui sont des grandeurs énergétiques pondérées par la sensibilité spectrale du système visuel.

Par facilité de langage, on désignera par le terme luminance (lumineuse) une grandeur lumineuse quelconque (pas nécessairement la luminance au sens strict).

La colorimétrie repose sur le trivalence visuelle, démontrée expérimentalement par Maxwell en 1855 : toute couleur peut être obtenue par superposition de trois couleurs primaires en quantités adéquates. Les couleurs primaires sont généralement rouge, verte et bleue. Elles ne sont pas nécessairement monochromatiques.

L'identité de deux couleurs ne signifie pas l'identité de la composition spectrale des deux lumières. Deux lumières sont dites métamères lorsque qu'elles ont la même couleur mais des compositions spectrales différentes. Un des objectifs de la colorimétrie est de permettre la détermination de la couleur d'une lumière connaissant sa composition spectrale.

2. Colorimètre visuel

Le colorimètre visuel est l'appareil permettant de déterminer les composantes trichromatiques d'une lumière. Trois lumières primaires d'intensité ajustable sont superposées par un dispositif optique, pour former la lumière de référence. L'observateur compare la lumière à tester avec la lumière de référence, les deux étant projetées sur deux plages voisines. Il ajuste les intensités des trois primaires de manière à obtenir l'égalité visuelle entre les deux lumières, égalité de couleur et de luminance visuelle.

La CIE a retenu les primaires monochromatiques suivantes :

λR=700nmλG=546.1nmλB=435.8nm

L'égalisation entre la lumière de référence et une lumière blanche équi-énergétique (de densité spectrale uniforme) est obtenue lorsque les flux énergétiques des primaires sont dans les proportions 357, 6.83, 4.95 respectivement pour le rouge, le vert et le bleu ([1]).

La sensibilité spectrale de l'oeil permet de déterminer les flux lumineux correspondants (en lumen) :

from CieXYZ import *
cie=CIEXYZ("../ciexyz/ciexyz31.txt")
lumen=[cie.ener2lum(357,700),cie.ener2lum(6.83,546.1),cie.ener2lum(4.95,435.8)]
            
print(lumen)
--> [1000.194762, 4592.2342449522002, 60.09084924480004]

Ramené à un niveau de rouge de 1 lumen :

 
r=lumen[0]
for k in range(3):
    lumen[k]=lumen[k]/r
            
print(lumen)
--> [1.0, 4.5913400263859812, 0.060079148109755891]

Le blanc équi-énergétique est donc obtenu avec un vert 4.59 fois plus lumineux (au sens visuel) que le rouge et 80 fois plus lumineux que le bleu.

Les composantes trichromatiques R,G,B d'une lumière sont définies de telle sorte que le blanc ait ses trois composantes égales. Les réglages des trois primaires doivent donc être étallonnés à partir du blanc. La luminance visuelle de la lumière testée s'écrit donc en fonction des composantes trichromatiques :

L=1.00R+4.59G+0.060B

Lorsque les trois composantes sont multipliées par un même facteur (dans les limites d'une lumière non éblouissante), la luminance de la lumière résultante est augmentée de ce facteur mais sa couleur ne change pas.

L'identité de couleur et de luminance entre la lumière testée [M] et la lumière de référence s'écrit :

[M]=R[R]+G[G]+B[B]

Lors du test d'une lumière monochromatique, l'égalisation entre les deux plages n'est pas possible, à l'exception du cas où la lumière testée coïncide avec une primaire. Les colorimètres comportent un dispositif permettant d'ajouter les couleurs primaires sur la plage de la lumière à tester. De cette manière, il est possible de désaturer la lumière test pour obtenir l'égalisation. Par exemple, un jaune spectral serait désaturé en ajoutant du bleu. Dans ce cas, l'égalité des deux lumières s'écrit :

[M]+R0[R]+G0[G]+B0[B]=R1[R]+G1[G]+B1[B]

On peut donc écrire :

[M]=(R1-R0)[R]+(G1-G0)[G]+(B1-B0)[B]

Dans ce cas, au moins une des composantes trichromatiques est négatives.

3. Fonctions colorimétriques

Toute lumière est physiquement caractérisée par sa densité spectrique énergétique E(λ). La connaissance des composantes trichromatiques des lumières monochromatiques permet donc de déterminer la couleur d'une lumière. Par définition, les fonctions colorimétriques sont les composantes trichromatiques de lumières monochromatiques ayant toutes la même énergie :

rc(λ)gc(λ)bc(λ)
from pylab import *
[r,g,b]=cie.rgbColorim()
clf()
xlabel('lambda (nm)')
plot(cie.Lambda,r,c='r',label='rc')
plot(cie.Lambda,g,c='g',label='gc')
plot(cie.Lambda,b,c='b',label='bc')
title(u'Fonctions colorimétriques')
legend()
grid(True) 
            
plotAplotA.pdf

Pour toute longueur d'onde, il y a au moins une des trois fonctions colorimétriques négatives, à l'exception des longueurs d'onde des primaires où deux fonctions s'annulent. La partie négative est surtout visible sur le rouge (le bleu et le vert ont des valeurs négatives très faibles). Par exemple, la longueur d'onde 520 nm a nécessité une désaturation par une grande quantité de rouge pour obtenir l'égalité visuelle.

La luminance visuelle d'une lumière monochromatique correspondant à ces composantes est :

L(λ)=1.00rc(λ)+4.59gc(λ)+0.060bc(λ)

Elle doit aussi être proportionnelle à l'efficacité visuelle relative :

L(λ)=αV(λ)

Pour une lumière polychromatique de densité spectrique énergétique connue, les composantes R,G,B se déduisent des fonctions colorimétriques par les relations :

R=kE(λ)rc(λ)dλG=kE(λ)gc(λ)dλB=kE(λ)bc(λ)dλ

En pratique, le calcul se fait avec les composantes XYZ définie ci-dessous.

4. Système colorimétrique CIE XYZ

Le système de repérage des couleurs CIE RGB précédent comporte deux inconvénients :

Le système CIE XYZ est obtenu par un changement de primaires qui permet d'avoir 3 composantes X,Y,Z toujours positives. Cela n'est possible qu'avec des primaires [X],[Y],[Z] virtuelles, c'est-à-dire non réalisables physiquement. De plus la composante Y est choisie comme étant égale à la luminance visuelle :

Y=1.00R+4.59G+0.060B

La passage des composantes RGB aux composantes XYZ est une transformation linéaire dont la forme matricielle est :

(XYC)=(2.76891.75171.13021.00004.59070.06010.00000.05655.5943)(RGB)

Les calculs des composantes XYZ à partir de la composition spectrale de la lumière sont expliqués dans repérage des couleurs CIE XYZ.

La somme des coefficients d'une ligne est constante (5.6508). Les composantes trichromatiques d'une lumière équiénergie (densité spectrique uniforme) vérifient donc X=Y=Z.

Références
[1]  R. Sève,  Physique de la couleur,  (Masson, 1996)
Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.