Representação de cores Computação Gráfica Cores Renato Ferreira Tratados de maneira geral como triplas RGB Um parâmetro alpha opcional Quase todas operações separadas por componente Mas usualmente tratadas como idênticas Somente um raio transmitido, apesar da diferença em comprimento de onda Representação bastante limitada Uma forma de radiação eletro-magnética Como raio-x, microondas, ondas de rádio Caracterizada por um comprimento do onda: λ Frequência f = 2π/λ Amplitude define a intensidade Só percebemos uma faixa bem limitada do espectro Cada comprimento de onda é uma cor diferente O que é luz Distribuição espectral da iluminação A luz é uma mistura de diversos comprimentos de onda Cada um com a sua intensidade Distribuição Espectral: Intensidade em função de λ para o espectro inteiro Percebemos essa distribuição como cores Um artefato do nosso sistema visual 1
Anatomia do olho humano Anatomia do olho humano A íris deixa a luz entrar nos olhos Contrai e dilata em função do brilho O furo na íris é chamada de pupila As lentes focam a luz na retina Reconfiguração dinâmica pela musculatura de controle de foco As células na retina reagem à luz Enviam sinais ao córtex cerebral pelo nervo ótico A fóvea é a região de maior acuidade Composição da retina Resposta à cor Cones: concentrados na fóvea Alta precisão, requer muita luz Responde à cor Bastonetes: concentrados fora da fóvea Menos acuidade, requer menos luz Responde apenas à intensidade Note que percebemos menos cores no escuro Três tipos de cones: S, M, L S = ondas curtas: azul M = ondas médias: verde L = ondas longas: vermelho Muito menos sensibilidade ao azul Níveis de resposta à luz Isso implica que percebemos luz como um espaço 3D 2
Representando cores Cada pixel no nosso frame buffer é uma tripla RGB Cada canal de cor varia entre 0 e 1 Ou entre 0-255, se usamos 8 bits por canal Cada pixel no CRT contém 3 fósforos Elementos Vermelho, Verde e Azul Feixe eletrônico varre os pixels linha a lina O Framebuffer controla a intensidade do feixe eletrônico 0: desligado 1: máxima intensidade O espaço RGB Representamos Cores como uma combinação de primárias Estabelecemos 3 primárias (Vermelho, Verde e Azul) Todas as outras cores são funções dessas 3 C = rr +gg + bb Por quê RGB? Essencialmente por causa do nosso sistema visual Correlaciona com os picos de percepção de nossos cones Importante: requer uma definição de Vermelho, Verde e Azul que não necessariamente corresponde às produzidas pelo seu monitor Funções de mapeamento de cores RGB Dada uma distribuição espectral qualquer Calcular os valores RGB usando as funções de mapeamento Valores negativos? Algumas cores não podem ser geradas com combinações de R, G e B. Assumindo RGB padrão Na realidade, cada monitor é diferente! Os valores negativos signifcam que para gerar certas cores é preciso adicionar mais vermelho 3
Outras formas de representar cor O padrão CMY O padrão RGB é arbitrário Baseado no nosso sistema de percepção Em princípio poderiamos usar quaisquer 3 primárias As outras cores seriam combinações delas Poderiamos contruir outros espaços 3D Onde as dimensões não são cores primárias Mas tem significado físico RGB não é sempre a melhor escolha Esquemas diferentes têm aplicações diferentes Um outro conjunto de cores primárias Cyan, Magenta e Yellow: complementos de RGB Conhecido como primitivas subtrativas Ao invés de adicionar luz, adicionam absorção RGB para emissão CMY para pigmentos CMYK: acrescenta a primária preta O padrão HSV Padrão HSV como Interface As dimensões não são mais cores Hue cor base Saturation pureza da cor Value brilho Projetado para especificação de cores Mais user-friendly Esse espaço pode ser visto como um cone hexagonal RGB e CMY sao cubos 4
Modelo empírico Projetado em 1930 pelo CIE Usando primárias supersaturadas Não é fisicamente realizavel Funções de mapeamento não negativas X = k O Espaço XYZ Correção Gama Assume luminância proporcional à voltagem. Mas não é!! Luminância a potência do feixe de elétrons. Luminância Voltagem γ. γ entre 1.5 e 3.0 (depende do monitor). Deve pré-compensar valores RGB. Alguns monitores fazem a correção gama por hardware, outros não. 5