Processamento Processamento de Imagens Airton Bordin Junior
Quem Sou Eu? Airton Bordin Junior Graduação: Ciência da Computação Especialização: Redes de Computadores e Gerenciamento de Projetos Contato
2
[email protected] airtonbjunior.com.br facebook.com/airtonbjunior
Objetivos Gerais da Disciplina Fornecer
conceitos e técnicas básicas em processamento de imagem digital com o objetivo de preparar o aluno para cursos mais avançados, tais
como análise de imagens, sensoriamento remoto, visão computacional e diagnóstico por imagens. Capacitar o aluno a resolver problemas que envolvem o uso e manipulação de imagens digitais, mobilizando recursos de multimídia, imagens, sons, para apresentação da informação.
3
Estratégia de Trabalho Apresentação do conteúdo
Aulas expositivas de aspectos teóricos; Aplicações a problemas de interesse, com exercícios (classe e extra-classe); Utilização do laboratório de informática.
Avaliação
100 pontos, compostos por
1,5h/aula semana
4
60% prova; 40% trabalho. trabalho. Quinta-feira, Quinta-fe ira, 19h
Bibliografia Básica
AZEVEDO, E. e CONCI, A. “Computação Gráfica: Teoria e Prática”, Rio de Janeiro, Editora Campus, 2003, 353p. CONCI, A., AZEVEDO, E. e LETA, F.R., “Computação Gráfica: Teoria e Prática”, Volume 2. Rio de Janeiro, Editora Campus, 2008,407p. PAULA FILHO, W. P, “Multimídia: conceitos e aplicações”, Rio de Janeiro,, LTC, 2000, 321p. Janeiro
5
Conteúdo Programático 1. Conceitos Conceitos básicos e terminologia
1.1. Visão humana x visão computacional 1.2 Aquisição de imagens (digitalização: Scanners, CCD) 1.3 A imagem digital e suas características (resolução, profundidade, etc) 1.4 Imagens vetoriais x matriciais (raster)
2. Formato de Arquivos de Imagens (conceitos)
2.1 Formatos de armazenamento matricial (raster) x vetorial 2.2 Compressão de imagens: com perda e sem perda de informação (geométrica e cor)
3.1 Histograma 3.2 Limiarização 3.3 A Curva de Tons
4. Apresentação através de datashow
5. Operações com imagens
5.1 Aritméticas (blending) e Lógicas 5.2 Anti-serrilhamento
6. Transformações geométricas e morphing
6
6.1 Translação, reflexão, escala e rotação
9.2 Filtragem Passa-baixa (smothing) 9.3 Filtagem Passa-alta (sharpening) 10.1 Métodos de compressão (com e sem perdas) 10.2 Codificações (LZW e DCT) 10.2 Compressão por Wavelets.
11. Projeto de animação por computador
4.1 Programa para calcular e apresentar histogramas de uma imagem digital
8.1 Transformadas de Fourier (Discreta e Rápida) 8.2 Convolução de imagens
10. Compressão de Imagens
transformações
9. Filtros de imagens.
7.1 Programa implementando geométricas em imagens
8. Transformadas ransform adas de Imagens. I magens.
3. Amostragem e quantificação
7. Apresentação através de datashow
11.1 Princípios de animação. Sinopse, Roteiro, Storyboard 11.2 Animação interativa (Z-Buffer) x não-interativa (Raytracing) 11.3 Som e vídeo digitais
12. Apresentação através de datashow
12.1 Uso de um pacote de modelagem 3D e Criação de uma animação com 30 segundos
1. Conceitos básicos e terminologia. 1.1. Visão humana hum ana x visão computacional comp utacional;; 1.2 Aquisição de imagens im agens (digitalização: (digitali zação: Scanners, CCD, CCD, etc); 1.3 A imagem digital e suas características (resolução, profundidade, etc); 1.4 Imagens vetoriais x matriciais ( raster ).).
7
Introdução Computação gráfica
“Um conjunto de ferramentas e técnicas para converter converter dados para ou de um dispositivo gráfico através do computador”
ISO (International Organization for Standarization).
Processamento de Imagens
8
Processamento de sinais n-dimensionais; Processamento Entrada do sistema é uma imagem e a saída é um conjunto de valores numéricos numéricos que podem ou não compor outra imagem;
Áreas de Atuação
9
Áreas de Atuação
10
Formação das Imagens 1. 2. 3.
11
Luz emitida por uma fonte Luz refletida por um objeto Luz captada pelo olho humano ou sensor
Formação das Imagens
Até por volta do ano 1000, 100 0, pensavam que o olho emitia a luz; No ano de 1020, Alhazen sugere que o olho capta luz e não emite luz!
Alhazen
12
Sistema de Visão Humana
13
Sistema de Visão Humana
14
Sistema de Visão Humana Visão Humana
Visão Cachorro
15
O que é cor?
É uma sensação provocada pela ação da luz sobre o órgão da visão; Se não há luz, não há cor! Pode ser definida pelo seu comprimento de onda
16
Vermelho: 700nm; Violeta: 400nm.
Sistema de Visão Humana
Cor
Frequência
Comprimento Compriment o de onda
violeta
668 – 789 789 THz
380 – 450 450 nm
azul
606 – 668 668 THz
450 – 495 495 nm
verde
526 – 606 606 THz
495 – 570 570 nm
amarelo
508 – 526 526 THz
570 – 590 590 nm
Laranja
484 – 508 508 THz
590 – 620 620 nm
vermelho
400 – 484 484 THz
620 – 750 750 nm
17
Sistema de Visão Humana
18
Sistema de Visão Humana
19
Sistema de Visão Humana
20
Sistema de Visão Humana
21
Sistema de Visão Humana
22
Sistema de Visão Humana
12 23
5
6
Visão Computacional
Ciência e tecnologia das máquinas que enxergam; Extrair/interpretar características específicas da imagem; Sistema capaz de adquirir, processar e interpretar imagens. Reconhecimento de padrões
Processamento de Sinais
Processamento de Imagens
Visão Computacional Inteligência Artificial
Física
Matemática
24
Visão Computacional
25
Visão Computacional
26
Visão Computacional Visão Humana Cena
Imagem
Percepção
Olho
Cérebro
Aquisição de imagem
Interpretação de imagem
Visão Computacional Cena
27
Imagem
Percepção
Câmera
Computador
Aquisição de imagem
Interpretação de imagem
Visão Computacional
Aquisição de Imagem Pré-processamento Extração de características Detecção e Segmentação Processamento Pr ocessamento de Alto Nível 28
Aquisição de Imagens
Obtenção de uma representação da informação visual
Mais fiel possível e ser processável processável pelo computador
Formação: sensor de imagem registra a radiação que interagiu com objetos físicos
29
Aquisição de Imagens
Russell Kirsch - SEAC Scanner
30
1ª imagem digital (1957) 176 pixels - 5x5
Aquisição de Imagens
“What would happen if computers could look at pictures?” (O
que aconteceria se computadores computadores pudessem ver imagens?) (Kirsch)
31
Imagem Digital
Imagem monocromática
(0,0)
Função bidimensional da intensidade da luz f(x, y); x, y: coordenadas espaciais (largura x altura); f: brilho (nível de cinza) naquele ponto. y
x 32
Imagem Digital
Imagem monocromática
33
Função bidimensional da intensidade da luz f(x, y); x, y: coordenadas espaciais (largura x altura); f: brilho (nível de cinza) naquele ponto.
Imagem Digital
400x500 pixels
34
58x58 (800% ampliação)
Imagem Digital
Resolução espacial é determinada pelo número de pixels por área da imagem
Pixel (Picture Element): é o menor ponto que forma uma imagem digital Ex.: Monitor colorido, pixel é um conjunto de 3 pontos (RGB)
512x512
35
256x256
128x128
64x64
Vetorial x Matricial
Bitmaps (raster): Imagens formadas por pixels
jpeg, gif, tiff, bmp, etc
Vetoriais: Imagens formadas por cálculos matemáticos executados pelo computador
wmf, svg, dwg, dwf, etc
Vetorial x Matricial
Vetorial x Matricial Imagem Vetorial
Imagem Matricial
2. Formato de Arquivos de Imagens 2.1 Formatos de armazenamento matricial (raster) x vetorial; 2.2 Compressão de imagens: com perda e sem perda de informação.
Nota: para os exemplos de aula, utilizaremos o GIMP - https://ww https://www.gimp.org/ w.gimp.org/
39
Compressão de Imagens
Procedimento computacional aplicado a uma imagem digital com a finalidade de diminuir o tamanho final do arquivo
Fatores importantes: taxa de compressão e velocidade processamento
Sem perdas (reversíveis) e com perdas (irreversíveis)
processo de compressão pode ser revertido a partir da imagem comprimida e de informações do codificador codificador;; Com perdas: não é possível , através de algum procedimento reverso, se restaurar a imagem com todas suas informações originais , somente uma imagem aproximada da imagem original. Sem perdas:
Compressão de Imagens
Métodos de compressão sem perdas
RLE (Run Lenght Encoding), LZ (Lempel Ziv), LZW (Lempel Ziv Wech), algoritmo de Huffman (usadas nos formatos: PCX, PNG, PN G, GIF GIF, TI TIFF FF),), etc etc
Métodos de compressão com perdas
Fractal compression, JPEG, JPEG 2000, Wavelet compression, Cartesian Perceptual Compression (CPC), DjVu, ICER, etc
Compressão de Imagens
Exemplo de perda
Pequeno corte de uma imagem de 4288x2848 12 megapixel RAW image
JPG 20
JPG 40
JPG 60
JPG 80
PNG
JPG 90
JPG 100
Compressão de Imagens
Exemplo de perda
Pequeno corte de uma imagem de 4288x2848 12 megapixel RAW image Corte original: 300x300x3 RGB = 264 KB (100%) Formato
TIF LZW* PNG* JPG 100 JPG 90 JPG 80 JPG 60 JPG 40 JPG 20
Tamanho
184 KB 144 KB 77 KB 29 KB 21 KB 14 KB 11 KB 8 KB
Proporção tamanho origina originall
70% 55% 29% 11% 8% 5% 4% 3%
a d r e p m e S *
3. Amostragem e quantificação 3.1 Histograma 3.2 Limiarização 3.3 A Curva de Tons
44
Histograma
Mostra as frequências de níveis de cinza da imagem
Cada pixel tem uma cor produzida pela mistura RGB; Cada cor pode ter um brilho que varia de 0 a 255 (8 bits).
Histograma varre a imagem em cada um desses valores de brilho e conta quantos estão em cada nível de 0 a 255
Quantidade de pixels
0 (preto)
255 (branco)
Brilho
Histograma
Histograma
Histograma Valores muito baixos: Imagem escura
Valores muito muit o altos: alt os: Imagem clara
Valores muito próximos: baixo contraste
Valores espalhados: alto contraste
Histograma
Histograma
GIMP: Windows -> Dockable Dialogs -> Histogram
Limiarização
Separa os grupos de cinza de uma imagem Determina-se uma intensidade de cinza (limiar) que separa as partes da imagem
Grupos de pixels com intensidades parecidas são separados dos outros
Escolha do valor para execução da limiarização nem sempre é uma tarefa fácil
Um meio para escolher é a observação do histograma
Limiarização QIR
OTSU
Limiarização
GIMP:: Tools -> Colo GIMP Colorr Tools -> Threshold Threshol d
Curva de Tons 255
o n i t s e D
0
Origem
255
Curva de Tons
Curva de Tons
Inversão de cores
Contraste acentuado
Curva de Tons
GIMP:: Tools -> Colo GIMP Colorr Tools -> Cur Curves ves
4. Apresentação através de datashow 4.1 Programa para calcular e apresentar histogramas de uma imagem digital
58
5. Operações com Imagens 5.1 Aritméticas (blending) e Lógicas 5.2 Anti-serrilhamento Anti-serrilhamento
59
Operações com Imagens
Operações pontuais
Pixel (x, y) da imagem resultante depende unicamente do pixel na imagem original
Operações com Imagens
Operações pontuais
Operações Aritiméticas
Adição; Subtração; Multiplicação; Divisão.
Imagem A
Operações Lógicas
AND; OR; NOT.
Imagem B
Soma
Média de múltiplas imagens da cena; Útil para reduzir os efeitos de ruídos aleatórios aditivos; Pode ser usado para incluir conteúdo de uma imagem sobrepondo outra; Aplicações
Ajuste de brilho; Remoção de ruídos.
Imagem A
Imagem B
Soma Imagem A
Imagem B
Imagem C
Soma
Imagem A
Imagem B
+
Imagem C
=
Soma •
•
K=5
Imagem original corrompida através da adição de ruído gaussiano; Abaixo, o resultado do cálculo da média (após soma) para K imagens ruidosas
K=10
K=20
K=50
K=100
Subtração
Remove padrões indesejável da imagem; Detecta mudança entre duas imagens da mesma cena
Eventualmente adquiridas da forma consecutiva
Calcula o gradiente (bordas).
Imagem A
Imagem B
Subtração
Imagem A
Imagem B
-
Imagem C
=
Subtração A
C
B
D
A
Imagem de raio X
B
Imagem de raio X com substância da contraste no sangue
C
Subtração entre A e B
D
Imagem da subtração com contraste realçado Como realçar contraste?
Subtração
Multiplicação e Divisão
Corrige possíveis defeitos de um digitalizador; Utilizar uma máscara para multiplicar pode esconder certas regiões
Exposição de objetos de interesse.
Calibração e normalização de brilho.
Imagem A
Imagem B
Multiplicação e Divisão
Correção de sombreamento A
B
C
A
Imagem sombreada de um filamento de tungstênio;
B
Padrão de sombreamento;
C
Produto da imagem A pelo B^-1 (inverso).
Multiplicação e Divisão
Obtenção de região de interesse A
B
C
A
Imagem digital de uma radiografia odontológica;
B
Máscara (duas regiões de interesse);
C
Produto da imagem pela máscara.
Operações Lógicas
Operações Lógicas AND
Operações Lógicas OR
Operações Lógicas XOR
Anti-serrilhamento
Método para redução de serrilhamento;
Anti-serrilhamento
Anti-serrilhamento
Com Anti-serrilhamento
Sem Anti-serrilhamento
Anti-serrilhamento
6. Transformações geométricas e morphing 6.1 Translação, reflexão, escala e rotação
81
Transformações Transformaçõ es Geométricas Geométricas
Em diversas aplicações na área de Processamento de Imagens há a necessidade de manipular e alterar a cena; Transformações geométricas
Redefinem a relação espacial dos pontos de uma imagem; Alterações utilizadas visando alteração de algumas características da imagem
Posição; Orientação; Tamanho; Etc.
Transformações Transformaçõ es Geométricas Geométricas
Todas as transformações geométricas podem ser representadas na forma de equações;
Geralmente envolvem MUITAS operações de aritimética; Matrizes são muito utilizadas nessas manipulações
Mais fáceis de entender do que equações algébricas; Pontos = coordenadas.
2 = 2, 3 = 3 1 = 1, 1 = 1
Transformações Transformaçõ es Geométricas Geométricas
Dado um sistema de coordenadas, pode-se definir elementos nesse sistema através de suas coordenadas
2D: 2 coordenadas coorde nadas
2 = 2, 3 = 3 1 = 1, 1 = 1
A
3 B
1 1
2
Translação
Movimentar o objeto; Adiciona quantidades às coordenadas do ponto no plano (x, y);
Cada ponto em (x, y) pode ser movido por Tx unidades em relação ao eixo x e Ty unidades no eixo y; Nova posição: (x’, y’)
∆ ′ = + ∆ ′
Translação
Antes da Translaçã ranslaçãoo
Depois da Translaçã ranslaçãoo
Escala
Mudar as dimensões de escala; Multiplicar os valores de suas coordenadas por um fator de escala;
Fazer a operação com todos os seus pontos.
′ = 0
0
Escala
Mudar as dimensões de escala; Multiplicar os valores de suas coordenadas por um fator de escala;
Fazer a operação com todos os seus pontos.
Rotação
Mudar a direção de um vetor segundo algum eixo de rotação
2D: reposicioná-lo sobre um caminho circular, como ocorre com ponteiro do relógio.
Um ponto pode ser rotacionado em torno da origem de ângulo
= ′
−
Rotação
Antes da Rotação
Depois da Rotação
Rotação
Reflexão
Produz um objeto espelhado (espelhamento) em relação a um dos eixos ou ambos;
1 − = 0
0 −1
Eixo x
− −1 = 0
0 1
Eixo y
− −1 − = 0
0 −1
Eixo x e y
8. Transformadas de Imagens 8.1 Transformadas de Fourier (Discreta e Rápida) 8.2 Convolução de imagens
93
Convolução
Matriz primária: imagem a ser tratada;
Coleção bi-dimensional de pixels em coordenadas (matriz).
Matriz de convolução
GIMP: Filters -> Generic -> Convolution Matrix
Convolução
O tamanho da máscara e os valores dos coeficientes definem o tipo de filtragem produzido
Passa baixa e média espacial (sua (suavização); vização); Filtragem mediana; Passa alta (realçe); Passa banda; Gradientes (detectores de borda)
Robert; Sobel; Etc.
Convolução
Filtros de passa baixa
Suavização; Máscara que realiza a média da vizinhança; Quanto maior a máscara, maior o efeito de borramento.
Convolução
Filtros de passa baixa
Gaussiano
Convolução
Filtros de passa alta
Realce; Destacar transições de intensidade na imagem; Realça diferença de níveis de cinza na imagem.
Filtros
Laplaciano;
Unsharp masking
Derivados.
e highboost filtering;
Convolução
Filtros de passa alta
Laplaciano Centro negativo: Remove bordas exteriores
Centro positivo: Remove bordas interiores
Convolução
Filtros de passa alta
Como o filtro Laplaciano é linear, existem máscaras que combinam as duas operações: realce e reconstrução do fundo da imagem.
Convolução
Filtros de passa alta
Convolução
Filtros de passa alta
Convolução
Detectores de bordas
Prewitt
Sobel
Convolução
Filtros
Objetivos dos filtros
Ampliação do seu contraste;
Eliminação de padrões periódicos ou aleatórios;
Melhoria no foco e acentuação de características.
Classificação
Domínio ou espaço em que atuam: a tuam: Frequência ou espacial.
Tipo de freqüência
Passa ou elimina baixas freqüências;
Passa ou elimina altas frequências;
Passa ou elimina faixas de freqüências.
Linearidade: lineares, não lineares ou inversíveis; Tipo de aplicação: suavização, contraste, adaptativos, globais, janelados, locais.
Filtragem no Domínio Espacial
Os métodos de filtragem que trabalham no domínio espacial operam sobre os pixels, normalmente utilizando operações de convolução (utilizando máscaras); A utilização de máscaras nas imagens no domínio espacial é usualmente chamado de filtragem espacial e as máscaras são chamadas de filtros espaciais.
Filtragem no Domínio de Frequência
Filtragem Passa Baixa;
Filtragem Passa Alta;
Outros filtros filtros no domínio de frequência.
Filtragem no Domínio de Frequência
A imagem é transformada do domínio espacial para o da freqüência (transformada de Fourier); Operações de filtragem são realizadas nessa imagem; Realiza-se o processo inverso, onde a imagem no domínio da freqüência é transformada para o domínio espacial.
Transformada de Fourier
A transformada de Fourier de uma função é uma função complexa F (u) R(u) jI (u)
A Transformada de Fourier é uma operação que transforma uma função definida no domínio espacial em uma outra função definida no domínio da frequência;
F (u, v)
exp j 2 f ( x, y) exp
(ux v y)dxdy
f ( x, y )
exp j 2 F (u, v) exp
(ux v y)dudv
Transformada Discreta de Fourier Fourier
Para uso em computadores, seja para aplicações científicas ou em processamento de imagens
Demanda valores x k discretos. Para isso existe a versão da transformada para funções discretas.
Um algoritmo eficiente para o cálculo das Transformadas de Fourier é o FFT (Fast Fourier transform)
Complexidade O(n log2 n) contra O(n2) da DFT.
Complexidade Algoritmos
Computando diretamente a DFT
Uma DFT de N pontos requer N^2 multiplicações de ponto flutuante por ponto de saída; Uma vez que existem N^2 pontos de saída, a complexidade computacional da DFT é O(N^4)
N = 256 => N^4= 4x10^9 => tAthlonXP+ ~ 24s (~167Mflops); N = 15Mpixels 15Mpixels => N^2 = 2x10^14 2x10^14 => t ~ 15 dias;
Computando com a FFT
Complexidade = NlogN => N = 15Mpix => t ~ 1,5s
Espectro de Frequências
g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)
=
+
Transformada de Fourier
Transforma ransformada da de de Fourier
Transforma ransformada da Inversa de Fourier
Transformada de Fourier
Transformada de Fourier
Filtragem no Domínio de Fourier
A imagem f(x,y) é transformada para o domínio de Fourier (transformada discreta); A imagem no domínio de Fourier é representada por F(u,v) e é convoluída com o filtro H(u,v); Ao produto F(u,v) H(u,v) é aplicada a inversa da transformada de Fourier para retornar ao domínio espacial, onde se tem a imagem processada g(x,y).
9. Filtros de imagens. 9.2 Filtragem Passa-baixa (smothing) 9.3 Filtagem Passa-alta (sharpening)
118
Filtragem Passa Baixa
Os detalhes da imagem que geram altas freqüências
Bordas, lados e outras transições abruptas de nível de cinza.
Obtém-se uma imagem menos nítida ou suavizada. Tem-se uma perda de detalhes que são os componentes de altas freqüências; Suavização.
Filtragem Passa Baixa
Filtro passa baixa ideal
H(u,v) = 1 se u2 + v2 < r 2 H(u,v) = 0 se u2 + v2 r r 2
Filtragem Passa Baixa
Objetivos
Suavizar a imagem pela redução das variações nos de níveis de cinza que dão a aparência de “serrilhado” nos patamares de intensidade; Atenuar as altas frequências, que correspondem às transições abruptas; Minimizar ruídos.
Filtragem Passa Alta
Os componentes de alta frequência da transformada de Fourier não são alterados, enquanto os de baixa frequência são removidos; Isto faz com que os detalhes finos da imagem sejam enfatizados; Aguçamento/realce.
Filtragem Passa Alta
Filtro passa alta ideal
H(u,v) = 0 se u2 + v2 < r 2 H(u,v) = 1 se u2 + v2 r r 2
Filtragem Passa Alta
Objetivos
Atenuam ou eliminam as baixas freqüências, realçando as altas freqüências; Usados para realçar os detalhes na imagem (intensificação ou “sharpening”); Destacam características como bordas, linhas, curvas e manchas.; Tornam mais nítidas as transições entre regiões diferentes (contornos), realçando o contraste;
Filtros
Filtros passa baixa, passa alta e passa faixa
Freqüência (acima) e espaço (abaixo).
10. Compressão de Imagens 10.1 Métodos de compressão (com e sem perdas) 10.2 Codificações (LZW e DCT) 10.2 Compressão por Wavelets
126
Compressão de Imagens
Formas de diminuir a área de armazenamento dos dados, reduzindo a quantidade de bits para representar a os dados (imagem, texto, som, etc); Em compressão de imagens, define-se como a forma (algoritmos e métodos) de armazenar informações visuais de forma mais compacta; Necessidades
Espaço de armazenamento; Tempo de transmi transmissão; ssão; Etc.
Compressão de Imagens
Exemplo:
Imagem colorida de dimensões 1024x1024, cada pixel representado repr esentado por 24 bits.
Compressão de Imagens
Exemplo:
Imagem colorida de dimensões 1024x1024, cada pixel representado repr esentado por 24 bits.
1024 x 1024 x 24 = 25.165.824 bits
Compressão de Imagens
Exemplo:
Imagem colorida de dimensões 1024x1024, cada pixel representado repr esentado por 24 bits.
1024 x 1024 x 24 = 25.165.824 bits 25.165.824 bits = 3145728 Bytes
Compressão de Imagens
Exemplo:
Imagem colorida de dimensões 1024x1024, cada pixel representado repr esentado por 24 bits.
1024 x 1024 x 24 = 25.165.824 bits 25.165.824 bits = 3145728 Bytes 3145728 Bytes = 3145,728 KBytes
Compressão de Imagens
Exemplo:
Imagem colorida de dimensões 1024x1024, cada pixel representado repr esentado por 24 bits.
1024 x 1024 x 24 = 25.165.824 bits 25.165.824 bits = 3145728 Bytes 3145728 Bytes = 3145,728 KBytes 3,145728 Mbytes (~3MB)
Compressão de Imagens
Exemplo:
Imagem colorida de dimensões 1024x1024, cada pixel representado repr esentado por 24 bits = ~3MB.
Compressão de Imagens
Exemplo:
Imagem colorida de dimensões 1024x1024, cada pixel representado repr esentado por 24 bits = ~3MB.
Compressão de Imagens
Várias quantidades de dados podem ser usados para representar a mesma quantidade de informações; Representações contém informações irrelevantes ou repetidas
A compressão de imagens é possível porque as imagens, em geral, possuem um alto grau de coerência, que traduz-se em redundância de informação quando codificada; Dados Redundantes.
Redundâncias em imagens
De codificação de tons ou cor; Inter-pixels; Espectral; Psicovisuais.
Redundância em Imagens
De codificação de tons ou cor
Inter-pixels
Resultantes das relações geométricas ou estruturais entre os objetos na imagem.
Espectral
Níveis de cinza ou as cores de uma imagem são codificados com mais símbolos de codificação que o necessário.
Imagens com mais de uma faixa espectral, quando os valores espectrais são relacionados (para a mesma posição na matriz de pixels de cada banda).
Psicovisuais
Sistema visual humano não responde com a mesma sensibilidade a todas as informações visuais.
Redundância em Imagens
Redundância de codificação
Representação ineficiente para os valores de pixels; Mesmo número de bits para todos os valores de intensidade (tanto para o mais provável quanto o menos provável). Informações da imagem são representados com mais símbolos do que seria necessário
Exemplo: como representar o número 2 usando 8 bits?
Redundância em Imagens
Redundância de codificação
Representação ineficiente para os valores de pixels; Mesmo número de bits para todos os valores de intensidade (tanto para o mais provável quanto o menos provável). Informações da imagem são representados com mais símbolos do que seria necessário
Exemplo: como representar o número 2 usando 8 bits?
00000010
Redundância em Imagens
Redundância de codificação
Exemplo: representar a seguinte imagem em bits (8 bits)
2 2 1 1 0 3 1 2 0
Redundância em Imagens
Redundância de codificação
Exemplo: representar a seguinte imagem em bits (8 bits)
2 2 1 1 0 3 1 2 0 00000010
00000010
00000001
00000001
00000000
00000011
00000001
00000010
00000000
Redundância em Imagens
Redundância de codificação
Exemplo: representar a seguinte imagem em bits (8 bits)
2 2 1 1 0 3 1 2 0
00000010
00000010
00000001
00000001
00000000
00000011
00000001
00000010
00000000
Total de bits: 8 * 9 = 72 bits (9 Bytes); 75% dos bits são irrelevantes irrelevantes nesse caso
Poderíamos representar a mesma imagem com 18 bits (2 Poderíamos bytes) utilizando um valor fixo de n=2 bits.
Redundância em Imagens
Redundância Inter-pixels
Pixels vizinhos em uma Pixels u ma imagem são muito parecidos ou iguais; Permite prever razoavelmente o valor de um pixel a partir do pixel de seus vizinhos
Com isso a informação dos pixels a ser codificada é relativamente pequena.
Correlação entre blocos de pixels é mais elevada
Redundância em Imagens
Redundância Inter-pixels
Redundância em Imagens
Redundância Inter-pixels
Como representar de forma compacta a imagem composta da seguinte sequência de bits (320 bits [40bytes])? 1111111111111111111111111111100000000011111111111111111111111111111111111 1111111111111111111100001111111100011111111111111111111111111111111111111 1111111111111111111111111111111111111111100000111111111000001111111000000 0000111111111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111
Redundância em Imagens
Redundância Inter-pixels
Como representar de forma compacta a imagem composta da seguinte sequência de bits (320 bits [40bytes])? 111111111111111111111111111110000000001111111111111111111111111111111 11111111111111111111111100001111111100011111111111111111111111111111 111111111111111111111111111111111111111111111111110000011111111100000 111111100000000001111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111
Armazenar a diferença entre pixels adjacentes; Comprimento de corrida
(1,29) (0,9) (1,55) (0,4) (1,8) (0,3) (1,79) (0,5) (1,9) (0,5) (1,7) (0,10) (1,97)
Redundância em Imagens
Redundância Psicovisual
Imprecisão do sistema visual humano em perceber certos detalhes em uma imagem; As informações que possuem menor importância relativa no processamento visual (psicovisualmente redundantes) podem ser eliminadas sem prejudicar significativamente a percepção da imagem; Exemplo: sistema visual humano é mais sensível às informações de brilho do que de cor; Dados são removidos da imagem
Processo é irreversível.
Compressão de Imagens
Classificação dos métodos
Compressão sem perda ou codificação de redundância; Compressão Compressão com perda.
Compressão sem Perda
Explora a redundância de pixels; Nenhum dados é perdido durante o processo de compressão; Preserva TODAS as informações que permitirão a reconstrução EXATA da imagem; Exemplos
RLE (Run Length Encoding );); LZ (Lempel Ziv );); LZW (Lempe (Lempell Ziv Wec ech h); Algoritmo de Huffman (usada em PNG, GIF, PCX, TIFF); Etc.
Compressão com Perda
Mais eficiente em relação à área final de armazenamento devido à sua razão de compressão ser maior; Há perda de dados durante a compressão da imagem; Em vários casos, não é admissível compressão com perdas
Sinais de satélite; Imagens médicas; Etc.
Em alguns casos é admissível a perda
Imagem transferida pela Internet sem informação sensível; sensível; Etc.
Compressão de Imagens
Classificação dos métodos
Compressão simétrica Compressão Compressão Compress ão assimétrica.
Compressão de Imagens
Compressão simétrica
Tempo de compressão é igual o tempo de descompressão; Wavelets (WT); Discretee Cosine Transform). Transformada de Cossenos (DCT – Discret
Compressão assimétrica
Tempo de compressão é muito maior que o tempo de descompressão descompres são (ou vice-v vice-versa); ersa); Exemplos:
Banco de dados de imagens
Imagem será salva uma vez (maior tempo de compressão) e será lida provavelmente várias vezes (menor tempo de descompressão).
Backup
Procedimento de compressão deve ser mais rápido que o de descompressão (rapidez para realizar o backup).
Run Length Enconding (RLE)
Codificação por comprimento de corrida. Utilizada nos formatos CCITT, JPEG, MPEG, BMP; Geralmente utilizada em conjunto com outras técnicas de compressão; Apropriada para imagens cujos símbolos repetem com grande frequência (imagens binárias, por exemplo [0 ou 1])
Duas abordagens
Posições Posições iniciais e os comprimentos das corridas valor 1; Apenas comprimento das corridas, iniciando com a de valor 1.
RLE
Exemplo 1 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
2
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
Abordagem 1
Abordagem 2
RLE
Exemplo 1 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
1
1
1
0
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
1
1
2
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
Abordagem 1 Linha 1: (1,3), (7,2), (12,4), (17,2), (20,3) Linha 2: (5,13), (19,4) Linha 3: (1,3), (17,6)
Abordagem 2 Linha 1: 3, 3, 2, 3, 4, 1, 2, 1, 3 Linha 2: 0, 4, 13, 1, 4 Linha 3: 3, 13, 6
RLE
Exemplo II (imagem monocromática não binária) Imagem original – 28 28 Bytes
RLE
Exemplo II (imagem monocromática não binária) Imagem original – 28 28 Bytes
Abordagem 1 Codificação RLE – 22 22 Bytes
Abordagem 2 21%
RLE
Variações do d o algoritmo
Ordem da codificação
RLE
Considerações
Simples e rápido tanto para a compressão quanto para a descompressão; Taxa de compressão depende fortemente da entrada de dados
Imagem preto e branco de texto ou line art – contém contém grandes regiões brancas que serão comprimidas significativamente; significativamente; Imagens com cores chapadas – Tendem Tendem a apresentar extensas regiões da mesma cor, proporcionando uma boa compressão com RLE; Fotografias, por apresentarem muitas e sutis variações de cores e tons tendem a não apresentar uma boa taxa de compressão com RLE.
Lempel-Ziv-Welch (LZW)
Nome do algoritmo desenvolvedores
derivado
do
nome
Abraham Lempel; Ziv; Jakob Ziv; Terr erryy Wel Welch. ch.
Simétrico e sem perdas; Estratégia de compressão baseada em dicionário
Substitui sequências de símbolos por códigos
Tabela de associação assoc iação código – símbolo. símbolo. Em geral, os códigos são menores que as sequências; Redução de tamanho.
Usado Usado no GIF, GIF, TIFF TIFF, Compress Compress (utili (utilitár tário io un unix) ix)..
dos
Wavelets
Funções definidas sobre um intervalo finito com valor médio = 0; Ideia principal: representar qualquer função arbitrária f(t) como uma sobreposição de um conjunto de funções básicas ou wavelet; Funções básicas são obtidas de uma wavelet mãe
Fourier fornece apenas informações sobre domínio da frequência, não sobre o tempo.
11. Projeto de animação por computador 11.1 Princípios Pri ncípios de animação. ani mação. Sinopse, Sinopse , Roteiro, Storyboard Story board 11.2 Animação interativa (Z-Buffer) x não-interativa (Raytracing) (Raytracing) 11.3 Som e vídeo digitais
161
Princípios da Animação
Comprimir e esticar; Antecipação; Encenação; Animação Pose-a-pose ou Direta; Sobreposição e continuidade; Aceleração e desaceleração; Movimento em arco; Ação secundária; Temporização; Exagero; Desenho volumétrico; Apelo.
Roteiro
Descrição objetiva das cenas, cen as, diálogos, indicações técnicas da animação; Exposição e organização das ideias; Previsão do pensamento dos espectadores
Surpreender; Emocionar; Divertir; Prender atenção, a tenção, etc.
Geralmente, feito em forma de texto.
Animação Interativa
Ray-Tracing
Método para gerar imagens digitais ao simular o caminho da luz que passa atra através vés dos pixels da imagem de saída; Simula a forma como os fótons viajam pelo espaço do mundo real; Técnica poderosa, capaz de gerar imagens com um elevado grau de foto-real foto-realismo; ismo; Requer esforço computacional intenso; Muito usada em locais onde a imagem pode ser tratada previamente
Cinema; TV, etc.
Menos adequado para aplicações em tempo real, como jogos.
Animação Interativa
Ray-Tracing
Animação Interativa
Ray-Tracing
Animação Interativa
Z-Buffer
Algoritmo de visualização mais simples; Ordenação por distância; Geralmente implementado nas placas de vídeo; Rotinas de OpenGL baseiam-se neste algoritmo; Matriz 2D que salva o componente de profundidade; Visibilidade é computada por pixel; Pixel recebe recebe a cor do objeto mais próximo ao observador obser vador
Z “mais alto”.
Animação Interativa
Z-Buffer
Permite uma comparação por pixel em cada polígono; Requer um espaço razoável em memória para armazenamento do Z-buffer; Fácil de implement i mplementar ar,, inclusive em hardware; Não demanda ordenação prévia; Pode ser implementada com
2 buffers – buffers – um para a cor e outro para a coordenada coordenada Z; 1 buffer – buffer – para a coordenada Z.
Animação Interativa
Z-Buffer
Animação Interativa
Z-Buffer
Referências
AZEVEDO, E. e CONCI, A. “Computação Gráfica: Teoria e Prática”, Rio de Janeiro, Editora Campus, 2003
Thresholding: A Pixel-Level Image Processing Methodology Preprocessing Technique for an OCR System for the Brahmi Script H. K. Anasuya Devi
Introdução ao Processamento de Imagens – Soraia Soraia Raupp Musse
Visão humana - Guillermo Cámara-Chávez Cámara-Chávez
Using Curves and Histograms – Jonathan Jonathan Sachs
Introdução a Processamento de Imagens e Visão Computacional usando OpenCV – XXI XXI Brazilian Symposium on Computer Graphics and Image Processing
Operações Ponto a Ponto – André André Backes
5 Things Every Human Should Know About Light – Rhett Allain – Wired Teoria das cores: natureza, classificação e características – Mauricio Mauricio Mallet Duprat Visão Computacional - Paulo Sérgio Rodrigues Visão Computacional com Python e OpenCV utilizando Kinect – Humberto Zanetti
Visão Computacional Computacional – Carlos Carlos Alexandre de Mello
Computer Vision – Aditya Aditya Wikan Mahastama
Processamento Digital de Imagens - Carlos Alberto Felgueiras
Pixels, Printers, Video – scantips scantips
Processamento do Histograma – Lucas Lucas Ferrari de Oliveira
Aula 2 – importância do histograma em Analise de Imagens - Aura Conci
Como interpretar um histograma - Cláudia Regina
Entendendo o histograma na fotografia - Erica Dallbello
171
Transformações Geométricas 2D e 3D – Anderson Luis Nakano e Ícaro Lins Leitão da Cunha Tratamento da Imagem – Transformações Transformações – Antonio Antonio G Thomé Computação Gráfica – Transformações Geométricas no Plano e no Espaço – Tony Tony Alexander Hild Compressão de Imagens – Fabrízzio Fabrízzio Alphonsus Alves de Melo Nunes Soares
Compressão de Imagens (JPG) – Nilson Nilson Teixeira de Lima Jr
Compressão de Imagens – Ionildo Ionildo José Sanches
Visão por computador – João João Luís Sobral
Compressão de imagens usando Wavelets – Daniel Daniel Nehme Muller e Everaldo Luis Daronco
Z-Buffer – Aura Aura Conci
docs.gimp.org