PDI Slides

60 %
40 %
Information about PDI Slides

Published on December 30, 2008

Author: petcom

Source: slideshare.net

Description

Slides da disciplina de Processamento Digital de Imagens do curso de Ciência da Computação da UFPB.

Introdução ao Processamento Digital de Imagens Prof. Leonardo Vidal Batista DI/PPGI/PPGEM leonardo@di.ufpb.br leovidal@terra.com.br http://www.di.ufpb.br/leonardo

Processamento Digital de Imagens Modelagem matemática, análise, projeto e implementação (S&H) de sistemas voltados ao tratamento de informação pictórica, com fins estéticos, para torná-la mais adequada à interpretação ou aumentar eficiência de armazenamento e transmissão.

PDI e áreas correlatas Dados Visão Computação Computacional Gráfica Imagens Processamento Digital de Imagens (sinais 2D) Processamento Digital de Sinais

PDI x Visão Computacional

Imagens digitais TV digital Câmeras digitais, celulares, scanners DVDs Sistemas de teleconferência Transmissões via fax Editoração eletrônica Impressoras Monitoramento da superfície terrestre e previsão climática por imagens de satélites Detecção de movimento

Imagens Digitais Diagnóstico médico: ultrassonografia, angiografia, tomografia, ressonância magnética, contagem de células, etc Identificação biométrica: reconhecimento de face, íris ou impressões digitais Ciências forenses Realce e restauração de imagens por computador Instrumentação Controle de qualidade Granulometria de minérios

Outros Sinais Digitais Diagnóstico médico: eletrocardiograma, eletroencefalograma, eletromiograma, eletroretinograma, polisonograma, etc Identificação biométrica por reconhecimento de voz Síntese de voz Áudio Digital Telefonia Suspensão ativa em automóveis Mercado acionário

Sinais Contínuos e Discretos Sinal analógico Sinal digital ... Amplitude 2q q 0 -q -2q ... Erros de quantização 0 Ta 2Ta 3Ta ... Tempo, espaço etc.

Processamento Analógico de Sinais Processador Sinal analógico analógico Sinal analógico de entrada de saída

Processamento Digital de Sinais Sinal Sinal analógico Conversor Processador digital A/D Digital Sinal Sinal analógico Conversor Processador Conversor analógico A/D Digital D/A

Processamento Digital de Sinais Alguns sinais são inerentemente digitais ou puramente matemáticos Ex: Número de gols por rodada do campeonato brasileiro de futebol Neste caso, não há necessidade de Conversão A/D Ainda assim, pode haver necessidade de conversão D/A Ex: texto -> voz sintetizada

Processamento Digital de Sinais Hardware, software, ou ambos Maior flexibilidade Menor custo Menor tempo de desenvolvimento Maior facilidade de distribuição Sinais digitais podem ser armazenados e reproduzidos sem perda de qualidade Mas alguns sistemas exigem uma etapa analógica!

Processamento Digital de Sinais – Robustez a Ruído Sinal analógico original Sinal analógico corrompido – em geral, recuperação impossível mesmo para pequenas distorções

Processamento Digital de Sinais – Robustez a Ruído Sinal digital corrompido – recuperação possível Sinal digital original mesmo com distorções substanciais, principalmente com uso de códigos corretores. ‘1’ ‘1’ ‘0’ ‘0’ Sinal digital recuperado com erro ‘1’ ‘0’

Eliminação de ruído

Detecção de Bordas

Aguçamento

Pseudo-cor

Pseudo-cor

Segmentação/Classificação

Combinação de Imagens

Metamorfose

Warping (Deformação)

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual? http://www.echalk.co.uk/ amusements/OpticalIllusi ons/illusions.htm

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual?

Você confia em seu sistema visual?

A Faixa Visível do Espectro Eletromagnético Luz: radiação eletromagnética Freqüência f, comprimento de onda L Faixa visível do espectro eletromagnético: 380 nm < L < 780 nm Na faixa visível, o sistema visual humano (SVH) percebe comprimentos de onda diferentes como cores diferentes

A Faixa Visível do Espectro Eletromagnético Radiação monocromática: radiação em um único comprimento de onda Cor espectral pura: radiação monocromática na faixa visível

A Faixa Visível do Espectro Eletromagnético

A Faixa Visível do Espectro Eletromagnético Denominação Usual da Cor Faixa do Espectro (nm) Violeta 380 – 440 Azul 440 – 490 Verde 490 – 565 Amarelo 565 – 590 Laranja 590 – 630 Vermelho 630 – 780

A Estrutura do Olho Humano Olho humano: aproximadamente esférico, diâmetro médio em torno de dois centímetros A luz penetra no olho passando pela pupila e pelo cristalino e atingindo a retina Imagem invertida do cenário externo sobre a retina Cones e bastonetes convertem energia luminosa em impulsos elétricos que são transmitidos ao cérebro.

A Estrutura do Olho Humano

Bastonetes 75 a 150 milhões/olho, sobre toda a retina Não são sensíveis às cores Baixa resolução (conectados em grupos aos terminais nervosos) Sensíveis à radiação de baixa intensidade na faixa visível Visão geral e de baixa luminosidade Objetos acinzentados sob baixa luminosidade

Cones 6 a 7 milhões/olho, concentrados na fóvea Sensíveis às cores Alta resolução (um cone por terminal nervoso) Pouco sensíveis a radiação de baixa intensidade na faixa visível Visão específica, de alta luminosidade Movimentamos os olhos para que a imagem do objeto de interesse recaia sobre a fóvea.

Cones Há três tipos de cones: Cone sensível ao vermelho Cone sensível ao verde Cone sensível ao azul Cores diversas obtidas por combinações destas cores primárias

Cones Cone “Verde” Resposta Cone “Azul” Cone “Vermelho” 400 500 600 700 Comprimento de onda (nm)

Sistema de Cores RGB A cor de uma fonte de radiação na faixa visível é definida pela adição das cores espectrais emitidas – sistema aditivo Combinação de radiações monocromáticas vermelho (R), verde (G) e azul (B) Cores primárias da luz Sistema de cores RGB

Sistema RGB Padronização da Comissão Internacional de Iluminação (CIE): Azul: 435,8 nm Verde: 546,1 nm Vermelho: 700 nm

Sistema RGB - Combinação de Cores Primárias Cores secundárias da luz: magenta (M), cíano (C) e amarelo (Y): M=R+B C=B+G Y=G+R Cor branca (W): W=R+G+B

Espaço de Cores RGB Cor no sistema RGB é um vetor em um espaço tridimensional: G R B

Espaço de Cores RGB Reta (i, i, i): reta acromática Pontos na reta acromática: tonalidades de cinza ou níveis de cinza Preto: (0, 0, 0) (ausência de luz) Branco: (M, M, M), (M é a intensidade máxima de uma componente de cor) Monitor de vídeo: Sistema RGB

Sistema de Cores CMY Cor de um objeto que não emite radiação própria depende dos pigmentos que absorvem radiação em determinadas faixas de freqüência e refletem outras Absorção em proporções variáveis das componentes R, G e B da radiação incidente: sistema subtrativo

CMY - Cores Primárias Cores primárias dos pigmentos: absorvem uma cor primária da luz e refletem as outras duas C=W–R=G+B M=W–G=R+B Y=W–B=G+R

CMY – Combinação de Cores Primárias Cores secundárias: R=M+Y G=C+Y B=M+C Preto (K): K=C+M+Y=W–R–G–B Impressoras coloridas: CMY ou CMYK

Processos Aditivo e Subtrativo

Sistema de Cores YIQ Transmissão de TV em cores: compatibilidade com TV P & B Y: luminância (intensidade percebida, ou brilho) I e Q: crominâncias

Conversão YIQ-RGB Conversão de RGB para YIQ: Y = 0.299R + 0.587G + 0.114B I = 0.596R – 0.274G –0.322B Q = 0.211R – 0.523G + 0.312B Conversão de YIQ para RGB : R = 1.000 Y + 0.956 I + 0.621 Q G = 1.000 Y – 0.272 I – 0.647 Q B = 1.000 Y – 1.106 I + 1.703 Q

Sistema de Cores HSI Fisiologicamente, a retina humana opera no sistema RGB A percepção subjetiva de cor é diferente Atributos perceptivos das cores: Matiz (hue) ou tonalidade Saturação Intensidade

Sistema de Cores HSI Matiz (H): determinada pelo comprimento de onda dominante; cor espectral mais próxima; denominação usual das cores H é um ângulo: 0o = R; 120o = G; 240o = B Saturação: pureza da cor quanto à adição de branco S = 0: cor insaturada (nível de cinza) S = 1: cor completamente saturada Cores espectrais puras tem S = 1

Sistema de Cores HSI

Conversão HSI-RGB Algoritmos nas Notas de Aula

Imagem monocromática y x

Imagem monocromática Função Ia(x,y) (x, y): coordenadas espaciais Ia(x,y): intensidade ou brilho da imagem em (x,y)

Amostragem e Quantização Digitalização: discretização espacial (amostragem) e de intensidade (quantização)

Amostragem e Quantização Sinal analógico Sinal digital ... Amplitude 2q q 0 -q -2q ... Erros de quantização 0 T 2T 3T ... Tempo ou espaço

Amostragem e Quantização - Parâmetros T: período de amostragem (unidade de espaço ou tempo) f = 1/T: freqüência de amostragem (amostras/unidade de espaço ou tempo) q: passo de quantização Sinal analógico: s(t), s(x) Sinal digitalizado: s[nT], n inteiro não negativo, s[nT] ∈{-Mq, ..., -2q, -q, 0, q, 2q, ..., Mq,}

Amostragem e Quantização – Exemplo 1 Sinal analógico s(t): voltagem de saída de um sistema elétrico em função do tempo 40 20 Sinal analógico Volts 0 -20 -40 0 1 2 3 4 5 6 7 segundos

Amostragem e Quantização – Exemplo 1 T = 0.5s, q = 0.5V, M = 80: s[0.5.n], n = 0, 1, 2, ... s[0.5n] ∈ {-40, -39.5..., -0.5, 0, 0.5 1,...,39.5, 40} s[0]=9.5,s[0.5]=8,s[1]=-2, s[1.5]= -10.5, ... Sinal digital pode ser representado como s[n] ∈ {-M,..., -2, -1, 0, 1, 2,..., M} s[0]=19, s[1]=16, s[2]=-4, s[3]=-21,... s[n] = {19, 16, -4, -20, ...}

Amostragem e Quantização – Exemplo 2 Em um processo de digitalização foram colhidas N=10 amostras de um sinal de temperatura (graus Celsius) igualmente espaçadas ao longo de um segmento de reta unindo duas cidades A e B. A primeira amostra foi colhida na cidade A e a última na cidade B. O sinal digital resultante é s[n] = {12 12 13 13 14 13 14 14 14 15} Perguntas: (a) Distância entre as cidades? (b) Valores de temperatura registrados? (c) Limites de temperatura registrável? (d) Qual o valor de s[5km]?

Amostragem e Quantização – Solução do Exemplo 2 Precisamos conhecer f, q e M! Dados: f = 0.1 amostra/km q = 2o Celsius M = 15;

Amostragem e Quantização – Solução do Exemplo 2 T = 10 km/amostra (a) Distância entre as cidades = (10-1)x10 = 90km (b) Temperaturas em graus Celsius: {24 24 26 26 28 26 28 28 28 30} (c) Limites de temperatura em graus Celsius: [-30, 30] (d) s[5km]: no sinal digital s[nT] não há nT = 5km!

Conversores Analógico- Digitais (ADC) Conversor Analógico/Digital (Analog to Digital Converter - ADC): amostra, quantiza em L níveis e codifica em binário. Um transdutor deve converter o sinal de entrada para tensão elétrica (V) Códigos de b bits: L = 2b níveis de quantização Exemplo: b = 8, L = 256 ADC de b bits

Conversores Analógico- Digitais (ADC) ADC unipolar: voltagem de entrada de 0 a Vref ADC bipolar: voltagem de entrada de -Vref a Vref Exemplo: ADC unipolar de 3 bits, Vref = 10 V L = 23 = 8, Resolução de voltagem: 10/8 = 1,25V Exemplo: ADC bipolar de 3 bits, Vref = 5 V L = 23 = 8, Resolução de voltagem: 10/8 = 1,25V

ADC Unipolar Bipolar Voltagem Código Voltagem Código [0,00, 1,25) 000 [-5,0, -3,75) 000 [1,25, 2,50) 001 [-3,75, -2,5) 001 [2,50, 3,75) 010 [-2,5, -1,25) 010 [3,75, 5,00) 011 [-1,25, 0,0) 011 [5,00, 6,25) 100 [0,00, 1,25) 100 [6,25, 7,50) 101 [1,25, 2,50) 101 [7,50, 8,75) 110 [2,50, 3,75) 110 [8,75, 10,0) 111 [3,75, 5,00) 111

Conversores Analógico- Digitais (ADC) O bit menos significativo (LSB) do código se altera em incrementos de 1,25V. Resolução de voltagem: “valor” do LSB Alguns parâmetros: fa, Vref, b, ...

Amostragem e Quantização – Qualidade do Sinal 40 20 Sinal analógico Volts 0 -20 -40 0 1 2 3 4 5 6 7 segundos 40 40 f = 2 amostras/s Sinal analógico 20 (T = 0,5s), q = 1 20 reconstruído 0 0 -20 -20 -40 -40 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Amostragem e Quantização – Qualidade do Sinal 40 20 Sinal analógico Volts 0 -20 -40 0 1 2 3 4 5 6 7 segundos 40 40 f = 5 amostras/s Sinal analógico (T = 0,2s), q = 1 20 20 reconstruído 0 0 -20 -20 -40 -40 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Amostragem e Quantização – Qualidade do Sinal 40 20 Sinal analógico Volts 0 -20 -40 0 1 2 3 4 5 6 7 segundos 40 40 f = 10 amostras/s Sinal analógico 20 (T = 0,1s), q = 1 20 reconstruído 0 0 -20 -20 -40 -40 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Amostragem e Quantização – Qualidade do Sinal 40 20 Sinal analógico Volts 0 -20 -40 0 1 2 3 4 5 6 7 segundos 40 40 f = 10 amostras/s Sinal analógico 20 (T = 0,1s), q = 16 20 reconstruído 0 0 -20 -20 -40 -40 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Imagem digital monocromática 250 200 150 100 50 0 0 100 200 300 400 500 i=0 250 200 ⎡161 161 ... 142⎤ 150 ⎢161 161 ... 142⎥ 100 ⎢ ⎥ 50 ⎢ ... ... ... ... ⎥ ⎢ ⎥ 0 0 50 100 150 200 250 300 350 ⎣163 163 ... 95 ⎦ j = 266

Resolução Espacial e de Contraste 256x256 / 256 níveis 256x256 / 64 níveis 256x256 / 2 níveis 32x32 / 256 níveis

Imagens RGB Banda R Banda G Banda B Imagem RGB

Imagens Digitais Uma imagem é uma matriz bidimensional observada de forma pictórica. Imagens de densidade demográfica, de raios x, de infravermelho, de temperaturas de uma área, etc.

Scanners Monocromáticos: fila de diodos fotossensíveis em um suporte que se desloca Coloridos: fila de diodos fotossensíveis, recobertos por filtros R, G e B, em um suporte que se desloca Lâmpada fluorescente branca ilumina o objeto Diodos produzem carga elétrica proporcional à intensidade da luz refletida pelo objeto

Scanners

Scanners Th: distância entre diodos no suporte Tv: tamanho do passo do suporte Th e Tv definem a resolução espacial L: profundidade de cor ou resolução de contraste Resolução espacial: pontos por polegada (dot per inch, dpi) (1 ponto = 1 sensor em scanner monocromático, 3 sensores em scanners RGB) 1 pol = 2,54 cm.

Scanners Ex: 300 x 300 dpi, digitalização de formato carta(8,5 x 11’’), no máximo: 8,5x300=2550 diodos (mono) ou 3x2550=7650 diodos (cor) Aumentar resolução vertical sem aumentar o número de sensores

Scanners N pontos/polegada Movimento do braço: ... M passos/polegada

Câmeras Digitais

Câmeras Digitais Sensor de imagem: matriz de diodos fotosensíveis cobertos por filtros R, G e B Diodos produzem carga elétrica proporcional à intensidade da luz refletida pelo objeto Resolução espacial de câmeras: número de pontos (ou pixels), RxC (1 ponto = 3 sensores)

Câmeras Digitais Exemplo: Sony DSC V1: 1944 x 2592 pixels = 5Mpixels. Digitalizar papel em formato carta com imagem da folha ocupando todo o sensor. Resolução (em dpi)? Comparar com scanner de 300 x 300 dpi, em qualidade, número de sensores e preço. Comparar com scanner de 2400 x 2400 dpi.

Câmeras Digitais Solução: 1944 / 8,5 pol x 2592/11 pol = 228,7 dpi x = 235,6 dpi Resolução espacial pior que scanner de 300 x 300 dpi, com 1944 x 2592 x 3 / 7650 = 1976 vezes mais sensores, 10 a 20 vezes mais caro, aberrações geométricas e de cor, etc. Câmeras digitais têm escopo de aplicação maior e são mais rápidas Scanner de 2400 x 2400 dpi = câmera de 500 Mpixels!

Dispositivos Gráficos Exemplo: câmera digital, 3000 x 2000 pontos (6 Mpixels), impressa em formato 15x10 cm, com o mesmo no. de pontos. Qual a resolução (dpi) no papel?

Dispositivos Gráficos Exemplo: câmera digital, 3000 x 2000 pontos (6 Mpixels). Imprimir em formato 15x10 cm, com o mesmo no. de pontos. Qual a resolução (dpi) no papel? 3,94 x 5,91 pol. Resolução (dpi): 3000/5,91 = 2000/3,94 = 507x507 dpi

Dispositivos Gráficos Ex: foto 10x15cm, scanneada a 1200x1200 dpi, 24 bits/pixel. Tamanho em bytes? Dimensões impressa em 1440x1440 dpi? Dimensões impressa em 720 x 720 dpi? Dimensões em tela de 14 pol., resolução 1024x768? Resolução em dpi da tela? Dimensões em tela de 17 pol., resolução 1024x768? Resolução em dpi da tela?

Dispositivos Gráficos Solução: Foto 10x15cm = 3,94 x 5,91 pol. Tamanho em bytes: 3,94x1200 x 5,91x1200 pixels x 3 bytes/pixel = 4728 x 7092 x 3 = 100 milhões de bytes (96 MB) Dimensões (pol) em impressora de 1440x1440 dpi: 4728/1440 x 7092/1440 = 3,3 x 4,9 pol. Dimensões (pol.) em impressora de 720 x 720 dpi = 6,6 x 9,9 pol

Dispositivos Gráficos Solução: Dimensões em tela de 14 pol., em resolução de 1024x768 pontos? Resolução em dpi da tela? x2 + y2 = 142 x/y = 3/4 x = 8,4 pol; y = 11,2 pol. Res. = 1024/11,2 x 768/8,4 = 91,4 x 91,4 dpi. Dimensões = 4728 / 91,4 x 7092 / 91,4 =51,73 x 77,59 pol = 131,39 x 197,09cm (apenas parte da imagem será visível)

Dispositivos Gráficos Solução: Dimensões em tela de 17 pol., em resolução de 1024x768 pontos? Resolução em dpi da tela? y = 13,6 pol; x = 10,2 pol Res. = 1024/13,6 x 768/10,2 = 75,3 x 75, 3 dpi (pior que no monitor de 14 pol) Dimensões = 4728 / 75,3,4 x 7092 / 75,3 =62,79 x 94,18 pol = 159,49 x 239,22cm (apenas parte da imagem será visível)

Câmeras Digitais ... ...

Monitor CRT A e C: Placas aceleradoras e defletoras D: tela com pontos de fósforos RGB F: Máscara de sombra ou grade de abertura

Monitor CRT

Monitor RGB

Monitor RGB Linha 0 Linha 1 Linha R-1

Operações com Imagens Espaço / freqüência Locais / pontuais Unárias / binárias / ... / n-árias

Operações n-árias Operação T sobre n imagens, f1, f2, ..., fn, produzindo imagem de saída g g = T[f1, f2, ..., fn] Operações binárias: n = 2 Operações unárias ou filtros: n = 1 g = T[f]

Operações Pontuais g(i, j) depende do valor do pixel em (i’, j’) das imagens de entrada Se (i, j) = (i’, j’) e operação unária:s = T(r) r, s: nível de cinza de f e g em (i, j) s s (0,0) m r (0,0) m r

Operações Pontuais s s L-1 L-1 (r2, s2) (r1, s1) (0,0) L-1 r (0,0) L-1 r

Operações Locais g(i, j) depende dos valores dos pixels das imagens de entrada em uma vizinhança de (i’, j’) f g j j i i Vizinhança de (i, j)

Operações Locais Exemplo: Filtro “Média” 1 g (i, j ) = [ f (i − 1, j − 1) + f (i − 1, j ) + f (i − 1, j + 1) + 9 + f (i, j − 1) + f (i, j ) + f (i, j + 1) + + f (i + 1, j − 1) + f (i + 1, j ) + f (i + 1, j + 1)] Operação sobre pixels da imagem original: resultado do filtro em um dado pixel não altera o resultado em outros pixels. Primeira e última coluna/linha?

Filtros de suavização Média, Moda, Mediana, Gaussiano... Vizinhança m x n

Photoshop!

Photoshop!

Photoshop!

Photoshop!

Filtros de aguçamento e detecção de bordas Efeito contrário ao de suavização: acentuam variações de intensidade entre pixels adjacentes. Baseados no gradiente de funções bidimensionais. Gradiente de f(x, y): ⎡ ∂f ⎤ ⎢ ∂x ⎥ ⎡ ∂f2 2 ⎤1 / 2 ⎛ ∂f ⎞ G[f(x, y)] = ⎢ ⎥ ⎢⎛ ⎞ + ⎜ ⎟ ⎥ G[ f ( x, y )] = ⎜ ⎟ ⎜ ∂y ⎟ ⎢ ⎥ ⎢⎝ ∂x ⎠ ⎝ ⎠ ⎥ ⎢ ∂f ⎥ ⎣ ⎦ ⎢ ⎥ ⎣ ∂y ⎦

Filtros de detecção de bordas g(i, j): aproximação discreta do módulo do vetor gradiente em f(i, j). Aproximações usuais: g(i, j) = {[f(i,j)-f(i+1,j)]2 + [f(i,j)-f(i,j+1)]2}1/2 g(i, j) = |f(i,j)-f(i+1,j)| + |f(i,j)-f(i,j+1)| Gradiente de Roberts: g(i,j) = {[f(i,j)-f(i+1,j+1)]2+[f(i+1,j)-f(i,j+1)]2}1/2 g(i, j) = |f(i,j)-f(i+1,j+1)| + |f(i+1,j)-f(i,j+1)|

Filtros de detecção de bordas Gradiente de Prewitt: g(i, j) = |f(i+1,j-1) + f(i+1, j) + f(i+1, j+1) - f(i-1, j-1) - f(i-1, j) - f(i-1, j+1)| +|f(i-1, j+1) + f(i, j+1) + f(i+1, j+1) - f(i-1, j-1) - f(i, j-1) - f(i+1, j-1)| Gradiente de Sobel: g(i, j) = |f(i+1, j-1) + 2f(i+1, j) + f(i+1, j+1) - f(i-1, j-1) - 2f(i-1, j) - f(i-1, j+1)| + |f(i-1, j+1) + f(i, j+1) + f(i+1, j+1) - f(i-1, j-1) - 2f(i, j-1) - f(i+1, j-1)|

Gradiente de Roberts Limiares 15, 30 e 60

Processamento de Histograma Se o nível de cinza l ocorre nl vezes em imagem com n pixels, então nl P (l ) = n Histograma da imagem é uma representação gráfica de nl ou P(l)

Histograma Histograma nl Imagem 7 6 1 0 0 3 3 5 4 0 0 3 3 3 3 1 1 1 3 3 2 1 0 0 1 2 3 l Imagem 3 x 5 (L = 4) e seu histograma

Histograma O histograma representa a distribuição estatística de níveis de cinza de uma imagem nl nl nl 0 255 l 0 255 l 0 255 l

Histograma 10000 8000 6000 4000 2000 0 0 50 100 150 200 250

Histograma 1500 1000 500 0 0 50 100 150 200 250

Expansão de Histograma Quando uma faixa reduzida de níveis de cinza é utilizada, a expansão de histograma pode produzir uma imagem mais rica. nl nl nl A B C l l l m0=0 m1 L-1 0 m0 m1 L-1 0 m0 m1=L-1

Expansão de Histograma Quando uma faixa reduzida de níveis de cinza é utilizada, a expansão de histograma pode produzir uma imagem mais rica: ⎛ r − rmin ⎞ s = T ( r ) = round ⎜ ⎜r ( L − 1) ⎟ ⎟ ⎝ max − rmin ⎠

Expansão de Histograma 1500 1000 500 0 0 50 100 150 200 250 1500 1000 500 0 0 50 100 150 200 250

Expansão de Histograma Expansão é ineficaz nos seguintes casos: nl A nl B nl C 0 L-1 L-1 l 0 m0 m1 L-1 l 0 L-1 l

Equalização de Histograma Se a imagem apresenta pixels de valor 0 e L-1 (ou próximos a esses extremos) a expansão de histograma é ineficaz. Nestas situações a equalização de histograma pode produzir bons resultados. O objetivo da equalização de histograma é gerar uma imagem com uma distribuição de níveis de cinza uniforme.

Equalização de Histograma ⎛ L −1 r ⎞ s = T (r ) = round ⎜ ∑ nl ⎟ ⎝ RC l =0 ⎠ 1500 1000 500 0 0 50 100 150 200 250 1500 1000 500 0 0 50 100 150 200 250

Equalização de Histograma Exemplo: imagem 64 x 64, L = 8 nl l nl 0 790 1200 1 1023 1000 2 850 800 3 656 600 4 329 400 5 245 200 6 122 0 7 81 0 1 2 3 4 5 6 7 l

Equalização de Histograma Exemplo (cont.): r=0 s = round(790 x 7 / 4096) =1 r=1 s = round(1813 x 7 / 4096) =3 r=2 s = round(2663 x 7 / 4096) =5 r=3 s = round(3319 x 7 / 4096) =6 r=4 s = round(3648 x 7 / 4096) =6 r=5 s = round(3893 x 7 / 4096) =7 r=6 s = round(4015 x 7 / 4096) =7 r=7 s = round(4096 x 7 / 4096) =7

Equalização de Histograma Exemplo: imagem 64 x 64, L = 8 l nl nk 0 0 1200 1 790 1000 2 0 800 3 1023 600 4 0 400 5 850 200 6 985 0 7 448 0 1 2 3 4 5 6 7 k

Equalização de Histograma nl Hist. Original nl Hist. Equal. (Ideal) nl Hist. Equal. (Real) 0 L-1 L-1 l 0 m0 m1 L-1 l 0 L-1 l

Equalização de Histograma Expansão de histograma é pontual ou local? E equalização de histograma? O que ocorre quando uma imagem com um único nível passa pela operação de equalização de histograma? Melhor fazer equalização seguido por expansão de histograma, o inverso, ou a ordem não importa?

Equalização de Histograma Local Para cada locação (i,j) de f • Calcular histograma na vizinhança de (i,j) • Calcular s = T(r) para equalização de histograma na vizinhança • G(i,j) = s

Controle de contraste adaptativo ⎧ c ⎪μ (i, j ) + [ f (i, j ) − μ (i, j )];σ (i, j ) ≠ 0 g (i, j ) = ⎨ σ (i, j ) ⎪ f (i, j );σ (i, j ) = 0 ⎩

Controle de contraste adaptativo

Filtros baseados na função gaussiana Função gaussiana: Derivada: Derivada segunda:

Filtros baseados na função gaussiana Gaussiana, derivada e derivada segunda

Filtros baseados na função gaussiana A máscara é construída pela amostragem de G(x), G’(x) e G’’(x) x = -5σ, ...-2, -1, 0, 1, 2..., 5σ

Filtros gaussianos bidimensionais Com r = sqrt(x2 + y2)

Pseudo-cor Nível de R G B cinza 0 15 20 30 1 15 25 40 ... L-1 200 0 0

Outros filtros: Curtose, máximo, mínimo etc. Filtros de suavização + filtros de aguçamento Laplaciano do Gaussiano (LoG) “Emboss” Aumento de saturação Correção de gama ...

Filtros Lineares e Invariantes ao Deslocamento Filtro linear: T [af1 + bf2] = aT [f1] + bT [f2] para constantes arbitrárias a e b. Filtro invariante ao deslocamento: Se g[i, j] = T [f[i, j]] então g[i - a, j – b] = T [f[i - a, j – b]]. Se i e j são coordenadas espaciais: filtros espacialmente invariantes.

Convolução Convolução de s(t) e h(t): ∞ ∫ g (t ) = s (t ) * h (t ) = s(τ )h(t − τ )dτ −∞

Convolução ∞ g (t ) = s (t ) * h (t ) = ∫ s(τ )h(t − τ )dτ −∞ h(τ ) s(t) (0,0) τ t0 t1 t 0 t2 t3 h (t − τ ) h ( −τ ) -t3 -t2 0 τ -t3+t -t2+t τ

Convolução Observe que g(t) = 0 para t ∉ [t0 + t2 , t1 + t3 ]

Convolução Discreta Linear Convolução linear entre s[n] e h[n] ∞ g[n ] = s[n ] * h[n ] = ∑ s[τ ]h[n − τ ] τ = −∞ Se s[n] e h[n] têm N0 e N1 amostras, respectivamente => extensão com zeros: N −1 g[n ] = s[n ] * h[n ] = ∑ s[τ ]h[n − τ ] τ =0 com N = N0 + N1 – 1.

Convolução Discreta Linear 6 s (τ ) 6 h(τ ) 4 4 2 2 0 1 2 3 4 5 6 τ 0 1 2 3 4 5 τ 6 h(−τ ) 6 h( n − τ ) 4 4 2 2 -5 -4 -3 -2 -1 0 1 τ τ n

Convolução Discreta Linear 6 s (τ ) 4 2 0 1 2 3 4 5 6 τ 6 h(−τ ) 4 g[0] = 3 2 -5 -4 -3 -2 -1 0 1 τ

Convolução Discreta Linear 6 s (τ ) 4 2 0 1 2 3 4 5 6 τ 6 h(1 − τ ) 4 g[0] = 3 2 g[1] = 8 -5 -4 -3 -2 -1 0 1 τ

Convolução Discreta Linear 6 s[n] 6 h[n] 4 4 2 2 0 1 2 3 4 5 6 n 0 1 2 3 4 5 n 30 g[n] = s[n]* h[n] 20 10 0 1 2 3 4 5 6 7 8 9 10 11 n

Convolução Discreta Linear s[n] Filtro g[n] h[n] ∞ g[n ] = s[n ] * h[n ] = ∑ s[τ ]h[n − τ ] τ = −∞

Impulso Unitário Delta de Dirac ou δ(t) impulso unitário 1 contínuo Duração = 0 Área = 1 0 t δ[n] Delta de Kronecker ou impulso unitário 1 discreto 0 n

Sinais = somatório de impulsos Delta de Kronecker Aδ[n-n0] A 0 n0 n s[n] = s[0]δ [n] + s[1]δ [n − 1] + .... + s[ N − 1]δ [n − ( N − 1)] N −1 s[n] = ∑ s[τ ]δ [n − τ ] τ =0

Resposta ao impulso Resposta de um filtro a s[n]: N −1 N −1 g[ n] = ∑ s[τ ]h[n − τ ] = ∑ h[τ ]s[n − τ ] τ =0 τ =0 Resposta de um filtro ao impulso N −1 N −1 g[ n ] = ∑δ [τ ]h[n − τ ] = ∑δ [n − τ ]h[τ ] τ =0 τ =0 N −1 h[n] = ∑δ [n − τ ]h[τ ] τ =0

Resposta ao impulso h[n]: Resposta ao impulso Máscara convolucional Kernel do filtro Vetor de coeficientes do filtro

Filtros FIR Finite Impulse Response N −1 y[n] = ∑ ak x[n − k ] k =0 ak = h[k ]

Filtros IIR Infinite Impulse Response N −1 M −1 y[n] = ∑ ak x[n − k ] − ∑ bk y[n − k ] k =0 k =1 Filtros recursivos

Filtros IIR (exemplo) Encontre a resposta ao impulso do seguinte sistema recursivo. Supor que o sistema está originalmente relaxado (y[n] = 0 para n < 0) y[n] = x[n] - x[n-1] – 0,5y[n-1]

Filtros IIR (exemplo) Exemplo: y[n] = x[n] - x[n-1] – 0,5y[n-1] y[0] = delta[0]–delta[-1]–0,5y[-1] = 1 y[1] = delta[1]–delta[0]–0,5y[0] = -1,5 y[2] = delta[2]–delta[1]–0,5y[1] = 0,75 y[3]= delta[3]–delta[2]–0,5y[2] = -0,325 y[n] = -0,5y[n-1], n > 1

Filtros IIR (exemplo 2) Exemplo: encontre a resposta ao impulso do seguinte sistema recursivo. Supor que o sistema está originalmente relaxado (y[n] = 0 para n < 0) y[n] - y[n-1] = x[n] - x[n-4]

Filtros IIR (exemplo 2) Exemplo (Solução) y[n] = y[n-1] + x[n] - x[n-4] y[0] = y[-1] + delta[0] - delta[-4] = 1 y[1] = y[0] + delta[1] - delta[-3] = 1 y[2] = y[1] + delta[2] - delta[-2] = 1 y[3] = y[2] + delta[3] - delta[-1] = 1 y[4] = y[3] + delta[4] - delta[0] = 0 y[5] = y[4] + delta[5] - delta[1] = 0 y[6] = y[7] = ... = 0

Convolução Discreta Circular Sinais s[n] e h[n] com N0 e N1 amostras, respectivamente => extensão com zeros: ⎧ s[n ], 0 ≤ n < N 0 ⎧h[n ], 0 ≤ n < N 1 s e [n ] = ⎨ he [n ] = ⎨ ⎩0, N 0 ≤ n < N ⎩0, N 1 ≤ n < N Extensão periódica: considera-se que se[n] e he[n] são períodos de sp[n] e hp[n] Convolução circular: N −1 g p [n] = s[n] ⊗ h[n] = ∑ s p [τ ]h p [n − τ ] τ =0

Convolução Circular x Linear Fazendo-se N = N0 + N1 – 1 s[n ] ⊗ h[n ] = s[n ] * h[n ]

Convolução de Imagens f[i, j] (R0xC0) e h[i, j] (R1xC1): extensão por zeros R −1 C −1 g[i, j ] = f [i, j ] * h[i, j ] = ∑ ∑ f [α , β ]h[i − α , j − β ] α =0 β =0 R −1 C −1 g p [i, j ] = f [i, j ] ⊗ h[i, j ] = ∑ ∑ f p [α , β ]h p [i − α , j − β ] α =0 β =0 Iguais se R=R0+R1–1 e C=C0+C1–1

Máscaras Convolucionais 1 1 1 1 0 -1 -1 -1 -1 0 0 0 1 0 -1 -1 8 -1 -1 -1 -1 1 0 -1 -1 -1 -1 1/9 1/9 1/9 0.025 0.1 0.025 1/9 1/9 1/9 0.1 0.5 0.1 1/9 1/9 1/9 0.025 0.1 0.025

Operador de Bordas de Kirsch 5 5 5 -3 5 5 -3 -3 5 -3 0 -3 -3 0 5 -3 0 5 -3 -3 -3 -3 -3 -3 -3 -3 5 -3 -3 -3 -3 -3 -3 ... -3 0 5 -3 0 -3 -3 5 5 5 5 5 Filtragem sucessiva com cada máscara Pixel de saída recebe o valor máximo

Máscaras Convolucionais Em geral: Máscaras de integração somam para 1 Máscaras de diferenciação somam para 0

Transformada z Transformada z de x[n]: ∞ Z {x[n]} = X [ z ] = ∑ x[n] z − n n =−∞ z: variável complexa

Propriedades da Transformada z Linearidade: Se x[n] = ax1[n] + bx2[n], (a e b: constantes arbitrárias), então: X [ z ] = aX 1[ z ] + bX 2 [ z ]

Propriedades da Transformada z Deslocamento: Z{x[n+k]} = zkX[z], k inteiro Prova: ∞ Z {x[n + k ]} = ∑ x[n + k ]z − n n = −∞ Fazendo m = n+k: ∞ ∞ Z {x[n + k ]} = ∑ x[m]z − ( n − k ) = z k ∑ x[m]z − n = z k X [ z ] m = −∞ m = −∞

Propriedades da Transformada z Convolução: ∞ y[n] = h[n] * x[n] = ∑ h[k ]x[n − k ] <=> Y [ z ] = H [ z ] X [ z ] k = −∞ Se h[n] é a resposta ao impulso de um filtro, H[z] é a função de transferência do filtro

Propriedades da Transformada z Convolução (Prova) ∞ ⎡ ∞ ⎤ −n Z {h[n] * x[n]} = ∑ ⎢ ∑ h[k ]x[n − k ]⎥ z n = −∞ ⎢ k = −∞ ⎣ ⎥ ⎦ ∞ ∞ = ∑ ∑ h[k ]x[n − k ]z − n k = −∞ n = −∞ ∞ ∞ −k = ∑ h[k ]z ∑ x[n]z − n k = −∞ n = −∞ = H [ z]X [ z]

Função de Transferência Equação de diferenças de um filtro N −1 M −1 y[n] = ∑ ak x[n − k ] − ∑ bk y[n − k ] k =0 k =1 M −1 N −1 ∑ bk y[n − k ] = ∑ ak x[n − k ] k =0 k =0 b0 = 1

Função de Transferência Transformada Z da Equação de diferenças ⎧M −1 ⎪ ⎫ ⎪ ⎧ N −1 ⎪ ⎫ ⎪ Z ⎨ ∑ bk y[n − k ]⎬ = Z ⎨ ∑ a k x[n − k ]⎬ ⎪ k =0 ⎩ ⎪ ⎭ ⎪k =0 ⎩ ⎪ ⎭ M −1 N −1 ∑ bk Z{ y[n − k ]} = ∑ ak Z{ x[n − k ]} k =0 k =0 M −1 N −1 ∑ bk z − k Y [ z ] = ∑ ak z − k X [z ] k =0 k =0

Função de Transferência Aplicando a transformada z em ambos os lados e simplificando: N −1 ∑ ak z − k Y [ z] k =0 H [ z] = = X [ z] M −1 1+ ∑ bk z − k k =1 Pólos: raízes do denominador Zeros: raízes do numerador Pólos e zeros: estabilidade

Função de Transferência BIBO: Bounded-input, bounded- output Sistemas BIBO-estáveis: sistemas causais tais que: ∞ ∑ | h[k ] | < ∞ k =0

Estimação da Resposta em Freqüência Resposta em freq. a partir de H[z] ∞ H [ z] = ∑ h[n]z − n n = −∞ ∞ H [ e jω ] = ∑ h[n]e − jnω , 0 ≤ ω ≤ 2π n = −∞ Comparar com N −1 j 2πun 1 − F [u ] = N ∑ s[n ]e N n =0

Estimação da Resposta em Freqüência Exemplo: encontre a resposta em freqüência do filtro y[n] = (x[n] + x[n-1])/2 utilizando a transformada Z Y[z] = (X[z] + z-1X[z] )/2 = X[z](1+z-1)/2 H[z] = (1+z-1)/2 H[ejw] = (1+e-jw)/2 = e-jw/2 (ejw/2 + e-jw/2)/2 = e-jw/2cos(w/2) |H[ejw]| = cos(w/2), -pi< w < pi

Estimação da Resposta em Freqüência Exemplo: encontre a resposta em freqüência do filtro y[n] = (x[n] - x[n-1])/2 utilizando a transformada Z Y[z] = (X[z] - z-1X[z] )/2 = X[z](1-z-1)/2 H[z] = (1-z-1)/2 H[ejw] = (1-e-jw)/2 = e-jw/2 (ejw/2 - e-jw/2)/2 = je-jw/2sen(w/2) |H[ejw]| = |sen(w/2)|, -pi< w < pi

Correlação Convolução: ∞ g[n ] = s[n ] * h[n ] = ∑ s[τ ]h[n − τ ] τ = −∞ Correlação: ∞ g[n] = s[n] o h[n] = ∑ s[τ ]h[τ − n] τ = −∞ Quando um dos sinais é par, correlação = convolução

Correlação Exemplo: h[-1] = 3; h[0] = 7; h[1] = 5; s[0..15] = {3, 2, 4, 1, 3, 8, 4, 0, 3, 8, 0, 7, 7, 7, 1, 2} Extensão com zeros

Correlação Exemplo: g[−1] = s[0]h[1] = 15 1 g[0] = ∑ s[τ ]h[τ ] = s[0]h[0] + s[1]h[1] = 31 τ =0 2 g[1] = ∑ s[τ ]h[τ − 1] = s[0]h[−1] + s[1]h[0] + s[2]h[1] = 43 τ =0 3 g[2] = ∑ s[τ ]h[τ − 2] = s[1]h[−1] + s[2]h[0] + s[3]h[1] = 39 τ =1 ...

Correlação Exemplo: g[0..15] = 31, 43, 39, 34, 64, 85, 52, 27, 61, 65, 59, 84, 105, 75, 38, 27 Observe que g[5] é elevado, pois é obtido centrando h em s[5] e calculando a correlação entre (3, 7, 5) e (3, 8, 4) Mas g[12] é ainda maior, devido aos valores elevados de s[11..13]

Correlação Normalizada A correlação normalizada elimina a dependência dos valores absolutos dos sinais: ∞ ∑ s[τ ]h[τ − n] g[n] = s[n] • h[n] = τ = −∞ ∞ ∞ ∑ ( s[τ ]) 2 ∑ (h[τ − n]) 2 τ = −∞ τ = −∞

Correlação Normalizada Resultado para o exemplo anterior: g[0..15] = .??? .877 .934 .73 .81 .989 .64 .59 .78 .835 .61 .931 .95 .83 .57 .??? Valor máximo: g[5]

Detecção e estimação Fonte: http://www.dspguide.com/ch7/3.htm

Detecção e estimação Gaivota, “filtro casado” (olho) e imagem de correlação normalizada (máximo no olho) Fonte: http://www.dca.fee.unicamp.br/dipcourse/html-dip/c6/s5/front-page.html

Estimação Espectral O cálculo direto do espectro de amplitudes e fases não é fidedigno O espectro pode variar muito em diferentes seções de um mesmo sinal. Variância é um indicador de qualidade O problema pode ser causado por ruído, escassez de dados, comportamento não estacionário etc.

Periodograma O quadrado do módulo do espectro de amplitudes: densidade espectral de potência (PSD), ou espectro de potência Periodograma: dividir sinal em K seções adjacentes (com ou sem intersecção) de mesmo tamanho; obter PSD de cada seção; obter média das PSDs Variância se reduz por fator K1/2 Resolução espectral diminui

Janelamento (windowing) Todo sinal discreto obtido a partir de um sinal analógico é resultado da multiplicação de um sinal discreto de duração infinita por um pulso, ou janela, retangular: ⎧1 0 ≤ n < N wn = ⎨ ⎩0 caso contrário

Janelamento (windowing) A janela retangular pode gerar grandes descontinuidades na forma de onda original

Janelamento (windowing) Multiplicação no tempo equivale a convolução na freqüência (Fourier) DFT da janela retangular: função sinc (sine cardinal, kernel de Dirichlet, função de amostragem): ⎧1 x=0 ⎪ sinc( x) = ⎨ sen x ⎪ x caso contrário ⎩

Janelamento (windowing) A convolução com um sinc introduz distorções no espectro Janelas mais “suaves” reduzem estas distorções, mas distorcem mais as amostras centrais-> Compromisso Dezenas dessas janelas tem sido avaliadas e utilizadas em diversas aplicações

Janela de Hamming ⎧ ⎛ 2πn ⎞ ⎪0,54 − 0,46 cos⎜ ⎟ 0≤n<N wn = ⎨ ⎝ N −1⎠ ⎪0 caso contrário ⎩

Janela de Hamming Seno multiplicado por janela retangular e de Hamming

Janela de Hamming DFT de seno multiplicado por janela retangular e de Hamming

Outras Janelas Blackman-Harris, Dolph-Chebyshev, Kaiser-Bessel (superiores?) Tukey, Poisson, Hanning etc

Dissolve Cruzado ht (i, j)= (1 - t) f(i, j) + t g(i, j) t é um escalar no intervalo [0, 1]

Dissolve Cruzado t = 0,3 t = 0,5 t = 0,7

Dissolve Cruzado Não- Uniforme ht(i, j)= [1 - t(i, j)] f(i, j) + t(i, j) g(i, j) t é uma matriz com as mesmas dimensões de f e g cujos elementos assumem valores no intervalo [0, 1]

Dissolve Cruzado Não- Uniforme t(i,j)=(i+j)/(R+C-2) t(i,j)=j/(C-1) t(i,j)=i/(R-1)

Detecção de Movimento ⎧L − 1, se | f1 − f 2 |≥ Lt g=⎨ ⎩0, caso contrario f1 f2 g

Redução de Ruído por Média de Imagens f[i, j] imagem sem ruído nk(i, j) ruído de média m gk[i,j] = f[i,j] + nk(i,j) M 1 g [i, j ] = ∑ M k =1 g k [i, j ]

Redução de Ruído por Média de Imagens M 1 g [i, j ] = ∑ M k =1 ( f [i, j ] + nk (i, j )) M 1 g [i, j ] = f [i, j ] + ∑ M k =1 nk (i, j ) Para M grande: g [i, j ] = f [i, j ] + m

Operações Topológicas Rígidas Translação Rebatimento Rotação Mudança de Escala Não rígidas (Warping)

Rotação Rotação em torno de (ic, jc) i ' = (i − ic ) cosθ − ( j − jc ) sen θ + ic j ' = (i − ic ) sen θ + ( j − jc ) cosθ + jc

Rotação e Rebatimento Imagem original Rebatimento pela Rotação de 90 diagonal graus em torno de (R/2,C/2)

Ampliação (Zoom in) Por replicação de pixels Original Ampliação por fator 3 10 10 10 10 10 10 10 10 20 30 10 10 10 10 10 10 10 10 10 10 10 10 20 20 20 30 30 30 20 20 20 30 30 30 20 20 20 30 30 30

Ampliação (Zoom in) Por interpolação bilinear Original Ampliação por fator 3 10 10 10 10 10 10 10 10 20 30 Interpolação nas linhas Passos de níveis de cinza: 20 23 27 30 33 37 10 a 10: 0 20 a 30: (30-20)/3 = 3,3

Ampliação (Zoom in) Por interpolação bilinear Original Ampliação por fator 3 10 10 10 10 10 10 10 10 20 30 13 14 16 17 18 19 Interpolação nas colunas 17 19 21 23 25 28 Passos de níveis de cinza: 20 23 27 30 33 37 10 a 20: (20-10)/3 = 3,3 10 a 23: (23-10)/3 = 4,3 23 27 33 37 41 46 10 a 27: (27-10)/3 = 5,7 27 32 38 43 48 55 ...

Ampliação (Zoom in) Exemplo: Ampliação por fator 10 Original Replicação Interpolação

Redução (Zoom out) Por eliminação de pixel Por Média Original Redução por fator 3 10 10 10 10 10 10 14 18 13 14 16 17 18 19 28 41 17 19 21 23 25 28 20 23 27 30 33 37 23 27 33 37 41 46 27 32 38 43 48 55

Reconstrução de Imagens Zoom por fatores não inteiros Ex: F = 3,75432 Operações elásticas, etc. Técnicas mais avançadas devem ser utilizadas Uma dessas técnicas é a reconstrução de imagens

Reconstrução de imagens Dados f(i,j), f(i,j+1), f(i+1,j), f(i+1,j+1) (i, j) (i, y) (i, j+1) Reconstrução: Encontrar f(x,y), (x,y) x em [i, i+1] y em [j, j+1] (i+1, j) (i+1, y) (i+1, j+1)

Reconstrução de imagens por interpolação bilinear f(i, y) = f(i, j)+(y–j)[f(i, j+1)-f(i, j)] f(i+1,y)=f(i+1,j)+(y–j)[f(i+1,j+1)-f(i+1, j)] f(x, y) = f(i, y) + (x – i) [f(i+1, y) - f(i, y)] (i, j) (i, y) (i, j+1) (x,y) (i+1, j) (i+1, y) (i+1, j+1)

Reconstrução de imagens Ex: f(10.5, 15.2)=? f(10, 15) = 10; f(10, 16) = 20; f(11,15) = 30; f(11, 16) = 30

Reconstrução de imagens Solução: x = 10.5; y = 15.2 => i = 10; j = 15 f(i, y) = f(i, j)+(y–j)[f(i, j+1)-f(i, j)] f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15) = 10 + 0.2*[20 – 10] = 12 f(i+1,y)=f(i+1,j)+(y–j)[f(i+1,j+1)-f(i+1, j)] f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15) =30 + 0.2*[30 – 30] = 30 f(x, y) = f(i, y) + (x–i) [f(i+1, y) - f(i, y)] f(10.5, 15.2)=12+(10.5-10)*[30-12] =21

Zoom por reconstrução de imagens Ex: Ampliação por fator 2.3 Passo para as coordenadas: 1/2.3 = 0.43 x = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04... y = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04... g(0,0) = f(0,0); g(0,1) = f(0, 0.43); g(0,2) = f(0, 0.87); g(0,3) = f(0, 1.30);... Ex: Redução por fator 2.3 x = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8... y = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8... g(0,0) = f(0,0); g(0,1) = f(0, 2.3); g(0,2) = f(0, 4.6); g(0,3) = f(0,6.9);...

Operações Topológicas Não Rígidas (warping) Warping = distorção Zoom por fator F(i, j) Rotação por ângulo teta(i,j) Translação com deslocamento d(i,j) Warping especificado pelo usuário

Warping baseado em Campos Entretenimento Efeitos especiais Correção de distorções óticas Alinhamento de elementos da imagens (registro) Morphing Modelagem e visualização de deformações físicas

Warping baseado em Campos 1. Características importantes da imagem são marcados por segmentos de reta orientados (vetores de referência) 2. Para cada vetor de referência, um vetor alvo é especificado, indicando a transformação que se pretende realizar

Warping baseado em Campos 3. Para cada par de vetores referência-alvo, encontra-se o ponto X’ para onde um ponto X da imagem deve migrar, de forma que as relações espaciais entre X’ e o vetor alvo sejam idênticas àquelas entre X e o vetor de referência 4. Parâmetros para as relações espaciais : u e v

Warping baseado em Campos

Warping baseado em Campos u: representa o deslocamento normalizado de P até O no sentido do vetor PQ (Normalizado: dividido pelo módulo de PQ) v: distância de X à reta suporte de PQ

Warping baseado em Campos Se O=P, u = 0 Se O=Q, u = 1 Se O entre P e Q, 0<u<1; Se O após Q, u>1 Se O antes de P, u<0

Warping baseado em Campos Encontrar u e v: norma, produto interno, vetores perpendiculares, projeção de um vetor sobre outro. Vetores a = (x1, y1) e b = (x2, y2) Norma de a: || a || = x12 + y12 Produto interno: a.b = x1x2 +y1y2

Warping baseado em Campos Norma da projeção de a sobre b: a a.b || c || = || b || b c

Warping baseado em Campos Vetores b = (x2, y2) perpendicular a a = (x1, y1) e de norma igual à de a: b a Perpendicularidade: x1x2 +y1y2 = 0 Mesma norma: x22 + y22 = x12 + y12

Warping baseado em Campos Soluções: x2 = y1, y2 = -x1 x2 = -y1, y2 = x1 b a b’

Warping baseado em Campos Parâmetro u: norma da projeção de PX sobre PQ, dividido pela norma de PQ PX . PQ u= 2 || PQ ||

Warping baseado em Campos P = (xp,yp), Q = (xq, yq), X = (x,y) PX .PQ u= 2 || PQ || u = (x - xp).(xq - xp) + (y -yp)(yq – yp) (xq-xp)2 + (yq-yp)2

Warping baseado em Campos Parâmetro v: distância de X à reta suporte de PQ PX . ⊥ PQ v= || PQ || ⊥v: vetor perpendicular a v e de mesma norma que este.

Warping baseado em Campos PQ = (Xq-Xp, Yq-Yp) ⊥PQ1 = (Yq–Yp, Xp-Xq) ⊥PQ2 = (Yp–Yq, Xq-Xp) Vamos usar ⊥PQ1

Warping baseado em Campos Parâmetro v: PX . ⊥ PQ v= || PQ || v = (x-xp)(yq-yp) + (y-yp)(xp–xq) [(xq-xp)2 + (yq-yp)2]

Warping baseado em Campos Cálculo de X’: v. ⊥ P' Q' X ' = P '+u.P ' Q '+ || P ' Q ' ||

Warping baseado em Campos PX . PQ u= || PQ || 2 PX . ⊥ PQ v= || PQ || v. ⊥ P' Q' X ' = P '+u.P ' Q '+ || P ' Q ' ||

Warping baseado em Campos Quando há mais de um par de vetores referência-alvo, cada pixel sofre a influência de todos os pares de vetores Será encontrado um ponto Xi’ diferente para cada par de vetores referência-alvo. Os diferentes pontos para os quais o ponto X da imagem original seria levado por cada par de vetores referência-alvo são combinados por intermédio de uma média ponderada, produzindo o ponto X’ para onde X será efetivamente levado.

Warping baseado em Campos

Warping baseado em Campos Peso da coordenada definida pelo i-ésimo par de vetores de referência-alvo: di: Distância entre X e o segmento PiQi li: ||Pi Qi|| a, b e p : Parâmetros não negativos

Warping baseado em Campos Relação inversa com a distância entre a reta e o ponto X Parâmetro a : Aderência ao segmento a = 0 (Peso infinito ou aderência máxima)

Warping baseado em Campos Parâmetro p controla a importância do tamanho do segmento p = 0: independe do tamanho do segmento

Warping baseado em Campos Parâmetro b controla a forma como a influência decresce em função da distância b = 0: peso independe da distância

Warping baseado em Campos Bons resultados são obtidos com: a entre 0 e 1 b=2 p = 0 ou p = 1.

Morphing Interpolação de formas e cores entre duas imagens distintas (f0 e fN-1) Encontrar imagens f1, f2, ..., fN-2: transição gradual de f0 a fN-1 Efeitos especiais na publicidade e na indústria cinematográfica; realidade virtual; compressão de vídeo; etc.

Morphing

Morphing Warping de f0 cki f0 fN-1 ai bi “+” Warping de fN-1 cki

Morphing ai c1i c2i c3i c4i c5i c6i c7i c8i c9i bi

Morphing

Técnicas no Domínio da Freqüência Conversão ao domínio da freqüência: transformadas Processamento e análise no domínio da freqüência Fourier, Cosseno Discreta, Wavelets, etc.

Cosseno Analógico f: freqüência x (t ) = A cos[2πft + θ ] T=1/f: período A θ : fase A: amplitude Gráfico para fase nula e A>0 T

Uma Família de Funções Cosseno Analógicas xk (t ) = Ak cos[2πf k t + θ k ], k = 0, 1, ..., N − 1 fk: freqüência do k-ésimo cosseno Tk =1/fk: período do k-ésimo cosseno θ k : fase do k-ésimo cosseno Ak: amplitude do k-ésimo cosseno

Uma Família de Funções Cosseno Discretas x k [n ] = Ak cos[2πf k n + θ k ], n = 0,1,...,N − 1 k = 0,1,...N-1

Uma Família de Funções Cosseno Discretas 1/ 2 ⎛2⎞ Ak = ⎜ ⎟ ck X k ⎝N⎠ ⎧(1/2)1/2 ⎪ para k = 0 ck =⎨ ⎪1 ⎩ para k = 1, 2, ... N - 1 k 2N kπ fk = Tk = θk = 2N k 2N 1/ 2 ⎛2⎞ ⎡ ( 2n + 1)kπ ⎤ x k [n ] = ⎜ ⎟ c k X k cos ⎢ ⎥, n = 0,1,...,N − 1 ⎝N⎠ ⎣ 2N ⎦

Uma Família de Funções Cosseno Discretas 1/ 2 ⎛2⎞ ⎡ ( 2n + 1)kπ ⎤ x k [n ] = ⎜ ⎟ c k X k cos ⎢ ⎥, n = 0,1,...,N − 1 ⎝N⎠ ⎣ 2N ⎦ 1/ 2 1/ 2 ⎧ f0 = 0 ⎛ 2 ⎞ ⎛1⎞ k =0⇒⎨ ⇒ x0 [n ] = ⎜ ⎟ ⎜ ⎟ X 0 , n = 0,1,...,N − 1 ⎩θ 0 = 0 ⎝ N ⎠ ⎝2⎠ 1 k = 1 ⇒ f1 = ⇒ T1 = 2 N (meio-período em N amostras) 2N N −1 2N k = N − 1 ⇒ f N −1 = ⇒ TN −1 = 2N N −1

Uma Família de Funções Cosseno Discretas xk[n] (N = 64, Xk = 10). 2 1 0 -1 -2 0 10 20 30 40 50 60 70 k=1 Meio-ciclo

Uma Família de Funções Cosseno Discretas 2 1 k=2 0 1 ciclo -1 -2 0 10 20 30 40 50 60 70 2 1 k=3 0 1,5 ciclo -1 -2 0 10 20 30 40 50 60 70

Uma Família de Funções Cosseno Discretas 2 k=32 1 16 ciclos 0 -1 -2 0 10 20 30 40 50 60 70 2 1 Para 0 visualização -1 -2 0 10 20 30 40 50 60 70

Uma Família de Funções Cosseno Discretas 2 k=63 1 31,5 ciclos 0 -1 -2 0 10 20 30 40 50 60 70 2 1 Para 0 visualização -1 -2 0 10 20 30 40 50 60 70

Uma Família de Funções Cosseno Discretas Amostragem de um sinal periódico não necessariamente produz um sinal de mesmo período (ou mesmo periódico).

Somando Cossenos Discretos Criar um sinal x[n] somando-se os sinais xk[n], k = 0...N-1, amostra a amostra:

Add a comment

Related presentations

Related pages

PDI 520 - Pathobiology Lab Slides — Site

navigation. Laboratory Module 1 - Microscopes & Tissue Processing; Laboratory Module 2 - The Nucleus; Laboratory Module 3 - Cytoplasm; Laboratory Module 4 ...
Read more

PPT – PDI PowerPoint presentation | free to view - id ...

Chart and Diagram Slides for PowerPoint - Beautifully designed chart and diagram s for PowerPoint with visually stunning graphics and animation effects.
Read more

2016 ASMC PDI Presentations - 2016 Registration

2016 ASMC PDI Presentations; Frequently Asked Questions; ... 2016 Morning Slides RR 3-9 V2 DD FINAL[...] Adobe Acrobat document [3.8 MB]
Read more

DPAP PDI Slides - Under Secretary of Defense for ...

Proposed Acquisition Rule Changes . 3 • DFARS case (2012-D055) “Detection and Avoidance of Counterfeit Electronic Parts” • Implements provisions of ...
Read more

PDI 2015 « American Society of Military Comptrollers (ASMC)

Presentation Slides are available below. PDI 2015 Website: www.pdi2015.org . Virtual PDI 2015 This year, ...
Read more

PDI - What does PDI stand for? The Free Dictionary

Slide decks from PDI Thursday and Friday Mini-courses and workshops are accessible at no cost from our ASMC website (CPEs for viewing of the slide decks ...
Read more

⚡Presentation "Pre-Decisional Involvement (PDI): How to ...

Pre-Decisional Involvement (PDI): How to address the outcome of a PDI process CONTINUE.
Read more

PDI 2014 « American Society of Military Comptrollers (ASMC)

Detailed Program Descriptions: Mini-Courses and Workshops (PDF) Purchase Virtual PDI 2014 Registration ($99): Are you a member? Click here: http://imis ...
Read more