Você está na página 1de 13

Quantizao de Cor

____________________________________________________________________________

Introduo

Quantizao de Cor

____________________________________________________________________________

Introduo
Efeitos da Discretizao Espacial
(reduo da resoluo espacial)

Uma imagem bitmap est associada a dois processos de


discretizao:
Discretizao Espacial (Processo de Amostragem
Espacial)
Discretizao da Intensidade/Cor (Processo de
Quantizao de Cor)

Estes processos de discretizao ocorrem nos dispositivos


de captura de imagem (cmera, scanner, etc...)

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
226

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
227

Quantizao de Cor

____________________________________________________________________________

Introduo

Quantizao de Cor

____________________________________________________________________________

Introduo

Efeitos da Quantizao de Cor


(256, 128, 64, 32,16, 8, 4 e 2 nveis)
As restries/caractersticas de um determinado dispositivo
de apresentao, pode exigir a manipulao de uma imagem
com o objetivo de alterar a resoluo espacial e/ou a
quantizao das intensidades/cores.
A alterao da resoluo espacial envolve procedimentos de
mdia de valores dos pixels e duplicao de valores de
pixels.

A quantizao de cor apresenta-se como um problema mais


complexo admitindo vrias aproximaes.

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
228

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
229

Quantizao de Cor

____________________________________________________________________________

Introduo
O processo de quantizao transforma um conjunto de
cores com M elemento em um conjunto de cores com N
elementos, onde M > N.

Quantizao de Cor

____________________________________________________________________________

Conceitos

Quantizao de 3 bits (8 nveis) para 2 bits (4 nveis) imagem em tons de cinza (grayscale).

Sada

Observaes
Para M = , tem-se uma imagem originalcontnua no
espao de cor que se quer representar de maneira
discreta - por exemplo 24-bits truecolor.
Para M , tem-se uma imagem discreta (por
exemplo, truecolor M = 224) e ser efetuada a reduo
do nmero de cores (por exemplo, para utilizar uma
estratgia de pseudo color com paleta de 256 cores)
Exemplos de problemas prticos que envolve a quantizao
de cores:
Apresentar imagem truecolor em dispositivo baseado
em tabela de cores (pseudo color);
Apresentar imagem em tons de cinza (grayscale) em
dispositivos monocromticos como por exemplo
impressora laser;

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
230

3
Nveis
de
Quantizao

2
1
Entrada
0
0

Clula de
Quantizao

O conjunto de cores de entrada subdividido em conjuntos


menores : intervalos de quantizao ou clulas de
quantizao.
Todas as cores de uma clula de quantizao assumem um
mesmo valor de sada - um determinado nvel de
quantizao - o valor representante dos elementos da
clula.
____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
231

Quantizao de Cor

____________________________________________________________________________

Quantizao de Cor

____________________________________________________________________________

Conceitos (cont.)

Na quantizao unidimensional (tons de cinza) a clula de


quantizao um intervalo.

Classificao

O processo de quantizao tem duas etapas:

Definio/determinao das clulas de quantizao;


Na quantizao colorida (tridimensional) a clula de
quantizao um volume do espao de cor.
Definio/determinao do nvel de quantizao de
cada clula.
G

Os algoritmos podem ser classificados quanto ordem


destas duas etapas, sendo possvel diferenciar trs
situaes distintas:
1

Determinao simultnea e interdependente das


clulas e dos nveis de quantizao (exemplo:
quantizao uniforme)

Determinao dos nveis de quantizao seguida de


determinao dos conjuntos de cores (clula) que
devem ser mapeadas para cada nvel (exemplo:
algoritmo da populosidade)

Determinao da clulas de quantizao seguido de


clculo dos nveis de quantizao associado a cada
clula (exemplo: algoritmo do corte mediano)

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
232

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
233

Quantizao de Cor

____________________________________________________________________________

Quantizao de Cor

____________________________________________________________________________

Quantizao uniforme

Dividir o espao de cores em clulas uniformes e tomar o


centro (valor mdio) como nvel de quantizao.

Quantizao uniforme

Quantizao de fcil implementao


Para imagens com distribuio uniforme de cores
apropriada (distribuio uniforme - as cores esto
distribudas uniformemente no espao de cor)

Exemplo Bidimensional

Clula de
Quantizao
Cor da Imagem Original

Nvel de Quantizao

Observao: No espao RGB, as clulas seriam cubos.

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
234

Imagem com Distribuio


Uniforme

Imagem com distribuio


No-uniforme

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
235

Quantizao de Cor

____________________________________________________________________________

Quantizao uniforme

Para distribuio no-uniforme de cores na imagem


original esta estratgia de quantizao no apropriada.
Podem existir clulas que no contm cores da
imagem original - desperdcio de nveis de
quantizao.
Em regies mais densas poderamos utilizar os nveis
desperdiados para melhor representar as cores.

Quantizao de Cor

____________________________________________________________________________

Algoritmo da Populosidade

O algoritmo da populosidade um algoritmo adaptativo


que primeiro define os nveis de quantizao para depois
determinar as clulas de quantizao.
Em geral, os algoritmo adaptativos de quantizao
utilizam o histograma de freqncia de ocorrncia das
cores na imagem para caracteriz-la.
Histograma de cor (exemplo grayscale)

Freqncia de ocorrncia
(quantidade de vezes que ocorre)

Cor
0

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
236

10

11

12

13

14

15

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
237

Quantizao de Cor

____________________________________________________________________________

Algoritmo da Populosidade
Algoritmo da Populosidade

Quantizao de Cor

____________________________________________________________________________

Algoritmo da Populosidade
Proximidade: Definir mtrica (medida de distncia
entre pontos)

Passo 1: Calcular o histograma da imagem;


Funo distncia D
Passo 2: Determinar as N cores que ocorrem com
maior freqncia (cores mais populosas)
Passo 3: Adotar as N cores como os N nveis de
quantizao.
Passo 4: Quantizar a imagem, mapeando as cores
para os nveis utilizando critrio de proximidade.

D(C1 , C2 ) 0
D(C1 , C2 ) = 0 Se e somente se (C1 = C2 )
D(C1 , C2 ) = D(C2 , C1 )

D(C1 , C2 ) D(C1 , C3 ) + D(C3 , C2 )

Exemplos:
D(C1 , C2 ) = (C2 C1 ) =

(C2 r C1r )2 + (C2 g C1g )2 + (C2b C1b )2

D(C1 , C2 ) = (C2 C1 ) = (C2 C1 ) (C2 C1 )


2

D(C1 , C2 ) = C2 r C1r + C2 g C1g + C2b C1b

D(C1 , C2 ) = Max C2 r C1r ,

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
238

C2 g C1g ,

C2b C1b

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
239

Quantizao de Cor

____________________________________________________________________________

Quantizao de Cor

____________________________________________________________________________

Algoritmo do Corte Mediano

Algoritmo adaptativo que primeiro estabelece as clulas


de quantizao para depois calcular o nvel de quantizao
associado a cada clula.
O Algoritmo do Corte Mediano procura definir clulas de
quantizao de forma a equalizar o histograma.

Algoritmo do Corte Mediano

O algoritmo baseia-se na medida estatstica denominada


mediana.
Dado um conjunto finito e ordenado de pontos no espao
(de cor), a mediana o ponto que divide o conjunto em
dois sub-conjuntos com o mesmo nmero de elementos.

Freqncia

Cor
0

10

11

12

13

14

15

Freqncia

Cor
0

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
240

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
241

Quantizao de Cor

____________________________________________________________________________

Algoritmo do Corte Mediano

Quantizao de Cor

____________________________________________________________________________

Algoritmo do Corte Mediano

Algoritmo do Corte Mediano

O algoritmo do corte mediano (K = 2N nmero de nveis)

Passo1: Construir o paraleppedo:


(Rmin, Rmax) (Gmim, Gmax), (Bmin, Bmax)

Passo1: Construir o paraleppedo:


(Rmin, Rmax) (Gmim, Gmax), (Bmin, Bmax)

Passo 2: Tomar a componente que define a maior


aresta do paraleleppedo e ordenar as cores por esta
ordenada.

Passo 1: Exemplo bidimensional (k = 4)

Passo 3: Dividir na mediana na direo de maior


comprimento.

G
C6
Gmax
C5

Passo 4: Repetir os passos 2 e 3 at que as duas


regies geradas sejam vazias (no contenham cores
da imagem) ou os K nveis de quantizao tinha sido
atingido (K = 2N nmero de nveis).

C4

C7

C3
C2
C8

Passo 5: Para cada clula definida pelos passos


anteriores, calcular valor do nvel associado. Por
exemplo, mdia ponderada pela freqncia de
ocorrncia das cores da regio.
Passo 6: Quantizar as cores da imagem para o nvel
mais prximo.
____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
242

C9
C1
Gmin

Cor

Freq.

C1

C2

C3

C4

C5

C6

C7

C8

C9

R
Rmin

Rmax

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
243

Quantizao de Cor

____________________________________________________________________________

Algoritmo do Corte Mediano


Passo 2: Tomar a componente que define a maior
aresta do paraleleppedo e ordenar as cores por esta
ordenada.

G
C6
Gmax
C5
C7

C3

Algoritmo do Corte Mediano

Passo 3: Dividir na mediana na direo de maior


comprimento.
Passo3 no exemplo bidimensional:

Passo 2 no exemplo bidimensional:

C4

Quantizao de Cor

____________________________________________________________________________

Cor

Freq.

Cor

Freq.

C1

C1

C2

C9

C3

C8

C4

C2

C5

C3

C6

C4

C7

C7

C8

C5

C9

C6

Cor

Freq.

C1

C9

C8

C2

C3

C4

C7

C5

C6

C2
C8

C9
R

C1
Gmin
Rmin

Rmax

Ordenada na direo G

Temos 15 elementos - mediana 8 elemento

C1 C1 C9 C9 C8 C2 C2 C2 C3 C3 C4 C7 C5 C5 C6

Ordenada na direo G
____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
244

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
245

Quantizao de Cor

____________________________________________________________________________

Quantizao de Cor - Algoritmo do Corte Mediano

Quantizao de Cor

____________________________________________________________________________

Quantizao de Cor - Algoritmo do Corte Mediano

Passo 4 no exemplo bidimensional (K=4):


G

Regio 2

C6
Gmax

Regio 1

C5
C4

Maior eixo R.

C7

Ordenado:

C3
C2
C8

C9
C1

Gmin
Rmin

Rmax

Regio 1

Cor

Freq.

C1

C2

C9

C8

Mediana

Regio 1 - Ordenada

Regio 2
Maior eixo R.

Passo 4: Repetir os passos 2 e 3 at que as duas


regies geradas sejam vazias (no contenham cores
da imagem) ou o nvel K de quantizao tinha sido
atingido.

Ordenado:
Cor

Freq.

C3

C6

C4

C5

C2

C7

Mediana

Regio 2 - Ordenada
____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
246

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
247

Quantizao de Cor

____________________________________________________________________________

Quantizao de Cor - Algoritmo do Corte Mediano

Passo 4 no exemplo bidimensional (continuao):

Quantizao de Cor

____________________________________________________________________________

Quantizao de Cor - Algoritmo do Corte Mediano

Passo 5: Para cada clula, calcular valor do nvel


associado. Por exemplo, mdia ponderada pela freqncia
de ocorrncia das cores da regio.
Passo 5 no exemplo bidimensional: pontos q1, q2, q3 e q4
definem os nveis de quantizao.

G
C6
Gmax
C5
C4

C7

C3

G
C6

C2

Gmax

C8

C5

q2

q3
C4

C9
R

C1

C3

Gmin
Rmin

C7

Rmax

C2
q1

C8
q4
C9
R

C1
Gmin
Rmin

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
248

Rmax

____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
249

Quantizao de Cor

____________________________________________________________________________

Quantizao de Cor - Algoritmo do Corte Mediano

Passo 6: Quantizar as cores da imagem para o nvel mais


prximo.

G
C6
Gmax
C5
q3

C4

C7

C3
C2
q1

Observaes finais
Quantizao reduz o nmero de cores a ser utilizado na
representao/armazenamento da mensagem.
Os algoritmos de quantizao (em especial o do corte
mediano) so utilizados para a converso de imagens
truecolor para pseudocolor (tabela de cores).

Exemplo bidimensional:

q2

Quantizao de Cor

____________________________________________________________________________

C8

Cor

Nvel

C1, C2

q1

C3, C4, C6

q2

C5, C7

q3

C8, C9

q4

O processo de quantizao pode gerar o aparecimento de


contornos de quantizao. O fenmeno mais visvel
quanto mais drstica for a reduo do nmero de cores.

Quantizao

q4
C9
R

C1
Gmin
Rmin

Rmax

Observao: O algoritmo admite variao na forma de se


calcular/definir os nveis de quantizao.
____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
250

Para minimizar os contornos de quantizao precisamos


descorrelacionar o erro de quantizao. Para tanto,
devemos utilizar algoritmo de dithering.
____________________________________________________________________________
EA978 Sistemas de Informaes Grficas - Prof. J. Mario De Martino
251