Manipulação de imagens
1.Tipos de imagens
1.1 Imagens True-Color
Tem-se geralmente 24 bits/pixel
8 bits para cada componente RGB
2^24 cores possíveis para cada ponto : 16.777.216 cores
rgb | rgb | rgb | rgb | rgb | rgb |
rgb | rgb | rgb | rgb | rgb | rgb |
rgb | rgb | rgb | rgb | rgb | rgb |
rgb | rgb | rgb | rgb | rgb | rgb |
rgb | rgb | rgb | rgb | rgb | rgb |
1.2 Imagens com Palette
A imagem é separada em duas partes
Palette
rgb | rgb | rgb | rgb | rgb | rgb | rgb | rgb |
rgb | rgb | rgb | rgb | rgb | rgb | rgb | rgb |
Imagem
14 | 06 | 04 | 03 | 06 | 12 |
14 | 12 | 10 | 08 | 07 | 06 |
06 | 00 | 09 | 06 | 07 | 11 |
11 | 10 | 05 | 03 | 06 | 03 |
O número de cores diferentes por imagem é limitado pelo tamanho do Palette
2. Redução do número de cores
Como exibir uma imagem True-Color em um dispositivo
com Palette ?
Como exibir uma imagem com palette de 256 cores em um
dispositivo de 16 cores ?
Genericamente: Como exibir uma imagem com um M cores diferentes
(M trincas RGB distintas) e um dispositivo capaz de exibir N cores
diferentes sendo N < M ?
Algoritmo
1. Tomar a imagem de entrada e determinar quais as N cores que mais vezes aparecem
2. Criar um palette com estas cores
3. Para cada ponto da imagem de entrada
3.1 Determinar qual das entradas do palette construído mais se parece
com a cor (RGB) do ponto
3.2 Exibir o ponto com a cor obtida
2.1 Cores Parecidas
Para determinar qual dentre duas cores(RGB) é a que mais se parece com uma terceira basta calcular a distância entre as cores no espaço RGB.
Quanto menor a distância mais pareciadas são Cor 1 e Cor 2
3. Exibição de imagens em tons de cinza
3.1 Tom de cinza
Uma cor é um tom de
cinza sempre que suas componentes R, G e B são iguais
Preto R:0 G:0
B:0
Branco R:255 G:255 B:255
Cinza R:30 G:30 B:30
Cinza R:200 G:200 B:200
3.2 Grau de luminosidade
O grau de luminosidade de
uma cor significa quanto o olho humano pode perceber desta cor.
Pode ser calculado por
Luminosidade = R*0.3 + G*0.59 + B *0.11