Table des matières Python

Sensibilité spectrale visuelle

1. Sensibilité spectrale relative

La sensibilité spectrale du système visuel humain est variable selon l'intensité de l'éclairement et varie légèrement d'un individu à l'autre. À partir de mesures faites sur un grand nombre d'individus, la commission internationale de l'éclairage (CIE) a défini en 1931 une sensibilité spectrale pour un observateur moyen, qui sert encore aujourd'hui de référence.

On considère ici la sensibilité spectrale photopique, correspondant à des conditions diurnes. Cette sensibilité spectrale est maximale à la longueur d'onde de 555 nm. La sensibilité spectrale relative V(λ) est par définition égale à 1 pour cette longueur d'onde. Cette fonction correspond à la composantes yc(λ) des fonctions colorimétriques du système CIE XYZ.

from CieXYZ import *
from pylab import *
cie=CIEXYZ("../ciexyz/ciexyz31.txt") 
clf()
xlabel('lambda (nm)') 
ylabel('V')
plot(cie.Lambda,cie.yc,c='r')
axis([400,800,0,1])
title(u'Sensibilit\xe9 spectrale relative')
grid(True)
            
plotAplotA.pdf

2. Grandeurs énergétiques et lumineuses

Les grandeurs énergétiques (appelées aussi radiométriques), sont les grandeurs dérivées de la puissance de rayonnement ([1]) :

Les grandeurs visuelles (appelées aussi photométriques), correspondent aux précédentes mais sont pondérées par le facteur de sensibilité spectrale visuelle. À toute grandeur énergétique correspond une grandeur lumineuse définie par :

La constante Km est fixée par la définition de la candela, unité de l'intensité lumineuse : la candela est l'intensité lumineuse d'une source de longueur d'onde 555 nm émettant une intensité énergétique de 1/683 W/sr. On a donc :

L'unité du flux lumineux, grandeur associée au flux énergétique, est le lumen (lm). La figure suivante, déduite de la précédente, donne le flux lumineux d'un rayonnement de 1 watt. L'ordonnée est en échelle logarithmique.

from numpy import *
lumen=zeros(len(cie.yc))
for k in range(len(lumen)):
    lumen[k]=math.log10(cie.yc[k]*683.0)
clf()
xlabel('lambda (nm)')
ylabel('log(F) (lm)')
plot(cie.Lambda,lumen,c='r')
axis([300,900,-3,3])
title(u"Flux lumineux d'un flux \xe9nerg\xe9tique de 1 W")
grid(True)
            
plotBplotB.pdf

Inversement, un flux lumineux de 100 lumen correspond à un flux énergétique (en watt), pour 450 et 555 nm :

print(cie.lum2ener(100,450))
--> 3.8529706403637203
print(cie.lum2ener(100,555))
--> 0.14641288433382138

On constate que deux lumières verte et bleue ayant la même luminance visuelle correspondent à des flux énergétiques très différents.

Références
[1]  F. Desvignes,  Rayonnements optiques,  (Masson, 1997)
Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.