Discussion modèle:Lo vers rvb

Dernier commentaire : il y a 9 ans par PolBr dans le sujet vision scotopique
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Problèmes rencontrés lors de cette ébauche modifier

  1. Premio: Comment récupérer la valeur calculée pour utiliser comme couleur de fond dans un tableau ou comme couleur dans un texte?
    Solution à trouver et à indiquer dans le modèle.
  2. Deuxio: Quel conversion peut faire référence? Le site web sité est-il suffisant? Peut-on avoir mieux?
    S'accorder sur une table de correspondance qui fasse foi, et l'indiquer dans le modèle (une sorte de table de test), à laquelle on pourra confronter les valeurs calculées.( à faire après le point premier)
  3. Tercio: Quelle formule mathématique? Et comment l'implémenter dans wikipedia? La formule actuelle obscurcit certaines couleurs...
    Trouver la formule mathématique qui va bien pour implémenter la bonne courbe en cloche, et l'implémenter dans wikipedia.

Conversion CIE modifier

La page Efficacité lumineuse spectrale contient en note la recette pour une approximation qui donne, pour une longueur d'onde donnée, la couleur informatique sRGB la plus saturée possible, dont la longueur d'onde dominante calculée suivant le principe de la colorimétrie de base est la même. C'est simple à calculer, mais les raisonnements qui sont dans ce modèle sont, AMHA, à côté de la plaque. Il n'est pas question là-dedans de la sensibilité spectrale des cônes. On ne part pas de là, mais des tables x,y,Y de la CIE (publiées dans Le Grand 1972 et dans Sève 2009 au pas de 5nm). Entre les valeurs des tables, une interpolation linéaire suffit.
La luminosité est à déterminer par ailleurs ; elle a une grande importance dans la perception de la couleur ; mais la luminosité perçue dépend du fond, on ne peut pas donner de règle générale. Un orange peu lumineux est un marron sur fond blanc, et un orange sur fond noir. Un violet rendu trop lumineux devient visuellement pourpre. Pour Efficacité lumineuse spectrale, j'ai opté pour un gamma à 0.25 pour qu'on voie des couleurs aux marges, mais pour une représentation plus fidèle des couleurs les plus visibles, au milieu du spectre (460 à 650 nm), il vaut sans doute mieux mettre 0.5 ou plus.
Cette méthode simple a deux inconvénients mineurs (1) la plus forte saturation de l'écran ne correspond pas à une pureté constante (spécialement dans les bleu-vert, l'écran ne pouvant pas en produire de saturés). (2) les lignes d'égale chromaticité ne sont pas droites sur le diagramme de chromaticité, il y a donc une petite erreur systématique dans la teinte.
Vous aurez inévitablement des surprises en pratiquant.
Avec un peu plus de travail, on pourrait convertir une lumière monochromatique en CIE xyz, puis de là en CIE LUV, calculer l'angle de teinte, et rechercher, dans le gamut sRGB la meilleure couleur avec le même angle. Je doute que ce travail soit utile pour une publication sur internet comme wikipedia, parce que le rendu final dépend de l'écran du lecteur et de ses réglages, desquels on ne sait rien.
Mais est-ce qu'on peut mettre du javascript dans wikipédia ? Non. Donc ça se fait, sur un tableur ou en javascript ou par tout autre programme, chez les contributeurs, et les autres contributeurs ainsi peuvent vérifier le résultat. Ce qui est très utile, à mon avis. On corrige ses erreurs. PolBr (discuter) 7 septembre 2014 à 14:17 (CEST)Répondre
Le raisonnement dans le modèle, du moins le raisonnement actuel, est peut-être «à côté de la plaque», mais il y a bien un moment où il doit y avoir un lien entre la couleur et l’œil; non!?
Maintenant, si une interpolation par tranche convient, c'est sans doute plus simple mettre en place.
J'ai trouvé une telle formule d’interpolation sur la page ci-après: http://pierreontheweb.free.fr/RGB-wavelength/wavelength2RGB.js
Si les valeurs ne sont pas justes, on doit pouvoir les adapter par la suite...
La conversion se sera jamais « juste », l’équivalence entre longueur d’onde et RVB étant par nature approximative. Il n’y a ni bijection, ni réciprocité entre les deux systèmes. Ad absurdum, il suffit de prendre une longueur d’onde en dehors de la zone visible. Et même en se restreignant à la zone visible, il y a un grand nombre de couleurs qui n’existe en RVB (cf. Gamut notamment). Et même encore en se restreignant aux couleurs existants en RVB, il y aura toujours une approximation (je passe tout un tas de « détails » dont ceux que PolBr (d · c · b) a déjà évoqué) : rien que le passage d’un système continu et un système discret engendre mécaniquement et automatiquement une perte d’information.
Cela n’empêche pas de créer un modèle mais il ne faut pas oublier que ce ne sera qu’une approximation.
Sinon, je me pose aussi la question : pourquoi un tel modèle ? (j’admire le principe mais j’ai du mal à percevoir l’utilité).
Cdlt, Vigneron * discut. 7 septembre 2014 à 15:55 (CEST)Répondre
OK, le modèle n'est qu'une approximation. De ce que j'en comprends, l'approximation n’est pas dans le modèle en lui-même, mais dans les limitations et la non standardisation des réglages des écrans et des yeux.
Un certain nombre de pages parlent de longueurs d'ondes et lorsque l'on veut illustrer une longueur d'onde, plutôt que de recalculer la valeur RVB à chaque fois de manière approximative et à chaque fois de manière différente, il peut être intéressant de centraliser cette fonctionnalité.
Ce qui est à côté de la plaque, dans le raisonnement du modèle, c'est de prendre pour base les courbes de sensibilités des cônes. Ces courbes sont dérivées des comparaisons visuelles des stimulus colorimétriques, et on retourne à la colorimétrie à la fin. Donc, inutile de s'occuper de ces courbes. Le plus simple est de rester dans la colorimétrie de base.
L'espace des couleurs, dans cette approche, a trois dimensions. CIExyY est un repère dans cet espace. Dans ce repère, la position des droites des lumières monochromatique est publiée. Si on passe sur une demi-charretée d'approximations, on peut considérer que sRGB est un autre repère, dans le même espace. On peut passer de l'un à l'autre par une matrice de transformation, (  VIGNERON :) et vice-versa. Seulement, sur un écran d'ordinateur, on ne pourra représenter que les points de l'espace dont les coordonnées sont entre 0 et 1 (exprimées, informatiquement, en 1/255, (  VIGNERON :) l'incrément est inférieur à la différence juste perceptible entre deux couleurs). Les droites des lumières monochromatiques ont toutes des coefficients négatifs sur toute leur longueur. Il faut se donner une règle pour les projeter dans la portion représentable de l'espace total des couleurs. Celle que j'ai utilisé pour Efficacité lumineuse spectrale est une des plus simples possibles.
Une autre méthode que je compte essayer, est de rechercher la pureté d'excitation maximale qu'on puisse appliquer de façon à ce que le résultat, pour toutes les longueurs d'onde, soit représentable sur un écran sRGB. Il y a plus de calculs, mais ça devrait donner un résultat plus satisfaisant visuellement ; sauf si le regard est trop habitué aux graphiques informatiques. Vers 510 nm, la pureté d'excitation de la couleur présentée par l'écran est d'environ 25%, près des primaires rouge et bleue, elle est d'environ 90%.
Les approximations que je cite ci-dessus sont celles de la colorimétrie de base (on pose que les relations sont linéaires, mais en fait, ce n'est pas le cas), celles des réglages des écrans sur lesquels nous n'avons aucune prise, et celle de l'environnement d'observation des écrans. Commençons par les négliger, ça vaut toujours mieux que de mettre des couleurs au pif. Il faut aussi compter avec l'intelligence de la vision, manifestée par l'adaptation chromatique. Elle ne s'intéresse qu'aux relations entre les couleurs. Il importe donc seulement que les couleurs de l'écran soient justes les unes par rapport aux autres (y compris par rapport au blanc de l'écran).
Dans Efficacité lumineuse spectrale, on est au pas de 10 nm. Pour Couleur, j'ai fait un diagramme Fichier:Selection Trichrome.svg avec une interpolation linéaire sur 20 plages (21 valeurs), 15 nm. Vous pouvez voir le résultat.
C'est du moins ce que je comprends au sujet.
PolBr (discuter) 7 septembre 2014 à 17:49 (CEST)Répondre
P.S. Comment obtenez-vous les valeurs « attendues » ?
PolBr (discuter) 7 septembre 2014 à 19:28 (CEST)Répondre
J'ai trouvé un autre document qui fait aussi référence au CIE, mais qui ne donne pas les tables de valeur:
nicolas_pousset.perso.neuf.fr/Recherche/These%20Nicolas%20POUSSET.pdf (http:// )
Le Grand 1972 et dans Sève 2009 ?
ça manque peut-être de notoriété; c’est inconnu sur internet!
J'ai quand même trouvé des données: à partie de CIE_RGB
on peut trouver www.cis.rit.edu/mcsl/research/1931.php puis:
www.cis.rit.edu/research/mcsl2/research/broadbent/CIE1931_RGB_v2.xls
Ce dernier lien contient différents types de tables par pas de 10 nm, dont une (ou deux) table CIE.
Il n'y a plus qu'à l'utiliser?
Dire que Yves Le Grand et Robert Sève, auteurs des principaux ouvrages de référence en colorimétrie en français, que vous pouvez lire dans un bon nombre de bibliothèques publiques et universitaires, manquent de notoriété est encore une fois alarmant. Sève n'a pas de notice biographique dans wikipédia, mais cherchez un peu « "Robert Sève" Science de la couleur » sur internet.
À propos de CIE_RGB, les primaires R, G, B qui ont servi à la construction de cet espace ne sont pas celle des écrans. Les coordonnées de celles-ci sont à chercher dans sRGB (pour les écrans aux normes et réglés comme elles l'indiquent). PolBr (discuter) 13 septembre 2014 à 16:50 (CEST)Répondre
Effectivement, le fait que les gens ne savent pas que les couleurs qui leur sont données à voir ne sont pas les couleurs réelles est alarmant.
Tout aussi alarmant, le fait que l'on ne puisse pas facilement trouver l’algorithme qui permette une conversion de longueur d'onde vers le RGB est alarmant. Cela nécessite un grand voyage. Mais, « Le plus grand voyage commence toujours par le premier pas. »
Pour commencer, avec un premier pas, dans le modèle il manque en effet quelques explication pour expliquer que les couleurs RVB ne sont pas des couleurs réelles, il est nécessaire de dire faire distinction entre longueurs d'onde, espaces XYZ, et espaces (s)RVB.
La matrice de conversion sRGB | CIExyY se trouve dans la définition de sRGB, qu'on trouve très facilement sur internet. Elle est directe pour un moniteur parfaitement conforme (sinon il faut son profil ICC). La conversion CIE xyY en longueur d'onde dominante + pureté d'excitation se fait très facilement sur le diagramme de chromaticité. On peut facilement écrire un algorithme pour déterminer l'intersection d'une droite définie par deux points et une courbe approchée par des segments de droite, ou inversement calculer le point du bord gamut sRGB sur la droite qui relie le lieu d'une lumière monochromatique au point blanc. On ne risque pas de « trouver l’algorithme qui permette une conversion de longueur d'onde vers le RGB ». Chaque option de calcul a ses propres approximations, la colorimétrie a ses approximations, et il faudrait un bouquin entier pour traiter raisonnablement la question. Pour situer le genre d'approximation dont je parle, il suffit de définir le point du gamut sRGB comme le plus proche colorimétriquement de la couleur de la lumière monochromatique. Le plus proche implique de déterminer des écarts de couleur. Il faut donc passer par un modèle colorimétrique basé sur les écarts de couleur. On a créé ces modèles justement parce que les approximations linéaires ne donnaient pas absolument satisfaction. Deux couleurs représentées sur le diagramme de chromaticité par deux points sur la même droite passant par le point blanc n'ont pas exactement la même chromaticité, même si elles ont la même luminosité et plus si elle ont une luminosité différente.
En colorimétrie, la longueur d'onde ne sert pas à grand'chose. C'est une notion de base pour la construction du système, mais les bouquins existants préfèrent centrer leur propos sur les méthodes de description qui donnent des résultats appropriés pour les clients de la colorimétrie, qui veulent en général déterminer si deux couleurs sont visuellement identiques, ou mesurer leur écart. Ces méthodes débouchent sur CIE L*a*b* et CIE L*u*v*, CIE CAM et autres. C'est un long voyage, parce que comme tout ce qui concerne les perceptions, ça cesse d'être simple dès qu'on pose des questions précises. PolBr (discuter) 14 septembre 2014 à 16:46 (CEST)Répondre
Est-ce que l'on peut considérer que le Modèle:Lo vers rvb/algo3 va dans ce sens? Si oui, pouvez-vous donner le facteur à appliquer pour la luminosité afin de rester dan la plage 0 .. 255 caractéristique de l'octet?

Alarmant ? modifier

L'état de votre projet est alarmant. Les couleurs présentées ne correspondent pas aux longueurs d'onde. sRGB vous indique la position normale des primaires de nos écrans. La primaire bleue est techniquement un bleu-violet vers 465 nm, le vert vers 550 nm, le rouge vers 610 nm.

Pour ce qui est des méthodes, l'article en anglais sRGB n'est sans doute pas irréprochable, mais c'est une lecture nécessaire pour s'occuper du sujet. PolBr (discuter) 10 septembre 2014 à 21:31 (CEST)Répondre

Quelles sont vos sources?
Et quel est le lien du sRGB avec la longueur d'onde?
vous indiquez que le rouge se trouve entre le vert et le bleu. Cela semble curieux
Ici l'implémentation présente est:
λ = 440 Bleu
λ = 510 Vert
645 < λ < 700 Rouge constant
On peut bien sur se demander si c'est faux.
Toutefois, il serait plus utile de trouver:
  1. Des exemples avec les bonnes couleurs sur wikipedia, ce qui permettrait de comparer.
  2. Des formules de calcul pouvant être insérées dans le wiki.
  1. bleu : c'était une faute de frappe, lire 465 nm
  2. Si j'avais une source qui explique le problème que vous vous posez, je l'aurais depuis longtemps indiquée. Yves Le Grand, Optique physiologique, tome 2 (1972), donne les bases de la colorimétrie, mais n'est pas à jour pour les systèmes perceptuels. Robert Sève, Science de la couleur, 2009, est à jour; mais comme le volume n'est pas plus gros, et qu'il y a plus de matière, des éléments qui se trouvent dans Le Grand ne sont pas développés. Petit, Roire et Valot, Encyclopédie de la peinture, donne des précieuses indications sans trop demander de connaissances préalables au tome 2, article « Couleur et colorimétrie ». Richard Langton Gregory, L'œil et le cerveau : la psychologie de la vision [« Eye and Brain: The Psychology of Seeing »], De Boeck Université, (1re éd. 1966) vous permettra d'élargir votre vision sur la vision. Tous ces livres se trouvent en bibliothèque (en tous cas à la BPI, Centre Pompidou, Paris) ; Sève et Gregory en bibliothèque et librairie, PRV en vente par correspondance. Vous trouverez sur internet un certain nombre de résumés sur la colorimétrie, mais à mon avis, rien qui remplace ces livres. La question des couleurs de l'écran d'ordinateur est beaucoup plus compliquée. Les papiers publiés supposent une connaissance des problèmes de la colorimétrie. Les informations sont éparses. Voyez peut-être (en) William Thompson et al., « Color », dans Visual Perception from a Computer Graphics Perspective, CRC Press, (lire en ligne).
  3. en anglais Adrian Ford et Alan Roberts, « Colour space conversions » et le FAQ sur www.poynton.com vous expliqueront les problèmes, tels qu'ils se posaient vers 1998. sRGB est une norme de construction, d'installation et de réglage de moniteur qui permet la conversion du code informatique de et vers un triplet de valeurs CIE XYZ, et par suite CIE xyY et CIE LUV. Comme les valeurs trichromatiques CIE peuvent se convertir en longueur d'onde dominante + pureté, connaissant le lieu spectral et le point blanc, on peut relier les longueurs d'ondes dominantes à des codes. C'est ce que j'ai fait, en indiquant les longueurs d'ondes des primaires RGB : un bleu-violet vers 465 nm, le vert vers 550 nm, le rouge vers 610 nm. Dans le meilleur des cas, un observateur distingue deux lumières monochromatiques dont la longueur d'onde diffère de 1 nm. Un résultat affiché avec des décimales au delà de la première est sans pertinence.
  4. Il se pose ensuite la question de savoir de combien on se trompe quand le moniteur est déréglé, ce qui est le cas de la quasi-totalité des écrans, qui sont optimisés pour un usage autre que l'édition en couleurs. Il n'y a pas d'erreur sur les couleurs primaires pures, ni sur les couleurs dites secondaires (même valeur pour deux primaires). Dans ce cas, le mauvais réglage intervient que sur la luminosité, mais comme il n'y a qu'une couleur, ou deux avec une luminosité égale, il n'y a pas de déviation de la teinte. Donc (0,0,x) correspond à 465 nm (bleu primaire), (0,x,x) à 492 nm (bleu-vert), (0,x,0) à 550 nm (vert), (x,x,0) à à 579 nm (jaune) et (x,0,0) à 610 nm (rouge). Comme il s'agit de montrer la couleur approximative des lumières monochromatiques, vous pouvez choisir une luminosité qui vous semble convenable. Si l'écran a les primaires sRGB, ces correspondances (à 1 ou 2 nanomètres près) sont valables quel que soit le réglage si l'écran est compatible sRGB et que les conditions d'examen ne soient pas trop différentes (éclairage ambiant). Pour les valeurs intermédiaires, je me souviens d'une étude qui indiquait qu'avec les réglages relevés sur un quantité de CRTs de bureau, l'erreur de teinte atteignait de 0.06 (radians), donc à peu près un centième de tour. Ce n'est pas énorme, mais c'est perceptible ; et certains appareils peuvent être encore plus déréglés.
  5. Des exemples avec des bonnes couleurs dans wikipédia : je me suis efforcé de les donner dans Efficacité lumineuse spectrale, et je pense que Raies de Fraunhofer présente un spectre correct.
  6. Il ne peut exister de formule de calcul exact. On fait des compromis et des approximations pour parvenir à une présentation. L'écran ne peut afficher les couleurs pures du spectre. La pureté est bonne pour les bleus et les rouges, mais est de moins de 50% pour les verts. Dans mon calcul, j'ai estimé droites les lignes d'égale tonalité. Elles ne le sont pas (Le Grand 1972:184). J'ai adopté le postulat de la colorimétrie de base qui fait de la teinte une grandeur de la luminosité ; et pourtant, au moment de choisir le multiplicateur qui donne la luminosité, je vois bien que la perception de la teinte dépend de la luminosité (c'est particulièrement vrai pour les bleus et rouges extrêmes). Vous pouvez faire d'autres approximations. C'est parce que plusieurs approximations sont possibles qu'il existe plusieurs systèmes de couleurs informatique. Toutes les formules se basent sur des tables. Celles que j'ai utilisées, publiées dans Sève 2009, donnent les valeurs au pas de 5 nm, et j'ai fait entre ces valeurs des approximations linéaires, pour calculer le lieu spectral. Ces calculs sont simples et fastidieux.
  7. Quant aux valeurs que vous présentez : λ = 440 est un violet type, et pour les autres, je vous renvoie à Efficacité lumineuse spectrale et sa page de discussion.
Ok, dans l'immédiat, l'algo4 a été ajouté. Voilà.

vision scotopique modifier

Vous avez copié la section de Efficacité lumineuse spectrale sur la vision scotopique. À titre provisoire, j'avais recopié telles quelles les couleurs de la vision photopique ; c'est un problème, puisque la vision scotopique ne distingue pas les couleurs ; mais si on ne représente pas les couleurs, on ne situe pas bien la partie du spectre visible. Entre la vision photopique, en couleurs, et la vision nocturne, scotopique, sans couleurs, comme vous le savez parfaitement bien l'effet Purkinje décale les couleurs vers le bleu. Il y a une grosse difficulté pour expliquer visuellement ces effets, et cette explication sortait du cadre de l'article. Votre copie montre la confusion que ces couleurs peuvent apporter, je les supprime de la Efficacité lumineuse spectrale. PolBr (discuter) 26 septembre 2014 à 11:13 (CEST)Répondre

Revenir à la page « Lo vers rvb ».