Pular para o conteúdo

Modelos de Cor & Percepção Humana (ColorSpaces.cs)

A cor é a percepção produzida no sistema visual humano em resposta a radiações eletromagnéticas na faixa visível (de 380 nm380\text{ nm} a 740 nm740\text{ nm}).

O arquivo ColorSpaces.cs reúne as transformações cromáticas fundamentais.


A retina humana contém células fotorreceptoras divididas em:

  • Bastonetes: Atuam em baixa luminosidade (visão noturna), sem discriminação de cores.
  • Cones: Responsáveis pela visão em cores (visão diurna). São classificados em três tipos:
    • Cones L (Long): Sensíveis ao espectro Vermelho (~560 nm560\text{ nm}).
    • Cones M (Medium): Sensíveis ao espectro Verde (~530 nm530\text{ nm}).
    • Cones S (Short): Sensíveis ao espectro Azul (~420 nm420\text{ nm}).

Característica Fisiológica

Cerca de 64% dos cones humanos são do tipo L (Vermelho) e 32% são do tipo M (Verde), enquanto apenas 2% a 4% são do tipo S (Azul). Por essa razão, os olhos humanos são muito mais sensíveis a variações de brilho no verde e no vermelho do que no azul.


Se convertermos uma imagem colorida para cinza usando uma média aritmética simples:

Ymeˊdia=R+G+B3Y_{\text{média}} = \frac{R + G + B}{3}

A imagem resultante apresentará distorção perceptiva, pois o azul parecerá excessivamente claro e o verde parecerá escurecido.

Y=0.2126⋅R+0.7152⋅G+0.0722⋅BY = 0.2126 \cdot R + 0.7152 \cdot G + 0.0722 \cdot B

2. ITU-R BT.601 (Padrão de Televisão Analógica NTSC/PAL):

Seção intitulada “2. ITU-R BT.601 (Padrão de Televisão Analógica NTSC/PAL):”
Y=0.299⋅R+0.587⋅G+0.114⋅BY = 0.299 \cdot R + 0.587 \cdot G + 0.114 \cdot B

3. O Espaço Cilíndrico HSV (Hue, Saturation, Value)

Seção intitulada “3. O Espaço Cilíndrico HSV (Hue, Saturation, Value)”

Enquanto o RGB reflete a forma como os monitores acendem pequenos LEDs, o HSV modela as cores de forma intuitiva para o ser humano:

  • Hue (Matiz - HH): Ângulo no círculo de cores de 0∘0^\circ a 360∘360^\circ (0∘=Vermelho,120∘=Verde,240∘=Azul0^\circ = \text{Vermelho}, 120^\circ = \text{Verde}, 240^\circ = \text{Azul}).
  • Saturation (Saturação - SS): Pureza da cor de 0.00.0 (cinza) a 1.01.0 (cor viva).
  • Value (Brilho - VV): Luminosidade de 0.00.0 (preto) a 1.01.0 (brilho máximo).

Fórmulas de Conversão RGB para HSV (R,G,B∈[0,1]R, G, B \in [0, 1]):

Seção intitulada “Fórmulas de Conversão RGB para HSV (R,G,B∈[0,1]R, G, B \in [0, 1]R,G,B∈[0,1]):”
V=max⁡(R,G,B),Δ=V−min⁡(R,G,B)V = \max(R, G, B), \quad \Delta = V - \min(R, G, B) S={0,se V=0ΔV,caso contraˊrioS = \begin{cases} 0, & \text{se } V = 0 \\ \frac{\Delta}{V}, & \text{caso contrário} \end{cases} H={0∘,se Δ=060∘×(G−BΔ mod 6),se V=R60∘×(B−RΔ+2),se V=G60∘×(R−GΔ+4),se V=BH = \begin{cases} 0^\circ, & \text{se } \Delta = 0 \\ 60^\circ \times \left( \frac{G - B}{\Delta} \bmod 6 \right), & \text{se } V = R \\ 60^\circ \times \left( \frac{B - R}{\Delta} + 2 \right), & \text{se } V = G \\ 60^\circ \times \left( \frac{R - G}{\Delta} + 4 \right), & \text{se } V = B \end{cases}

No padrão YCbCr:

  • YY (Luminância): O mapa de brilho (preto e branco).
  • CbCb (Chroma Blue): Diferença de cor azul (B−YB - Y).
  • CrCr (Chroma Red): Diferença de cor vermelha (R−YR - Y).

Como o olho humano percebe menos detalhes em variações de cor do que em variações de brilho, os compressores JPEG descartam parte dos dados dos canais CbCb e CrCr sem perda perceptível de qualidade (Subamostragem de Crominância).


A transformação sépia clássica é realizada por uma multiplicação matricial ponderada nos canais RGB:

[R′G′B′]=[0.3930.7690.1890.3490.6860.1680.2720.5340.131][RGB]\begin{bmatrix} R' \\ G' \\ B' \end{bmatrix} = \begin{bmatrix} 0.393 & 0.769 & 0.189 \\ 0.349 & 0.686 & 0.168 \\ 0.272 & 0.534 & 0.131 \end{bmatrix} \begin{bmatrix} R \\ G \\ B \end{bmatrix}

Próximo Passo: Veja como o Gerador de Amostras Sintéticas cria imagens de calibração.