240 likes | 530 Views
Processamento de Imagens. Processamento de Imagens Matemática por trás de Processamento de Imagens Operações Aritméticas com imagens Conceito de Filtro Realçar e Borrar Ampliar e Reduzir Combinação de Imagens Mistura Transparência Adição e Subtração Morphing Outros Assuntos Dithering
E N D
Processamento de Imagens • Processamento de Imagens • Matemática por trás de Processamento de Imagens • Operações Aritméticas com imagens • Conceito de Filtro • Realçar e Borrar • Ampliar e Reduzir • Combinação de Imagens • Mistura • Transparência • Adição e Subtração • Morphing • Outros Assuntos • Dithering • Animações com Sprites
Matemática por trás de Processamento de Imagens • Teoria de Sinais • Freqüência de uma imagem • Transformada de Fourier 2D • Shannon / Nyquist • Convolução • Impulso
IMAGEM 1 IMAGEMFINAL Operação IMAGEM 2 Operações Aritméticas com Imagens • Subtração de duas imagens: • Útil para diferenças entre imagensEx: sequências em uma animação • Adição de duas imagens • Multiplicação por um escalar
FILTRO IMAGEMORIGINAL IMAGEMFINAL FILTRO • Filtros de Amplitude • Atuam diretamente no espaço de cor das imagens • Filtros Topológicos • Atuam no domínio da imagem
Filtros de Amplitude x Topológico Gamma Correction PUNCH
1 1 1 1/9 1 1 1 1 1 1 Convolução Discreta 2D Filtro representadopor uma Matriz 3x3: Imagem (5x5): Algoritmo: • Para cada pixel da imagem • Posicionar centro do filtro sobre o pixel • Calcular média ponderada dos pixels na vizinhança segundo os valores do filtro • pixel correspondente na imagem final ganhará essa média • Considerações: • Complexidade? • Valores Negativos? • O que fazer na borda? Exemplo no pixel (3,2): (2+3+4+2+3+6+8+9+0) / 9 ≈ 4
Considerações quanto a Convolução Discreta 2D • Complexidade da operação entre uma imagem mxn e um filtro pxq? • m•n•p•q • Em alguns casos é possível melhorar através de duas passadas 1D • Alguns filtros podem conter valores negativos, levando a resultados com valores negativos (ou mesmo valores fora do espaço de cores)! Duas soluções simples: • arrendondar para o valor existente mais próximo (negativos→0) • Transformação dos valores (offset + redistribuição de valores)
Considerações quanto a Convolução Discreta 2D Código da convolução? • Problemas na borda: Como estender o domínio? • Extensão nula • Extensão periódica • Extensão por reflexão • Quantidade par de coeficientes por linha ou coluna! Onde fica o centro do filtro?
1 1 1 1/9 1 1 1 1 1 1 Filtro BOX • Como será a imagem final após a filtragem pelo filtro BOX? • Cada pixel será a média dos vizinhos • Um pixel branco no meio de pixels azuis vai ficar azulado • Portanto este filtro vai borrar a imagem • É chamado de filtro passa baixa (porque deixa passar apenas baixas freqüências,as altas são filtradas)
Resultado de um Filtro BOX BOX • O Filtro BOX é anisotrópico
1 2 1 1 4 6 4 1 1 256 1 16 1 64 1 3 3 1 2 4 2 4 16 24 16 4 3 9 9 3 6 24 36 24 6 1 2 1 3 9 9 3 4 16 24 16 4 1 3 3 1 1 4 6 4 1 Filtro Gaussiano Triângulo de pascal para geração discreta da Gaussiana
Gauss Resultado do Filtro Gaussiano • O Filtro Gaussiano é isotrópico
Filtro Gaussiano 5x5 original 2x2 8x8 32x32
Filtro Laplaciano truncation • Filtro passa alta. • Somar à imagem originalpara realçar os detalhes. offset
Sobel • Bom para detecção de aresta • Horizontal e Vertical: • Calcula o gradiente da imagem • direção e magnitude
14 x 10 8 x 5 Ampliação e Redução • Redução: • Pixel resize (filtragem) • Interpolação linearbilinear resample Redução 10 x 8 Ampliação • Ampliação: • Pixel resize • Interpolação não linearbicubic resample
Combinação de Imagens • Pixels alternados • Imagens com as cores misturadas (blend) • Álgebra (adição e subtração) • Canal Alpha (composição) • Morphing
A A A A A A A A A A A A A A A A A A A A A A A A A B A B A B A A A A A A B A B A B A A A A A A A A B A B A B B A B A B A B B B B B B A B A B A B B B B B B B B A B A B A B B B B B B B B B B B B B B B B B B B B B B B B Pixels Alternados
Blend de imagens Imagem A Imagem B Imagem com 40% de A e 60% de B Álgebra: 0.4·A + 0.6·B
Canal Alpha (composição) Canal Alpha
Canal Alpha (composição) Canal Alpha com 8 bits. Exemplo: imagem1 com alpha, compondo com a imagem2 O pixel da imagem final (pf) será a composição do pixel da imagem1(p1) com o da imagem2 (p2), na proporção do alpha [0,1]. Para cada pixel: pf = α·p1 + (1- α)·p2 OBS: imagem com 32 bits (8 bits para o canal Alpha)
Animações com Sprites Canal Alpha Seqüências coladas no mesmo fundo