Quantização - UNICAMP · 3 EA978 – 2s2008 - Ting Procedimento • Analisar as amostras de cores...

33
1 EA978 – 2s2008 - Ting Muitas imagens destas transparências foram obtidas do site: http://www.cs.princeton.edu/courses/archive/fall99/cs426/lectures/dither/ EA978 – 2s2008 - Ting Quantização R S G S B S A S Z S 380nm 750nm Quantidade de cores limitada pelo número de bits associado a cada pixel!

Transcript of Quantização - UNICAMP · 3 EA978 – 2s2008 - Ting Procedimento • Analisar as amostras de cores...

1

EA978 – 2s2008 - Ting

Muitas imagens destas transparências foram obtidas do site:

http://www.cs.princeton.edu/courses/archive/fall99/cs426/lectures/dither/

EA978 – 2s2008 - Ting

Quantização

RS

GS

BS

AS

ZS

380nm 750nm

Quantidade de cores limitada pelo número de bits associado a cada pixel!

2

EA978 – 2s2008 - Ting

Quantização

24 bits = Paleta de 224 cores 4 bits = Paleta de 16 cores

EA978 – 2s2008 - Ting

Quantização

256 níveis4 níveis2 níveis

3

EA978 – 2s2008 - Ting

Procedimento

• Analisar as amostras de cores na imagem

• Definir um conjunto de níveis de quantização

• Associar cada amostra a um nível

• Gerar nova imagem Análise e definição

Correspondência

EA978 – 2s2008 - Ting

Cirtério de Fidelidade

Erro médio quadrático

eRMS = raiz(1/MN ∑ ∑ [ê(x,y) – e(x,y)]2)

Imagem Discreta e(x,y) → Imagem Digital ê(x,y)

X=0 y=0

N-1M-1

4

EA978 – 2s2008 - Ting

QuantizaçãoSubdivisão Uniforme

Função de transferência

entrada

saíd

a

(2

0001

1011

00 01 10 11

EA978 – 2s2008 - Ting

Níveis de QuantizaçãoSubdivisão Uniforme

Problema: Nem todas as cores/os níveis de cinza aparecem na imagem!

1 bit

2 bits3 bits4 bits5 bits6 bits7 bits8 bits

5

Quantização

Contornos falsos!!!

EA978 – 2s2008 - Ting

Análise Estatística

Quantização conforme a quantidade de ocorrências de cada intensidade.

Qtd

e de

pix

els

Nível de Intensidade

Histograma

6

EA978 – 2s2008 - Ting

HistogramaDistribuição de freqüências de intensidade

EA978 – 2s2008 - Ting

HistogramaCaraterização das imagens

7

HistogramaExemplos

Imagem escura Imagem clara

HistogramaExemplos

Baixo contraste Alto contraste

8

HistogramaSubdivisão Uniforme

0 128 255

Função de transferência

entrada

saíd

a

0

1

EA978 – 2s2008 - Ting

Algoritmo de Populosidade

Para minimizareRMS = raiz(1/MN ∑ ∑ [ê(x,y) – e(x,y)]2)

Histograma: Distribuição de freqüência de amostras

Níveis de quantização: As amostras de cor/intensidade de maior ocorrência

9

EA978 – 2s2008 - Ting

Amostras vermelhas desapareceram na imagem quantizada …

Algoritmo de Populosidade

EA978 – 2s2008 - Ting

Algoritmo de Corte MedianoCélulas de Quantização

Minimizar:

Q = ∫ p(c) |c – qi|+ ∝

- ∝

c: intensidadep(c): frequência de ocorrência de cqi: nível de quantização

10

EA978 – 2s2008 - Ting

Algoritmo de Corte MedianoExemplo

EA978 – 2s2008 - Ting

Algoritmo de Corte Mediano

Ao invés da solução ótima …

11

EA978 – 2s2008 - Ting

Algoritmo de Corte Mediano

... Uma Aproximação:Escolher os níveis de quantização de forma que cada um seja utilizado pela

mesma quantidade de pixels.

Mediana: medida estatística que permite equalizar um histograma. Ela divide

o conjunto de dados em duas partes com igual número de elementos.

Histograma Equalizado: distribuição uniforme das intensidades

Intensidade

Qtd

e de

pix

els

EA978 – 2s2008 - Ting

Algoritmo de Corte MedianoA mediana ao longo do “lado” maior subdivide o espaço de amostras em dois

subespaços

12

EA978 – 2s2008 - Ting

Algoritmo de Corte Mediano

2 bits

A mediana ao longo do “lado” maior de cada subespaço subdivide o espaço original em 4 subespaços

EA978 – 2s2008 - Ting

Algoritmo de Corte MedianoSe houver mais um bit, pode-se subdividir recursivamente

13

EA978 – 2s2008 - Ting

Algoritmo de Corte Mediano

3 bits

E obter 8 subespaços, ou 8 células de quantização

O nível de quantização pode ser o centróide de cada célula.

Quantização_cor(Imagen, n){

Posicionar a cor em cada pixel no espaço RGB;

B = {espaço RGB};Enquanto (n-- > 0) {

L = Mais_populosa(B);Dividir L em L1 e L2, no eixo de maior variação;Substituir L por L1 e L2 em B;}

Para todas as células em B façaselecionar o nível de quantização (p.ex,centróide);

Para cada pixel na imagem façasubstituir a cor pelo nível de quantização da célula;

}

Algoritmo de Corte Mediano

14

Algoritmo de Corte MedianoCritérios de Escolha

• Vários critérios podem ser utilizados para escolha da célula mais populosa do espaço:– Quantidade de ocorrências de cores na célula;– Quantidade de cores distintas;– Dimensões da célula.

EA978 – 2s2008 - Ting

EA978 – 2s2008 - Ting

Algoritmo de Corte MedianoNíveis de Quantização

15

Algoritmo de Corte MedianoExemplo

EA978 – 2s2008 - Ting

Quantização

256 níveis 4 níveis 2 níveis

Redução de Níveis Contornos Falsos!

16

16 níveis 8 níveis

4 níveis 2 níveis

QuantizaçãoExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 133

112 91 91 82 189 189 123 180

133 42 112 89 78 42 42 123

145 211 211 211 145 211 153 123

1. Determinar 4 limiares/níveis de quantização

Quantize em 5 níveis

EA978 – 2s2008 - Ting

17

QuantizaçãoExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 133

112 91 91 82 189 189 123 180

133 42 112 89 78 42 42 123

145 211 211 211 145 211 153 123

1. Determinar 4 limiares/5 níveisa. Subdivisão uniforme

0 - 5051 - 101102 - 152152 – 202203 - 255

b. Algoritmo de populosidade211, 153, 42, 145, 112

c. Algoritmo de corte medianoMedianas:

89, 123, 145, 189

Quantize em 5 níveis

42 7

78 1

82 3

86 1

89 1

91 2

112 5

123 5

133 3

145 6

153 9

178 2

180 1

189 3

211 15

Ocorrências

EA978 – 2s2008 - Ting

QuantizaçãoExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 63

112 91 91 82 189 189 124 180

68 42 112 89 78 42 42 124

145 211 211 211 145 211 153 124

1. Determinar 4 limiares/5 níveisa. Subdivisão uniformeb. Algoritmo de populosidadec. Algoritmo de corte mediano

2. Determinar o nível de quantização

51

102

152

203

75.4

108.7

139

211

175

EA978 – 2s2008 - Ting

18

QuantizaçãoExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 63

112 91 91 82 189 189 124 180

68 42 112 89 78 42 42 124

145 211 211 211 145 211 153 124

1. Determinar 4 limiares/5 níveisa. Subdivisão uniformeb. Algoritmo de populosidadec. Algoritmo de corte mediano

2. Determinar o nível de quantização3. Aplicar a função de transferência sobre a

imagema. 0 - 50 → 0; 51 – 101 → 51

102 – 151 → 102; 152 – 202 → 152203 – 255 → 203

b. 0 – 77 → 42; 78 – 128 → 112129 – 149 → 145; 150 – 182 → 153183 – 255 → 211

c. 42 – 89 → 75.4; 90 – 123 → 108.7124 – 145 → 139; 146 – 189 → 175190 – 255 → 211EA978 – 2s2008 - Ting

QuantizaçãoExemplo

0 0 51 0 0 102 51 51

102 102 211 152 152 102 102 102

102 211 152 152 211 152 102 152

152 211 211 211 102 211 211 152

152 102 211 211 152 152 211 51

102 51 51 51 152 152 102 152

51 0 102 102 51 0 0 102

102 211 211 211 102 211 152 102

75 75 75 75 75 139 75 75

109 109 211 175 175 109 109 109

139 211 175 175 211 175 139 175

175 211 211 211 139 211 211 175

175 139 211 211 175 175 211 75

109 109 109 75 175 175 139 175

75 75 109 75 75 75 75 139

139 211 211 211 139 211 175 139

Subdivisão Uniforme Corte MedianoEA978 – 2s2008 - Ting

19

Como “emular” mais níveis de intensidade com um número reduzido de bits?

EA978 – 2s2008 - Ting

Meio-Tom e Dithering

20

EA978 – 2s2008 - Ting

Meio-Tom

Vários tons de cinza com uso de apenas branco e preto.

Meio-Tom

21

Meio-Tom Clássico

(1999)

EA978 – 2s2008 - Ting

Meio-Tom DigitalAglomerado de Pixels

Resolução espacial x Resolução de intensidades

22

EA978 – 2s2008 - Ting

Meio-Tom Digital

Aglomerado de Pixels

Padrões indesejáveis!!!

EA978 – 2s2008 - Ting

Meio-Tom DigitalDispersão de pixels: Máscaras de Padrão

(Patterning)

23

Meio-Tom DigitalMáscaras de Padrão

Máscaras de Padrão

DitheringAumento da resolução de intensidades sem sacrificar a resolução

espacial

24

Dithering

Dithering

Nível de Intensidade 0

Nível de Intensidade 1

Nível de Intensidade 3

Nível de Intensidade 2

25

EA978 – 2s2008 - Ting

DitheringAlgoritmo

Para cada linha yPara cada coluna x

determinar a posição na matriz de ditheri = x mod n; j = y mod n;

Se (I(x,y) <= I(Dn(i,j))) entãoP(x,y) = Preto;

senãoP(x,y) = Branco

3 10 2D2 =

DitheringExemplo

26

DitheringExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 133

112 91 91 82 189 189 123 180

133 42 112 89 78 42 42 123

145 211 211 211 145 211 153 123

1. Determinar 4 limiares

Quantize em 5 níveis com 1 bit

EA978 – 2s2008 - Ting

DitheringExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 133

112 91 91 82 189 189 123 180

133 42 112 89 78 42 42 123

145 211 211 211 145 211 153 123

1. Determinar 4 limiaresa. Subdivisão uniforme

0 - 5051 - 101102 - 152152 – 202203 - 255

b. Algoritmo de corte mediano89, 123, 145, 189

Quantize em 5 níveis com 1 bit

42 7

78 1

82 3

86 1

89 1

91 2

112 5

123 5

133 3

145 6

153 9

178 2

180 1

189 3

211 15

Ocorrências

EA978 – 2s2008 - Ting

27

DitheringExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 63

112 91 91 82 189 189 124 180

68 42 112 89 78 42 42 124

145 211 211 211 145 211 153 124

1. Determinar 4 limiaresa. Subdivisão uniforme

0 - 5051 - 101102 - 152152 – 202203 - 255

b. Algoritmo de corte mediano89, 123, 145, 189

2. Construir máscara de dithera. b.

3. Varrer a imagem

203102

51 152

189123

89 145

EA978 – 2s2008 - Ting

DitheringExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 63

112 91 91 82 189 189 124 180

68 42 112 89 78 42 42 124

145 211 211 211 145 211 153 124

1. Determinar 4 limiaresa. Subdivisão uniforme

0 - 5051 - 101102 - 152152 – 202203 - 255

b. Algoritmo de corte mediano89, 123, 145, 189

2. Construir máscara de dithera. b.

3. Varrer a imagem

203102

51 152

189123

89 145

203102

51 152

0 0

1 0

EA978 – 2s2008 - Ting

28

DitheringExemplo

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 63

112 91 91 82 189 189 124 180

68 42 112 89 78 42 42 124

145 211 211 211 145 211 153 124

211 145

42 153

0 0 0 0 0 0 0 0

1 0 1 0 1 0 1 0

42 42 86 42 42 133 82 82

112 123 211 153 153 123 112 112

145 211 153 153 211 153 145 189

178 211 211 211 145 211 211 153

178 145 211 211 153 153 211 63

112 91 91 82 189 189 124 180

68 42 112 89 78 42 42 124

145 211 211 211 145 211 153 124

189123

89 145

0 0 0 0 0 1 0 0

1 0 1 1 1 0 1 0

0 1 0 1 1 1 0 1

1 1 1 1 1 1 1 1

0 1 1 1 0 1 1 0

1 0 1 0 1 1 1 1

0 0 0 0 0 0 0 1

1 1 1 1 1 1 1 01 1 1 1 1 1 1 0

0 0 0 0 0 0 0 0

1 0 1 0 1 1 1 1

0 0 0 1 0 1 0 1

1 1 1 1 1 1 1 0

0 1 0 1 0 1 0 1

EA978 – 2s2008 - Ting

DitheringDifusão de Erro

difundir erros entre pixels vizinhos

29

DitheringDifusão de Erro

DitheringDifusão de Erro

EA978 – 2s2008 - Ting

30

EA978 – 2s2008 - Ting

Meio-Tom e Dithering

• Aproximação por meio-tom digital– pixels são agrupado, emulando meio-tom analógio– sacrifica a resolução espacial

• Dithering ordenado– pixels são dispersos – minimiza artefatos visuais em regiões de

luminância constante– mantém a mesma resolução espacial

• Dithering por difusão de erro– minimiza o erro de quantização através da

distribuição de erros

Artifícios para redução de erros e/ou aumento das intensidades

Exemplos

Original

Dithering

Floyd-Steinberg

Patterning

31

Corte Mediano (8 níveis)

Corte Mediano (4 níveis)

32

Limiar (2 níveis)

Bayer’s Dithering Ordenado

33

Dithering por Difusão de Erro