A matemática por trás das cores do computador

12 de janeiro

A mistura de apenas três números gera quase 17 milhões de cores nas telas digitais

A cada vez em que você vê um vídeo ou uma imagem na tela, o seu computador está fazendo cálculos e mais cálculos para simular o funcionamento dos seus olhos. Um dos exemplos mais interessantes para demonstrar todo o trabalho envolvido na simulação de habilidades próprias do ser humano é o processo que faz o computador “enxergar” e reconhecer cores. 

Os computadores possuem um processo que parte de uma lógica semelhante à da retina, só que codificado de maneira numérica. Cada matiz de cor tem uma espécie de “RG” que a identifica digitalmente. O “RG” das cores na tela tem uma letra a mais: chama-se RGB (Red, Blue e Green, ou vermelho, verde e azul). 

Pela teoria das cores, todo tom de cor vem de uma combinação de frações das cores básicas, e cabe em algum ponto de uma roda com as interações cromáticas. 

Um monitor de computador tem milhões de pixels (menor unidade de imagem) e cada um desses quadradinhos contém três pontos, os chamados fósforos. Esses pontos seriam equivalentes às células da retina chamadas cones, fundamentais para o reconhecimento da cor pelo olho humano. Quando atingido pela luz, cada ponto emite as cores vermelho, verde e azul em intensidades que variam de acordo com a cor apresentada. 

Nesse modelo, essas três cores são produzidas a partir de valores que vão de 0 a 255, que correspondem à intensidade de cada cor. Para a cor vermelha pura, por exemplo, o fósforo vermelho precisaria conter o valor 255, enquanto o azul e o verde teriam de estar zerados. Para a cor branca, que é a soma de todas as cores, os três fósforos teriam de estar no 255. 

É por isso que anúncios de telefones celulares dizem que a tela tem mais de 16 milhões de cores: 256 – ou seja, o total de valores incluindo o zero -, elevado ao cubo (são três cores, com o mesmo número de tons), dá 16.777.216. Variando-se apenas três números, é possível representar 16,8 milhões de tonalidades de cor diferentes. Em 2014, o programador húngaro József Fejes criou uma imagem usando todas elas de uma só vez.

Outro sistema utilizado para representar o “RG” de uma cor é o código hexadecimal (HEX) – ou seja, um sistema numérico com base 16, e não 10. Nele, as combinações de tonalidades são “hashtags” que começam com o sinal de # e são seguidas de três pares de números e letras, do #000000 (preto) ao #ffffff (branco). É possível representar com esses códigos todas as cores do RGB, e eles são bastante usados para definir cores de sites, por exemplo. 

Toda cor em qualquer imagem tem o seu próprio código, portanto, é possível descobri-lo usando ferramentas de edição ou ferramentas como a da página Image Color Picker. Por exemplo: a cor da bermuda do Mickey Mouse, um vermelho quase puro, pode ser identificada tanto em RGB (253, 0, 2), quanto em código HEX (#fd0002). 

Já a cor da calça azul do Pateta tem outro identificador, tanto em HEX (#00daef) quanto em RGB (0, 218, 239).

Embora o sistema RGB seja o mais conhecido, não é o único. Nos últimos anos, foram lançados sistemas de TV que anunciam a possibilidade de mostrar mais de um bilhão de cores. As nuances entre elas, porém, são certamente ainda mais sutis do que as do sistema RGB, pois o começo e o fim do espectro continuará sendo o mesmo. 

A codificação das cores foi apenas um passo inicial para o reconhecimento de imagens por parte dos computadores. Hoje, um dos campos em desbravamento na inteligência artificial é a chamada “visão computacional”, que além das cores identifica formas, profundidade, movimento, calor e até mesmo identifica objetos e pessoas a partir de imagens em bancos de dados. 

Veja no vídeo abaixo como um computador aprende a entender imagens:

Foto de capa: Reprodução Public lab