Imagem Digital• Paradigma dos 4 Universos• Imagem no Universo Matemático• Imagem no Universo de Representação (Universo Discreto)
• Amostragem• Quantização
• Imagem no Universo de Codificação:• Palette de cores• RGBRGB• RRGGBB• Compressão• formato PPM• formato BMP• Biblioteca IM
• Processamento de Imagens• Ampliar e Reduzir• Realçar e Borrar• Combinação de Imagens
• Mistura• Transparência• Adição e Subtração• Morphing
• Outros Assuntos• Dithering• Sprites• Animações (?)
Paradigma dos 4 Universos
UniversoFísico
Universo deRepresentação
Universo deImplementação
UniversoMatemático
Exemplo:VOZ HUMANA
879987987898
8 9 8 7 8 9 7 8 9 9 7 8
Discretização(Amostragem)
Representação(Vetor)
Paradigma dos 4 Universos
UniversoFísico
Universo deRepresentação
Universo deImplementação
UniversoMatemático
Imagens no Universo Físico
Amostragem e Quantização
Codificação e Formatos
Funçõesno Espaço de Cor
Cores no Universo Físico
Representação de Cor
Especificação de Cor
Modelos Matemáticos de
Cor (Espaço)
COR IMAGEM
Imagem bitmapx
Imagem vetorial
Imagens como Funções
• Uma linha de uma imagem PB: Domínio 1D
• Uma imagem Colorida: Domínio 3D (?)
• Uma imagem PB: Domínio 2D
Amostragem
• Discretização espacial
• Resolução (XxY pixels)
Quantização• Discretização no espaço de cores (redução das cores usadas)
• Critérios para escolha das cores (exemplos em 256 cores):
• Quantização Uniforme (256 cores) • Algoritmo de Populosidade (16 cores)
• Quantização por Aglumeração (16 cores) Imagem Original (24 bits)
Digitalização de Imagens
amostragem15 15 15 15 15 15 15
15 10 12 13 5 15 15
15 15 10 09 11 15 15
15 15 13 12 10 15 15
15 15 08 06 12 15 15
15 15 15 15 15 15 15
quantização
315x260 – 256 cores
64x53 - 16 cores
codificação
64x53 – 256 cores
Codificação
• Imagem no Universo de Codificação:• Palette de cores• RGBRGB• RRGGBB• Compressão• formato PPM• formato BMP• Biblioteca IM
Obs: Imagens em formato raster (não vetorias)
Palette de Cores
206206206
313665
132148198
222231247
198214231
165193214
159173179
116124124
105109105
17588
454388
16371198
14399202
125123132
149148180
00255
BlueGreenRed
• Geralmente com 256, 16 ou 4 cores
15 15 15 15 15 15 15
15 10 12 13 5 15 15
15 15 10 09 11 15 15
15 15 13 12 10 15 15
15 15 08 06 12 15 15
15 15 15 15 15 15 15
Palette
Os pixels da imagem fazem referência aos índices da Palette
RRGGBB
Verm.
Verde
AzulPi
xel 2
Plano de Cores
00 01 02 060503 04
07 08 09 . . .
Pixe
l 0
Pixe
l 5
Pixe
l 4
Pixe
l 3
Pixe
l 1
06
06
Organização dos pixels de uma imagem por planos de cores
Ban
cos
(Jav
a)
Informação é uma componente da cor
RRGGBB
• Declaração em C das matrizes R, G e B de uma imagem colorida com resolução 200x300?
• Qual o tipo a ser usado?• int, float, char, double ou void ?• short ou long ?• unsigned ?
unsigned char R[60000], G[60000], B[60000];
• Atenção! Normalmente são ponteiros cujo espaço são alocados dinamicamente (malloc).
RGBRGB
00 01 02 0807060503 04 1009 11
0 1 2
...
1312 14
w-1
15 16 17 18 ...
x
yPixel (x,y) de uma imagem WxH
offset=3*(w*y+x);red = rgb_vector[offset];green = rgb_vector[offset+1];blue = rgb_vector[offset+2];
01
2
h-1
3
...
Compressão de imagens
Compressão deImagens
Compressão deImagens
Sem PerdaSem Perda Com PerdaCom Perda
Preserva exatamente o conteúdo da imagem
Taxas de compressão 3 : 1
Preserva de forma controlada o nível de qualidade da imagem
Taxas de compressão que chegam a valores de mais de 100 : 1
Métodos de compressão
Sem perdas
» Run length encoding (RLE) - repetição
» Huffman coding - histograma
» Predictive coding - diferenças
» Block coding (LZW) - dicionário
Com perdas
» Truncation coding - reduz a representação
» Predictive coding - descarta diferenças altas
» Block coding - dicionário aproximado
» Transform coding - descarta frequencias altas
Métodos compostos: JPEG, MPEG
Processo de compressão e descompressão
Dados daImagemOriginal
32, 45, 57, 68, 23, 100,98, ...
32, 45, 57, 68, 23, 100,98, ...
Imagem Comprimida
32, 45, 57, 68, 23, 100,98, ...
Dados daImagemOriginal
Compressãoda imagem
Imagem Comprimida
32, 45, 57, 68, 23, 100,98, ...
Transporte e/ouArmazenamento
Descompressãoda imagem
Compressão - RLE
Objetivo
Reduzir a quantidade de dados redundantes.
Exemplo
AAAAAAxxx 6A3x
Caracterísiticas
Simples e rápido, porém a eficiência depende da imagem a ser comprimida.
Codificação de Huffman
s pa2 0.4 0.4 0.4 0.4 0.6a6 0.3 0.3 0.3 0.3 0.4a1 0.1 0.1 0.2 0.3a4 0.1 0.1 0.1a3 0.06 0.1a5 0.04
s probabilidadea2 0.4 1 0.4 1 0.4 1 0.4 1 0.6 0
a6 0.3 00 0.3 00 0.3 00 0.3 00 0.4 1
a1 0.1 011 0.1 011 0.2 010 0.3 01
a4 0.1 0100 0.1 0100 0.1 011
a3 0.06 01010 0.1 0101
a5 0.04 01011
Redundância de Codificação
r p(r) Code 1 l(r) l(r)p(r) Code 2 l(r) l(r)p(r)0 0.19 000 3 0.57 11 2 0.38
1/7 0.25 001 3 0.75 01 2 0.502/7 0.21 010 3 0.63 10 2 0.423/7 0.16 011 3 0.48 001 3 0.484/7 0.08 100 3 0.24 0001 4 0.325/7 0.06 101 3 0.18 00001 5 0.306/7 0.03 110 3 0.09 000001 6 0.181 0.02 111 3 0.06 000000 6 0.12
1.00 Lavg= 3.00 2.70
rk = tons de cinza em uma imagem, k=0, 1, ...,
p(rk) = nk / n
onde nk = número de pixels com tom rk
n = número de pixels da imagem
Lavg=
kk
kavg rprlL
1
0
111001
001
0001
00001
000001000000