Modèle:Lo vers rvb

 Documentation[voir] [modifier] [historique] [purger]

Utilisation et paramètres modifier

En rouge, les longueurs d'on naturelle

Ce modèle vise à convertir une longueur d'onde (lumière monochromatique) visible en une formule RVB interprétable et affichable par l'ordinateur.

Objectif et contraintes modifier

Triangle des couleurs affichables sur un écran trichrome

La représentations des couleurs monochromatiques sur un écran RGB ne peut être faite que de manière subjective est imparfaite.

Ceci se voit sur le diagramme des couleurs présenté dans le plan xyz définit par le CIE: les longues d'onde forment une courbe extérieure, les couleurs d'un écran trichrome s'inscrivent dans un triangle. Ces deux formes géométriques, de fait, ne coïncident pas (la courbe n'est pas dans le triangle).

Il n'est donc pas possible de faire un calcul qui donne une représentation RVB exacte des longueurs d'onde, mais simplement de permettre une présentation approchée d'une longueur d'onde.

Le modèle n'est qu'une approximation: 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é.

L'illustration montre le Triangle des couleurs affichables sur un écran trichrome, que l'on peut aussi dénommer Gamut du système sRGB dans le diagramme xy.

En sRGB, les trois couleurs primaires sont les suivantes:

  x y λ pureté d'excitation
Blanc (D65) 0,3127 0,3990 0
Rouge 0,64 0,33 610 nm 92%
Vert 0,30 0,60 550 nm 74%
Bleu 0,15 0,06 466 nm 93%
rouge vert Bleu Point blanc
System xr yr xg yg xb yb xw yw
NTSC 0.67 0.33 0.21 0.71 0.14 0.08 0.3101 0.3162
EBU (PAL/SECAM) 0.64 0.33 0.29 0.60 0.15 0.06 0.3127 0.3291
SMPTE 0.630 0.340 0.310 0.595 0.155 0.070 0.3127 0.3291

La multiplicité des méthodes modifier

Le support sur lequel vous visualisez ce texte est certainement sRGB (notamment s'il s'agit d'un écran informatique). Il est alors incapable représenter les couleurs d'autres modèles comme les couleurs du modèle Adobe-RGB. Les couleurs représentées sur un écran ou un document imprimé en trichromie ne sont en aucun cas une représentation fidèle!

Le problème est donc particulièrement difficile à gérer lorsque l'on souhaite présenter une couleur précise en mode sRGB.

Ce problème se trouve décrit sur une page en anglais[1] ainsi que sur une page en français[2].

La page en français donne par exemple deux représentations du simple spectre monochromatique sur un écran sRGB, qui ne sont pas plus fausses l'une que l'autre. La différence entre les deux résultats vient des choix que l'on fait lorsque l'on décide de représenter l'image. Le même problème se pose de façon encore plus aigu lorsqu'il s'agit d'imprimer une photographie. Comme dit précédemment, l'espace colorimétrique CMJN d'imprimerie est un espace soustractif, et son gamut est très différent de l'espace sRGB.

Pour le rendu des couleurs, quatre méthodes de rendu différentes existent:

  • Le rendu perceptuel essaie de préserver la relation visuelle entre les couleurs de façon à maintenir un résultat aussi naturel que possible pour l'observateur, mais au détriment de la fidélité des couleurs. C'est la méthode utilisé de façon standard dans l'imprimerie japonaise. Elle est plutôt efficace pour les photographies contenant beaucoup de couleurs hors du gamut de l'espace de destination.
  • Le rendu saturé produit des couleurs aussi saturées que possible, au détriment de la précision. Cette méthode est surtout utilisée pour les diagrammes et schémas.
  • Le rendu colorimétrique relatif compare les couleurs les plus lumineuses des espaces de départ et d'arrivée et déplace les couleurs en conséquence. Les couleurs hors du gamut de l'espace d'arrivée sont transformées dans la couleur la plus proche de l'espace de destination. Cette méthode préserve davantage les couleurs que le rendu perceptuel. C'est la méthode standard en Europe et en Amérique du Nord.
  • Le rendu colorimétrique absolu est le plus simple. Il fait une simple transformation mathématique et ramène les valeurs hors du gamut dans l'espace d'arrivée par simple troncature. La fidélité des couleurs qui sont dans le gamut est parfaite, mais les relations impliquant des couleurs hors gamut sont faussées.

Ressources modifier

(Voir aussi Efficacité lumineuse spectrale)

Il existe également des ressources sur internet qui pourraient peut-être être prise en compte, par exemple le site web http:// de pierreontheweb.free.fr/RGB-wavelength/wavelength2RGB.htm

  • 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.
  • L'espace des couleurs, dans l'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, 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, numériquement entre 0 et 255, 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 utilisée pour Efficacité lumineuse spectrale est une des plus simples possibles.
Une autre méthode à 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 citées 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, il existe le diagramme avec une interpolation linéaire sur 20 plages (21 valeurs), 15 nm. Vous pouvez voir le résultat:

Tests modifier

Comment tester ce modèle, et comment obtenir les valeurs « attendues » ?

Plusieurs approches envisageables pour les tests:

  • Calculer les valeurs avec une deuxième implémentation du même algorithme
  • Vérifier la continuité des couleurs
  • Comparer visuellement les couleurs avec un autre modèle de calcul.
  • Comparer numériquement les triplets RVB avec d'autres triplets RVB: on risque de ttrouver dinumériquement différentes des couleurs visuellement identiques...

Implémentation modifier

Sans connaître le problème on pourrait naïvement croire qu'une formule mathématique donnerait une ou différentes formes de conversion de longueur d'onde vers RVB, c'est l'esprit de l'implémentation 1, implémentation totalement insatisfaisante. Dans la pratique, les algorithmes connus se basent donc sur des interpolations linéaires par tranche entre des valeurs de référence.

Aujourd'hui, quatre implémentations ont été proposées, mais elles n'ont pas encore été validées.

Implémentation 1 modifier

Cette implémentation se base sur des formules mathématiques trouvées sur internet. L'implémentation a été supprimée car insatisfaisante. Voir Modèle:Lo vers rvb/algo1.

Implémentation 2 modifier

Cette implémentation est plus compliquée, elle se base sur une interpolation linéaire par tranche trouvée sur internet. Voir Modèle:Lo vers rvb/algo2, pour référence.

Interpolation linéaire sur les tranches:

λ
380 < λ < 380 380 < λ < 420 420 < λ < 440 440 < λ < 490 490 < λ < 510 510 < λ < 580 580 < λ < 645 645 < λ < 700 700 < λ < 780 780 < λ

Implémentation 3 modifier

Cette implémentation est plus compliquée, elle se base sur une interpolation linéaire par tranche de 10 nanomètres, à partir des valeurs CIE trouvées. Voir Modèle:Lo vers rvb/algo3. (ébauche)

Implémentation 4 modifier

Cette implémentation se base encore sur une interpolation linéaire par tranche de 10 nanomètres, mais ici les valeurs CIE sont abandonnées au profit des valeurs fournies par wikipedia, pour la Vision photopique. Voir Modèle:Lo vers rvb/algo4.

Syntaxe modifier

{{Lo vers rvb|λ|γ}}
  • λ (lambda) : longueur d'onde en nanomèetre
  • γ (gamma) : un facteur lié à la luminosité. γ=1

Exemples modifier

Utilisation modifier

Longueur d'onde de 400nm

{{Lo vers rvb|400|1}}

Résultat : #3C005B

Longueur d'onde de 500nm

{{Lo vers rvb|500|1}}

Résultat : #00FF7F

Longueur d'onde de 650nm

{{Lo vers rvb|650|1}}

Résultat : #FF0000


Référence & comparaisons aux articles de wikipedia modifier

Comparaison avec Efficacité lumineuse spectrale modifier

Comparaison avec Efficacité lumineuse spectrale

Vision photopique modifier

En vision photopique, pour un rayonnement monochromatique de longueur d'onde , le flux énergétique en watt et le flux visuel correspondant en lumen sont reliés par la relation :

  • est la fonction d'efficacité lumineuse spectrale en lm/W (figure 1, en bleu) ; elle s'annule dans les domaines infrarouge et ultraviolet, invisibles à l'œil.
  • est l'efficacité lumineuse maximale pour une fréquence de 540 THz, c'est-à-dire une longueur d'onde proche de 555 nm (jaune-vert) pour laquelle l'observateur de référence est le plus sensible.
  • est la fonction d'efficacité lumineuse relative spectrale (figure 2, en bleu).
Efficacité lumineuse relative spectrale V(λ)[3]. Vision photopique. Vision diurne

(nm)

(nm)

(nm)

(nm)

(nm)

(nm)
    400 0.000039 500 0.323 600 0.631 700 0.004102 800 0.000004
410 0.00121 510 0.503 610 0.503 710 0.002091 810 0.000002
420 0.004 520 0.71 620 0.381 720 0.001047 820 0.000001
430 0.0116 530 0.862 630 0.265 730 0.00052 830 0
440 0.023 540 0.954 640 0.175 740 0.000249    
450 0.038 550 0.99495 650 0.107 750 0.00012
360 0.000004 460 0.06 560 0.995 660 0.061 760 0.00006
370 0.000012 470 0.09098 570 0.952 670 0.032 770 0.00003
380 0.000039 480 0.13902 580 0.87 680 0.017 780 0.000015
390 0.00012 490 0.20802 590 0.757 690 0.00821 790 0.000007

Les couleurs illustrant les longueurs d'onde sont celles se rapprochant le plus possible de la lumière monochromatique sur l'affichage d'un écran sRGB. Le réglage de votre écran affecte le rendu de ces couleurs.

Selon la norme ISO, les valeurs de V(λ) sont définies par pas de 5 nm.

Vision scotopique modifier

En vision scotopique, la formulation est identique, mais la sensibilité de l'œil humain est différente puisque seuls les bâtonnets permettent la vision. La sensibilité est maximale pour une longueur d'onde de 507 nm (bleu-vert) et l'efficacité lumineuse maximale vaut[4].

Comparaison algo2 & algo3 & algo4 modifier

sRGB rendering of the spectrum of visible light
sRGB rendering of the spectrum of visible light
Modèle Couleurs
algo2 410 431 451 472 493 513 534 554 575 596 616 637 658 678 699 719 740
algo3 410 431 451 472 493 513 534 554 575 596 616 637 658 678 699 719 740
algo4 410 431 451 472 493 513 534 554 575 596 616 637 658 678 699 719 740

Comparaison à un article du wikipedia anglophone modifier

sRGB rendering of the spectrum of visible light
sRGB rendering of the spectrum of visible light
Color Frequency Wavelength min moyenne max
violet 668–789 THz 380–450 nm violet violet 380 387 394 401 408 415 422 429 436 443 450
blue 606–668 THz 450–495 nm blue blue 450 455 459 464 468 473 477 482 486 491 495
green 526–606 THz 495–570 nm green green 495 503 510 518 525 533 540 548 555 563 570
yellow 508–526 THz 570–590 nm yellow yellow 570 572 574 576 578 580 582 584 586 588 590
orange 484–508 THz 590–620 nm orange orange 590 593 596 599 602 605 608 611 614 617 620
red 400–484 THz 620–750 nm red red 620 633 646 659 672 685 698 711 724 737 750
  1. mintaka.sdsu.edu/GF/explain/optics/rendering.html
  2. www.photo-lovers.org/color.shtml.fr
  3. Sève 2009, p. 334 ; ISO 11664-1:2007 (CIE S 014-1/E:2006).
  4. Sève 2009, p. 64.