Isso está relacionado a uma pergunta que fiz no tex.stackexchange , que tem um aspecto de cor. O resultado dessa pergunta é a seguinte imagem:
Eu desenhei uma série de quadrados cinza à esquerda, com um galho vermelho partindo para a direita. O objetivo é ter quadrados vermelhos diferentes com uma saturação diferente, mas todos com o mesmo valor de cinza. No modelo de cores hsv, todos têm o mesmo v
, mas quando converto a imagem em escala de cinza usando o Gimp, eles não são convertidos no mesmo cinza. Além disso, a impressão visual é que os quadrados vermelhos à direita são mais escuros do que os da esquerda.
Como posso, dado um certo cinza, calcular cores com um certo tom e o mesmo valor de cinza (ou, melhor ainda, com a mesma impressão em cinza )? As cores usadas na imagem são todas calculadas, portanto prefiro soluções que incorporem cálculos.
Talvez eu tenha usado termos errados aqui - sou engenheiro mecânico, portanto, corrija-me onde for apropriado ou peça esclarecimentos.
A sugestão de usar o espaço de cores do laboratório me levou a algumas conclusões:
Posso usar o
L
valor do modelo de laboratório para definir algum tipo de valor de cinza para cores diferentes. No modelo hsv, isso év
. Não tenho certeza se tenho permissão para compará-las, mas farei isso até que alguém se queixe.No modelo hsv, também posso definir algumas "cores base" (uma tonalidade), que não consigo encontrar no modelo de laboratório.
No modelo hsv, tenho 2 constantes (na imagem acima:
h
= 0,v
= 0,375) e uma variável (s
).Até esse ponto, eu tenho apenas uma constante no modelo de laboratório. Isso não é suficiente para gerar algo semelhante ao que eu já fiz com o modelo hsv.
Eu acho que é hora de experimentar.
Feito! Depois que o código de conversão foi executado, ficou fácil. O primeiro passo foi definir o "alvo vermelho" à direita. Calculei RGB2Lab (255,0,0) e alterei o valor L do resultado para o L desejado na figura (L = 62,5). As cores são calculadas usando uma interpolação linear no espaço Lab de (L, 0,0) a (L, aTarget, bTarget). O resultado:
Obrigado!