Ceci est lié à une question que j'ai posée sur tex.stackexchange , qui a un aspect couleur. Le résultat de cette question est l'image suivante:
J'ai dessiné une série de carrés gris à gauche, avec une branche rouge partant à droite. Le but est d'avoir des carrés rouges différents avec une saturation différente, mais tous avec la même valeur de gris. Dans le modèle de couleur hsv, ils ont tous la même chose v
, mais lorsque je convertis l'image en niveaux de gris à l'aide de Gimp, ils ne sont pas convertis en le même gris. L'impression visuelle est également que les carrés rouges de droite sont plus foncés que ceux de gauche.
Comment puis-je, avec un certain gris, calculer des couleurs avec une certaine teinte et la même valeur de gris (ou, mieux encore, avec la même impression de gris )? Les couleurs utilisées dans l'image sont toutes calculées, donc je préfère les solutions qui intègrent également les calculs.
J'ai peut-être utilisé des termes incorrects ici - je suis ingénieur en mécanique, veuillez donc me corriger le cas échéant, ou demander des éclaircissements.
La suggestion d'utiliser l'espace colorimétrique Lab m'a conduit à quelques conclusions:
Je peux utiliser la
L
valeur du modèle Lab pour définir une sorte de valeur de gris pour différentes couleurs. Dans le modèle hsv, c'estv
. Je ne sais pas si j'ai le droit de comparer ces informations, mais je le ferai jusqu'à ce que quelqu'un se plaint.Dans le modèle hsv, je peux également définir une "couleur de base" (une teinte), que je ne trouve pas dans le modèle Lab.
Dans le modèle hsv, j'ai 2 constantes (dans l'image ci-dessus:
h
= 0,v
= 0,375) et une variable (s
).Jusqu'à présent, je n'ai qu'une seule constante dans le modèle Lab. Cela ne suffit pas pour générer quelque chose de similaire à ce que j'ai déjà fait avec le modèle hsv.
Je suppose qu'il est temps de faire des expériences.
Terminé! Après avoir exécuté le code de conversion, c'était très simple. La première étape a été de définir le "rouge cible" à droite. J'ai calculé RGB2Lab (255,0,0) et changé la valeur L du résultat en L souhaité sur la figure (L = 62,5). Les couleurs sont calculées à l'aide d'une interpolation linéaire dans l'espace Lab de (L, 0,0) à (L, aTarget, bTarget). Le résultat:
Je vous remercie!