Estou tentando fazer uma representação HSV do espaço de cores xyY. Para calcular a matiz de uma cor , utilizo o ângulo entre essa cor e o vermelho (comprimento de onda 745) no diagrama de cromaticidade xy, com branco ( 1como o centro.
A saturação é a razão entre a distância entre branco e e branco e uma versão totalmente saturada de ( x , y ) (que é a interseção entre a linha entre ( 1e(x,y) e a aresta do diagrama de cromacidade).
diagrama de cromacidade xy:
O problema que estou enfrentando é que, quando planto meu espaço de cores (no valor = 1) e o comparo com a representação HSV do RGB, a saturação (distância do centro) parece não corresponder a quão "colorida" a cor na verdade é:
Meu espaço de cores (a saturação parece errada):
Espaço de cores HSV do RGB:
Como devo calcular a saturação?
fonte
Respostas:
Infelizmente, não há uma boa resposta para essa pergunta. Simplesmente não vai funcionar. Não há uma boa maneira de definir colorido, neste contexto. Cie está tentando capturar a medição física. No entanto, não consegue muito bem relacionar as cores entre si.
As cores no arco externo representam distribuições espectrais próximas da função delta de Dirac . Então, pode-se construir um modelo que diga que uma cor é muito colorida quando é um delta do Dirac.
Há uma conseqüência imprevista dessa definição. Ou seja, as cores magenta não existem como Dirac Deltas. Como essas cores não existem no espectro. Portanto, eles consistem na mistura de apenas 2 comprimentos de onda. Isso significa que eles são menos coloridos do que a maioria das outras cores.
Outros problemas
Infelizmente, xyY não é perceptualmente uniforme. Portanto, uma linha reta no xyY não representa interpolações entre duas misturas de cores. Portanto, fazer uma transformação polar significa que você terá diferentes bases de cores nas mesmas coordenadas. As cores precedidas também não passam para o seu modelo. Para fazer isso corretamente, você precisaria fazer uma transformação extremamente sofisticada.
Existem muitos problemas com a conversão de cores em coordenadas polares, pois isso é exatamente o contrário de como a visão funciona. O branco também é um pouco problemático nesse contexto. A distância para o sinal saturado total é diferente para cada um dos 3 cones diferentes no olho. Inferno, mesmo o que está acontecendo depende das cores circundantes e das condições de cor ambiente. Portanto, tenha medo de tentar forçar uma visão de mundo que não existe.
Finalmente
Para que isso seria útil?
fonte
Os modelos XYZ e xyY são extremamente úteis para determinadas operações, como manipular espaços de cores RGB em outro espaço de cores codificado em RGB.
No entanto, XYZ e xyY falham rapidamente em outros contextos. Por exemplo, considere as elipses do MacAdams que descrevem diferenças visíveis na escala xyY linear. Na verdade, você pode aplicar uma transformação não linear e perceptualmente uniforme aos valores xyY e provavelmente acabará mais perto do que deseja no elemento de interface circular.
Com isso dito, há necessidade de modelos que se estendam e se baseiem em xyY / XYZ para abordar o aspecto psicofísico da cor para avaliar coisas como "cores". Isso entra no domínio dos Modelos de aparência de cores , capazes de modelar e prever com precisão vários problemas em torno do brilho (luminância), luminosidade, colorido, croma, saturação e matiz. Para alcançar o que você está procurando, seria necessário transformar seus dados em um modelo de aparência de cores como CIECAM02.
Os problemas citados na outra solução são de fato resolvidos por modelos de aparência de cores, como o modelo CIECAM02, incluindo efeitos psicofísicos que se manifestam como ilusões de ótica.
fonte