sábado, 12 de fevereiro de 2011

Paleta de cores

Uma paleta de cores é a designação utilizada para qualquer subconjunto de cores do total suportado pelo sistema gráfico do computador. Uma paleta de cores pode também ser chamada de mapa de cor, mapa de índice, tabela de cor, tabela indexada ou tabela de procura de cores (Lookup Table – LUT). Cada cor dentro da paleta é identificada por um número (índice).

Como foi visto no ponto anterior, a utilização de paletas permite diminuir o tamanho dos ficheiros de imagens, porque apenas são armazenadas em memória as cores utilizadas.

Indexação de cor

A indexação de cor consiste em representar as cores dos píxeis por meio de índices de uma tabela (Lookup Table) e que, em alguns formatos de imagem, é armazenada juntamente com a mesma num único ficheiro. As cores desta tabela são conhecidas como cores indexadas, porque estão referenciadas pelos números de índice que são usados pelo computador para identificar cada cor.

Enquanto uma imagem RGB é definida separadamente por valores de vermelho, verde e azul para cada pixel numa imagem, uma imagem de cor indexada cria uma tabela que define um número de cores predefinidas e cada pixel é definido por um índice de cor dessa tabela.

A imagem seguinte mostra a caixa de diálogo Material Properties do Paint Shop Pro com uma tabela (paleta) de 16 cores (4 bits de profundidade de cor). O vermelho é a cor seleccionada e o seu índice é o 9.


As cores indexadas reduzem o tamanho dos ficheiros de imagens. No entanto, se a imagem for uma fotografia, esta pode originar um ficheiro de cores indexadas de tamanho grande.


As cores indexadas estão limitadas a 256 cores, podendo ser qualquer conjunto de 256 cores de 16,7 milhões de 24 bits de cor. Se tivermos um gráfico a preto e branco e se este for guardado com um formato de cor indexada, a tabela contém apenas as cores preta e branca necessárias para a imagem e não precisa de conter 256 cores ou menos. Assim, o ficheiro torna-se mais pequeno, não necessitando de guardar informação a mais.


Profundidade de Cor

A profundidade de cor indica o número de bits usados para representar a cor de um pixel numa imagem. Este valor é também conhecido por profundidade do pixel e é definido por bits por pixel (bpp).

O quadro seguinte mostra a relação entre o número de bits e o número de cores que podem ser produzidas. Mostra também os respectivos modelos de cor e padrões gráficos utilizados em monitores e placas gráficas.

Profundidade de cor (nº de bits)

Nº de cores produzidas

Qualidade de cor

Padrão gráfico

1

21 = 2

Preto e branco

Monocromática

2

22 = 4

Cores de 2 bits

CGA (Color Graphics Adapter

4

24 = 16

Cores de 4 bits

EGA (Enhanced Graphics Adapter)

8

28 = 256

Cores de 8 bits

VGA (vídeo Graphics Adapter

16

216 = 65 536

Cores de 16 bits (High color)

XGA (Extended Graphics Array)

24

224 = 16 777 216

Cores de 24 bits (True color)

SVGA = SuperVGA

32

232 = 4 294 967 296

Cores de 32 bits

SVGA = SuperVGA

A profundidade de cor das imagens varia com o numero de cores presentes na imagem. No modelo RGB, com a profundidade de 24 bits existe a possibilidade de escolher 16,7 milhões de combinações de cor. Embora o olho humano não possa identificar estes 16,7 milhões de cores, este número de combinações permite variações ténues que dão a impressão de imagens com aspectos muito reais.

Resolução e Tamanho

Uma imagem digital é uma representação discreta, isto é, constituída por pixels (pixel – Picture element). O pixel, normalmente um quadrado, é a unidade elementar de brilho e cor que constitui uma imagem digital.





Fig.1 - Imagem constituída por um conjunto de pixels.






Assim, a definição de resolução de uma imagem é entendida como a quantidade de informação que a imagem contém por unidade de comprimento, isto é, o número de pixels por polegada, ppi (pixels per inch). A resolução da imagem pode também ser definida, de forma imprópria, pelo seu tamanho, ou seja, pelo número de pixels por linha e por coluna.

A resolução de uma imagem digital determina não só o nível de detalhe como os requisitos de armazenamento da mesma. Quanto maior a resolução de uma imagem maior será o tamanho do ficheiro de armazenamento.

O nível de detalhe de uma imagem depende da informação de cada pixel. Cada pixel é codificado de acordo com a cor e o brilho que representa, isto é, ocupa em memória um número de bits que varia de acordo com o número de cores, tons de cinza e brilho definido para uma determinada imagem.

Aplicações

As aplicações do modelo RGB estão associadas à emissão de luz por equipamentos como monitores de computador e ecrãs de televisão.

Por exemplo, as cores emitidas pelo monitor de um computador baseiam-se no facto de o olho e o cérebro humano interpretarem os comprimentos de onda de luz das cores vermelha, verde e azul. Por isso, estas são emitidas pelo monitor, que combinadas podem criar milhões de cores.

O monitor CRT é essencialmente um tubo de raios catódicos (CRT – Catodic Ray Tube)que aloja um canhão de electrões e que é fechado na frente por um vidro, o ecrã, revestido internamente por três camadas de fósforo. Para gerar uma cor, os monitores coloridos precisam de três sinais separados que vão sensibilizar os respectivos pontos de fósforos das três cores primárias.




Representação de um cubo com as cores do modelo RGB


O quadro seguinte exemplifica várias cores do modelo RGB representadas por valores decimais e inteiros.

Cor

Valor decimal

Valor inteiro

Preto

(0,0,0)

(0,0,0)

Vermelho (R)

(1,0,0)

(255,0,0)

Verde (G)

(0,1,0)

(0,255,0)

Azul (B)

(0,0,1)

(0,0,255)

Branco (R+G+B)

(1,1,1)

(255,255,255)

Amarelo

(1,1,0)

(255,255,0)

Ciano

(0,1,1)

(0,255,255)

Magenta

(1,0,1)

(255,0,255)

90% Preto

(0.1,0.1,0.1)

(25,25,25)

Azul-Celeste

(0,0.8,1)

(0,204,255)


Modelo RGB / Caracterização

O modelo RGB é um modelo aditivo, descrevendo as cores como uma combinação das três cores primárias: vermelha (Red), verde (Green) e azul (Blue). Em termos técnicos, as cores primárias de um modelo são cores que não resultam da mistura de nenhuma outra cor.

Qualquer cor no sistema digital é representada por um conjunto de valores numéricos. Por exemplo, cada uma das cores do modelo RGB pode ser representada por um dos seguintes valores: decimal de 0 a 1, inteiro de 0 a 255, percentagem de 0% a 100% e hexadecimal de 00 a FF.

Correspondência entre valores

Decimal

0

0,2

0,4

0,6

0,8

1

Inteiro

0

51

102

153

204

255

Percentagem

0

20

40

60

80

100

Hexadecimal

00

33

66

99

CC

FF

Como o modelo RGB é aditivo, a cor branca corresponde à representação simultânea das três cores primárias (1,1,1), enquanto que a cor preta corresponde à ausência das mesmas (0,0,0).

A escala de cinzentos é criada quando se adicionam quantidades iguais de cada cor primária, permanecendo na linha que junta os vértices preto e branco.