Quelle serait la bonne façon de calculer la saturation dans ce cas?

12

J'essaie de faire une représentation HSV de l'espace colorimétrique xyY. Pour calculer la teinte à partir d'une couleur , j'utilise l'angle entre cette couleur et le rouge (longueur d'onde 745) sur le diagramme de chromacité xy, avec du blanc comme centre.(x,y)(13,13)

La saturation est le rapport entre la distance entre le blanc et , et le blanc et une version entièrement saturée de (qui est l'intersection entre la ligne entre et et le bord du diagramme de chromacité).(x,y)(x,y)(13,13)(x,y)

diagramme de chromacité xy:

Le problème que j'ai est que lorsque je trace mon espace colorimétrique (à valeur = 1) et le compare à la représentation HSV de RVB, la saturation (distance du centre) ne semble pas correspondre à la façon dont "colorée" la couleur est en fait:

Mon espace colorimétrique (la saturation semble incorrecte):

Espace colorimétrique HSV de RVB:

Comment dois-je plutôt calculer la saturation?

abcd5555
la source
2
Je pense que vous devriez ajouter plus de détails sur la façon dont vous avez réellement créé votre palette de couleurs / tableau afin que les utilisateurs puissent vous aider. Vous pouvez également envisager l'un des échanges de piles basés sur l'informatique.

Réponses:

5

Il n'y a malheureusement pas de bonne réponse à cette question. Cela ne fonctionnera tout simplement pas. Il n'y a pas de bon moyen de définir le coloré, c'est ce contexte. Cie essaie de capturer la mesure physique. Il ne réussit cependant pas très bien à relier les couleurs entre elles.

Les couleurs sur l'arc très extérieur représentent des distributions spectrales de la fonction delta proche de Dirac . On pourrait donc construire un modèle qui dit qu'une couleur est très colorée quand c'est un delta de Dirac.

Il y a cependant une conséquence imprévue de cette définition. À savoir les couleurs magenta n'existent pas comme Dirac Deltas. Comme ces couleurs n'existent pas dans le spectre. Ils sont donc constitués d'un mélange de 2 longueurs d'onde uniquement. Cela signifierait qu'ils sont moins colorés que la plupart des autres couleurs.

D'autres problèmes

Malheureusement, xyY n'est pas perceptuellement uniforme. Ainsi, une ligne droite sur le xyY ne représente pas les interpolations entre 2 mélanges de couleurs. Par conséquent, faire une transformation polaire signifie que vous aurez différentes bases de couleurs sur les mêmes coordonnées. De plus, la couleur précise ne se déplace pas vraiment vers votre modèle. Pour le faire correctement, vous devez effectuer une transformation extrêmement sophistiquée.

La conversion de la couleur en coordonnées polaires pose de nombreux problèmes, car c'est exactement le contraire de la vision. Le blanc est également un peu problématique dans ce contexte. La distance jusqu'au signal saturé complet est différente pour chacun des 3 cônes différents dans l'œil. L'enfer, même ce qui se passe dépend des couleurs environnantes et des conditions de couleur ambiante. Visez donc peur en essayant de forcer une vision du monde qui n'existe pas.

finalement

À quoi cela serait-il utile?

joojaa
la source
xyY est en effet linéaire, normalisé.
troy_s
@troy_s C'est énergétiquement linéaire, mais ce n'est pas linéaire dans la distance de couleur perçue. Il est vraiment très difficile de créer un espace uniforme en distance de perception entre 2 points.
joojaa
Perceptuellement uniforme est un terme bien meilleur que «linéaire». Il y a déjà assez de stupidité autour de ce terme.
troy_s
@troy_s Bon, bon nom pour ça, changé. J'étais en fait assis ici après avoir répondu et pensé avoir posé une question sur les mathématiques qui serait l'exigence minimale de linéaire. Afin de vérifier, le linéaire serait-il toujours admissible à la couleur.
joojaa
4

Les modèles XYZ et xyY sont extrêmement utiles pour certaines opérations telles que la manipulation des espaces colorimétriques RVB vers un autre espace colorimétrique codé RVB.

Cependant, XYZ et xyY échouent assez rapidement dans d'autres contextes. Par exemple, considérons les ellipses MacAdams qui décrivent des différences notables sur l'échelle linéaire xyY. Vous pourriez en fait appliquer une transformation non linéaire et perceptuellement uniforme aux valeurs xyY et vous vous retrouveriez probablement plus près de ce que vous espérez dans votre élément d'interface circulaire.

Cela étant dit, il existe des besoins pour des modèles qui s'étendent et s'appuient sur xyY / XYZ pour aborder l'aspect psychophysique de la couleur pour évaluer des choses telles que la "coloration". Cela entre dans le domaine des modèles d'apparence des couleurs , qui sont capables de modéliser et de prédire avec précision divers problèmes liés à la luminosité (luminance), la luminosité, la couleur, la chrominance, la saturation et la teinte. Pour atteindre ce que vous recherchez, vous devez transformer vos données en un modèle d'apparence de couleur tel que CIECAM02.

Les problèmes cités dans l'autre solution sont en fait résolus par des modèles d'apparence de couleur tels que le modèle CIECAM02, y compris des effets psychophysiques qui se manifestent sous forme d'illusions d'optique.

troy_s
la source