Objet : Liste de discussion du groupe de travail Éducation et logiciels libres de l'April (liste à inscription publique)
Archives de la liste
- From: Nicolas George <ngeorge AT april.org>
- To: educ AT april.org
- Subject: Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255
- Date: Thu, 3 Nov 2016 11:47:18 +0100
Le duodi 12 brumaire, an CCXXV, Nathalie Carrié a écrit :
> J'ai écrit un article sur le codage de la couleur, à 'attention des
> élèves de seconde, ou de toute personne désireuse de comprendre le
> codage RVB de la couleur en informatique.
>
> L'article est déposé sous licence Creative Commons by-nc-sa, et se
> trouve ici :
> http://irem.univ-reunion.fr/spip.php?article903
C'est une base très intéressante. Je vais faire quelques critiques
constructives.
Pour les enseignements scientifiques, je pense qu'il est important, même
quand les sujets sont complexes et subtils, de ne jamais enseigner
quelque chose de faux. On peut, ou doit même, simplifier pour que ce
soit compréhensible par le public visé, mais toujours en restant dans le
correct. Ça demande parfois de faire très attention à la formulation.
Il y a deux points dans ces activités qui posent problème à ce sujet.
Avant de commencer, je vais souligner un détail mineur : deux chiffres
après la virgule pour le résultat de la conversion de coefficients sur
255 en pourcentage, c'est trop. Choisir le bon nombre de chiffres après
la virgule fait partie des choses que j'estime que les élèves devraient
savoir en fin de seconde, donc il vaudrait mieux éviter de leur faire
faire des choses incorrectes par ailleurs.
Le premier point, c'est les histoires de coefficients, de pourcentages,
etc. C'est bien parce que ça permet des petits exercices faciles niveau
seconde, mais sur le fond, c'est hélas complètement faux, à cause d'une
subtilité peu connue : le gamma.
Je prends l'exemple donné par l'activité :
# On peut maintenant calculer le pourcentage de chaque couleur contenue
# dans le pourpre [#9E0E40] :
# Total des 3 taux obtenus = 61,96 + 5,49 + 25,10 = 92,55%
# R = 67% , V = 6%, B= 27% . (couleurs arrondies à l’unité)
# La couleur pourpre peut donc être aussi repérée par ces 3 pourcentages
# dont le total vaut 100% :
# pourpre = (67%, 6%, 27%)
#
# Le pourpre contient 67% de rouge, 6% de vert et 27% de bleu.
Le pourpre #9E0E40 contient 87.6% de rouge, 0.4% et 12.0% de bleu. Les
nombres sont complètement différents quand on fait le calcul
correctement.
La subtilité, c'est la correction gamma. Si on compare les couleurs
#A04242 et #504242, le coefficient du rouge dans l'une est le double de
l'autre, mais ça ne veut pas dire que l'intensité du rouge est double.
La réaction des photophores des moniteurs n'est pas linéaire, et il a
été décidé par les constructeurs de ne pas faire de correction
systématique.
La convention s'est stabilisée sur un gamma de 2.2, ce qui veut dire que
si une couleur a un coefficient x sur [0;1], alors l'intensité réelle
des photophores est x^2.2 (^ pour noter l'opération puissance). Par
exemple, #808080 n'est pas un gris moyen, mais un gris assez foncé avec
seulement 22% d'intensité, et c'est #BABABA qui correspond au gris
moyen, ce dont on peut se rendre compte en la mettant à côté d'un motif
avec moitié de pixels blancs moitié de pixels noirs.
Si on refait le calcul avec #9E0E40 comme ça, on trouve les nombres que
j'ai donnés, à moins que j'aie fait une erreur de calcul quelque part.
Faut-il parler de cette subtilité à des élèves de seconde ? Probablement
pas. Mais leur faire faire des calculs qui n'ont aucun sens n'est pas
une bonne idée.
Le deuxième point que je veux aborder, c'est la notion de « couleurs
primaires ». Ça n'existe pas.
On trouve beaucoup de gens, y compris parmi les enseignants, qui pensent
qu'il y a quelque chose de spécial au sujet de ce rouge, ce vert et ce
bleu, alors que ce n'est pas le cas.
D'un point de vue physique, une couleur est un mélange fréquences
lumineuses (un spectre), et toutes les fréquences se valent.
Même la notion de lumière blanche n'existe pas, parce qu'il n'y a aucun
moyen de dire qu'il y a « autant » de telle fréquence que de telle
autre : un spectre d'intensité constante en fonction de la longueur
d'onde sera complètement différent en fonction de la fréquence et
réciproquement.
D'un point de vue physiologique, les humains ont trois sortes de
récepteurs sensibles à la couleur (le cônes ; on peut mentionner les
bâtonnets, qui ne contribuent pas à la perception du monde en général
car ils sont complètement éboulis en situation d'éclairement normal,
certains élèves ont remarqué par eux-mêmes qu'il y a toujours moins
d'étoiles dans le ciel là où on regarde qu'à la périphérie ou que le
bout de pop-corn tombé par terre au cinéma est visible du coin de l'oeil
mais disparaît quand on regarde vers lui).
Ça nous donne bien le 3 des fameuses « couleurs primaires », mais ça
s'arrête là.
Pour représenter des couleurs avec la technologie employée par les
écrans, il faut bien au moins trois sortes de photophores. Mais :
Premièrement, j'ai bien dit : au moins. Le codage RGB ne peut coder que
les couleurs qui sont entre les trois couleurs de base, il ne peut pas
coder un orange ou un turquoise bien intense. On ne le remarque pas
parce qu'on y est habitué, mais les couleurs sur un écran sont toujours
un peu délavées.
Il a d'ailleurs existé des films argentiques avec plus de trois pigments
pour un meilleur rendu des couleurs. Mais évidemment, tout est alors
plus cher, d'où le faible succès.
(C'est une question similaire, mais pas identique, à celle du support ou
non de la quadrichromie par divers logiciels de dessin. La quadrichromie
utilise un quatrième pigment, noir, pour améliorer le rendu des nuances
sombres, mais pas de pigment coloré supplémentaire pour élargir le cône
de couleur réalisable. D'ailleurs, la quadrichromie se rapporte à la
notion de couleur d'une texture, plus compliquée que la notion de
couleur d'une lumière.)
Deuxièmement, même si on se limite à trois couleurs de base, rien
n'oblige à prendre précisément ces trois couleurs-là. S'il y a bien
trois sortes de cônes, ce ne sont pas des cônes sensibles au rouge, des
cônes sensibles au vert et des cônes sensibles au bleu. Les trois sortes
de cônes sont stimulées par toutes les fréquences de la lumière visible,
juste pas tous de la même manière : certains réagissent plus aux faibles
fréquences qu'aux fréquences moyennes et a fortiori élevées, certains
réagissent plus aux fortes fréquences, certains réagissent plus aux
fréquences moyennes.
Pour autant, étant donnée la géométrie du problème, il est logique de
prendre des couleurs de base dans ces zones-là. Il faut imaginer un
fer-à-cheval avec les couleurs de l'arc-en-ciel, et un relativement
petit triangle au milieu avec un coin rouge, un coin vert et un coin
bleu. Cette orientation permet d'épouser au mieux la forme du
fer-à-cheval, en particulier sa base.
Mais on aurait pu choisir un rouge plus rouge, un vert plus vert, un
bleu plus violet pour couvrir une zone plus large. C'est là
qu'interviennent des contraintes techniques : on ne peut pas fabriquer
n'importe quelle couleur aussi facilement. C'est tout particulièrement
difficile dans les bleus-violets, parce que le bleu contribue peu à
l'impression de luminosité, donc on a un compromis à faire entre
intensité lumineuse et intensité colorée. Mais même pour les autres, le
choix exact de la couleur est le fruit d'un compromis industriel.
Le troisième point que je voulais souligner est l'affirmation comme quoi
ce codage de couleurs est celui utilisé en informatique. Ce n'est pas le
seul ! Ce codage est celui utilisé, mécaniquement, par les moniteurs, et
il s'est propagé assez loin, par endroits jusqu'à l'utilisateur. Mais
d'autres codages sont utilisés.
Dans les logiciels de dessin, même sans aller chercher la quadrichromie,
il suffit de regarder les boîtes de dialogue de logiciels de dessin : en
plus où à la place du choix en RGB, on trouvera souvent d'autres choix.
Un des codages fréquemment utilisé est HSV : hue, saturation, value,
soit teinte, saturation, valeur : un système de coordonnées cylindrique,
où la teinte donne un angle décrivant la couleur, la saturation indique
à quel point la couleur est intense ou délavée et la valeur est la
luminosité.
Dans le domaine de la vidéo, on ne veut surtout pas utiliser le RGB
parce qu'il y a souvent une forte corrélation entre les trois
composantes et donc du gaspillage d'information. Le HSV est
catastrophique parce qu'il n'est pas linéaire donc marche très mal avec
les transformées de Fourier utilisées. On utilise plutôt YUV, où Y est
la luminance, à peu près pareil que le V du HSV, et UV sont deux
coordonnées choisies de manière subjectivement orthogonales à Y.
L'utilisateur final n'est en général pas confronté à YUV à moins de
rentrer dans les détails.
Notons que le plus souvent, les histoires de correction gamma sont
complètement négligées quand on manipule du RGB avec du HSV ou du YUV.
Pour finir, mes suggestions pratiques :
- Corriger les calculs pour utiliser le bon nombre de chiffres
significatifs.
- Virer tout ce qui parle de pourcentages, c'est dénué de sens
scientifiquement. Si on veut faire faire de petits calculs de ce genre
aux élèves, des conversions RGB <-> HSV <-> YUV (en mentionnant très
brièvement le gamma et qu'on le néglige) semblent plus utiles.
- Reformuler l'introduction parlant de couleurs primaires pour la rendre
exacte. Je proposerais quelque chose du genre :
« Le fonctionnement de l'oeil humain donne une perception des couleurs
à trois dimensions. Donc un mélange additif de trois couleurs de base
permet de rendre l'essentiel des impressions de couleurs de la vie
courante. L'industrie audiovisuelle a normalisé l'utilisation d'un
certain rouge, d'un certain vert clair et d'un certain bleu foncé pour
les moniteurs. Pour autant, ce choix limite le rendu des couleurs, qui
seront toujours un peu délavées par rapport à la réalité, en
particulier les turquoises. Notre cerveau était très doué pour
s'adapter, nous ne le remarquons quasiment pas. Utiliser plus de
couleurs de base permettrait un meilleur rendu, mais reviendrait plus
cher. C'est pourquoi de nos jours tout le monde utilise ces trois
couleurs-là, parfois qualifiées de primaires. »
--
Nicolas George
Attachment:
signature.asc
Description: Digital signature
- [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nathalie Carrié, 02/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nicolas George, 03/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, yves DHENAIN, 03/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nicolas George, 03/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, yves DHENAIN, 04/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, francois.barillon AT ac-orleans-tours.fr via educ Mailing List, 04/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nicolas George, 05/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nicolas George, 05/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, francois.barillon AT ac-orleans-tours.fr via educ Mailing List, 04/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, yves DHENAIN, 04/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nathalie Carrié, 04/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nicolas George, 03/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nathalie Carrié, 04/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nicolas George, 05/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nathalie Carrié, 06/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nicolas George, 05/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, yves DHENAIN, 03/11/2016
- Re: [EDUC] Rouge, Vert, Bleu, de 0 à 255, Nicolas George, 03/11/2016
Archives gérées par MHonArc 2.6.19+.