PDI Slides

Preview:

DESCRIPTION

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

Citation preview

Introdução ao Processamento Digital de

Imagens

Prof. Leonardo Vidal BatistaDI/PPGI/PPGEM

leonardo@di.ufpb.brleovidal@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

Imagens

Visão Computacional

Computação Gráfica

Processamento Digital de Imagens

(sinais 2D)

Dados

Processamento Digital de Sinais

PDI x Visão Computacional

Imagens digitais

TV digitalCâmeras digitais, celulares, scannersDVDsSistemas de teleconferênciaTransmissões via faxEditoração eletrônicaImpressorasMonitoramento da superfície terrestre e previsão climática por imagens de satélitesDetecção de movimento

Imagens DigitaisDiagnóstico médico: ultrassonografia, angiografia, tomografia, ressonância magnética, contagem de células, etcIdentificação biométrica: reconhecimento de face, íris ou impressões digitaisCiências forensesRealce e restauração de imagens por computadorInstrumentaçãoControle de qualidadeGranulometria de minérios

Outros Sinais DigitaisDiagnóstico médico: eletrocardiograma, eletroencefalograma, eletromiograma, eletroretinograma, polisonograma, etcIdentificação biométrica por reconhecimento de vozSíntese de vozÁudio DigitalTelefoniaSuspensão ativa em automóveisMercado acionário

Sinais Contínuos e Discretos

Sinal digital

Sinal analógico

Erros de quantização 0 Ta 2Ta 3Ta ...

0 q

2q

-2q ...

-q

...

Tempo, espaço etc.

Am

plitu

de

Processamento Analógico de Sinais

Processador analógicoSinal analógico

de entrada Sinal analógico de saída

Processamento Digital de Sinais

ConversorA/D

ProcessadorDigital

Sinal analógico

Sinal digital

ConversorA/D

ProcessadorDigital

Sinal analógico

SinalanalógicoConversor

D/A

Processamento Digital de Sinais

Alguns sinais são inerentemente digitais ou puramente matemáticosEx: Número de gols por rodada do campeonato brasileiro de futebolNeste caso, não há necessidade de Conversão A/DAinda assim, pode haver necessidade de conversão D/AEx: texto -> voz sintetizada

Processamento Digital de Sinais

Hardware, software, ou ambosMaior flexibilidadeMenor custoMenor tempo de desenvolvimentoMaior facilidade de distribuiçãoSinais digitais podem ser armazenados e reproduzidos sem perda de qualidadeMas 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

‘1’

‘0’

‘1’

‘0’

‘1’

‘0’

Sinal digital originalSinal digital corrompido – recuperação possível mesmo com distorções substanciais, principalmente com uso de códigos corretores.

Sinal digital recuperado com erro

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/OpticalIllusions/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éticoLuz: radiação eletromagnéticaFreqüência f, comprimento de onda L Faixa visível do espectro eletromagnético: 380 nm < L < 780 nmNa 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 HumanoOlho 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 retinaImagem 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

Cones6 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 luminosidadeMovimentamos os olhos para que a imagem do objeto de interesse recaia sobre a fóvea.

ConesHá três tipos de cones:

Cone sensível ao vermelhoCone sensível ao verdeCone sensível ao azul

Cores diversas obtidas por combinações destas cores primárias

Cones

Comprimento de onda (nm)

700 600 500 400

Res

post

a

Cone “Vermelho”

Cone “Verde”

Cone “Azul”

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 aditivoCombinação de radiações monocromáticas vermelho (R), verde (G) e azul (B)Cores primárias da luzSistema de cores RGB

Sistema RGB

Padronização da Comissão Internacional de Iluminação (CIE):

Azul: 435,8 nmVerde: 546,1 nmVermelho: 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 + BC = B + GY = 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:

B

G

R

Espaço de Cores RGBReta (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 outrasAbsorçã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 + BM = W – G = R + BY = W – B = G + R

CMY – Combinação de Cores Primárias

Cores secundárias:R = M + YG = C + YB = 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-RGBConversão de RGB para YIQ:

Y = 0.299R + 0.587G + 0.114BI = 0.596R – 0.274G –0.322BQ = 0.211R – 0.523G + 0.312B

Conversão de YIQ para RGB :R = 1.000 Y + 0.956 I + 0.621 QG = 1.000 Y – 0.272 I – 0.647 QB = 1.000 Y – 1.106 I + 1.703 Q

Sistema de Cores HSI

Fisiologicamente, a retina humana opera no sistema RGBA percepção subjetiva de cor édiferente Atributos perceptivos das cores:

Matiz (hue) ou tonalidadeSaturaçãoIntensidade

Sistema de Cores HSIMatiz (H): determinada pelo comprimento de onda dominante; cor espectral mais próxima; denominação usual das coresH é um ângulo: 0o = R; 120o = G; 240o = BSaturação: pureza da cor quanto à adição de brancoS = 0: cor insaturada (nível de cinza)S = 1: cor completamente saturadaCores 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 digital

Sinal analógico

Erros de quantização 0 T 2T 3T ...

0 q

2q

-2q ...

-q

...

Tempo ou espaço

Ampl

itude

Amostragem e Quantização - ParâmetrosT: 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çãoSinal 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 1Sinal analógico s(t): voltagem de saída de um sistema elétrico em função do tempo

0 1 2 3 4 5 6 7-40

-20

0

20

40

Vol

ts

segundos

Sinal analógico

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 2Em 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/kmq = 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çãoExemplo: b = 8, L = 256ADC de b bits

Conversores Analógico-Digitais (ADC)

ADC unipolar: voltagem de entrada de 0 a VrefADC bipolar: voltagem de entrada de -Vref a VrefExemplo: ADC unipolar de 3 bits, Vref = 10 V

L = 23 = 8, Resolução de voltagem: 10/8 = 1,25VExemplo: 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)

[1,25, 2,50)

[2,50, 3,75)

[3,75, 5,00)

[5,00, 6,25)

[6,25, 7,50)

[7,50, 8,75)

[8,75, 10,0)

000

001

010

011

100

101

110

111

[-5,0, -3,75)

[-3,75, -2,5)

[-2,5, -1,25)

[-1,25, 0,0)

[0,00, 1,25)

[1,25, 2,50)

[2,50, 3,75)

[3,75, 5,00)

000

001

010

011

100

101

110

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 LSBAlguns parâmetros: fa, Vref, b, ...

Amostragem e Quantização – Qualidade do Sinal

0 1 2 3 4 5 6 7-40

-20

0

20

40V

olts

segundos

Sinal analógico

0 1 2 3 4 5 6 7-40

-20

0

20

40 f = 2 amostras/s (T = 0,5s), q = 1

0 1 2 3 4 5 6 7 -40

-20

0

20

40Sinal analógico

reconstruído

Amostragem e Quantização – Qualidade do Sinal

0 1 2 3 4 5 6 7-40

-20

0

20

40V

olts

segundos

Sinal analógico

0 1 2 3 4 5 6 7-40

-20

0

20

40 f = 5 amostras/s (T = 0,2s), q = 1

0 1 2 3 4 5 6 7 -40

-20

0

20

40Sinal analógico

reconstruído

Amostragem e Quantização – Qualidade do Sinal

0 1 2 3 4 5 6 7-40

-20

0

20

40V

olts

segundos

Sinal analógico

0 1 2 3 4 5 6 7-40

-20

0

20

40 f = 10 amostras/s (T = 0,1s), q = 1

0 1 2 3 4 5 6 7 -40

-20

0

20

40Sinal analógico

reconstruído

Amostragem e Quantização – Qualidade do Sinal

0 1 2 3 4 5 6 7-40

-20

0

20

40V

olts

segundos

Sinal analógico

0 1 2 3 4 5 6 7-40

-20

0

20

40 f = 10 amostras/s (T = 0,1s), q = 16

0 1 2 3 4 5 6 7 -40

-20

0

20

40Sinal analógico

reconstruído

Imagem digital monocromática

⎥⎥⎥⎥

⎢⎢⎢⎢

95...163163............

142...161161142...161161

0 100 200 300 400 5000

50

100

150

200

250

0 50 100 150 200 250 300 3500

50

100

150

200

250

i = 0

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

Lâmpada fluorescente branca ilumina o objeto

Diodos produzem carga elétrica proporcional à intensidade da luz refletida pelo objeto

Coloridos: fila de diodos fotossensíveis, recobertos por filtros R, G e B, em um suporte que se desloca

Scanners

Scanners

Th: distância entre diodos no suporteTv: tamanho do passo do suporteTh e Tv definem a resolução espacial

L: profundidade de cor ou resolução de contrasteResoluçã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) ou3x2550=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 DigitaisSensor de imagem: matriz de diodos fotosensíveis cobertos por filtros R, G e BDiodos produzem carga elétrica proporcional àintensidade da luz refletida pelo objetoResoluçã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 DigitaisSolução: 1944 / 8,5 pol x 2592/11 pol = 228,7 dpi x = 235,6 dpiResoluçã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ápidasScanner 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áficosSoluçã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/4x = 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 polRes. = 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 defletorasD: tela com pontos de fósforos RGBF: 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üênciaLocais / pontuaisUná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 = 2Operações unárias ou filtros: n = 1

g = T[f]

Operações Pontuaisg(i, j) depende do valor do pixel em (i’, j’) das imagens de entradaSe (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)

m (0,0) (0,0) m r r

s s

Operações Pontuais

(0,0) r

s

L-1

L-1

(0,0) r

s

L-1

L-1

(r1, s1)

(r2, s2)

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

i

j

Vizinhança de (i, j)

i

j

f g

Operações LocaisExemplo: Filtro “Média”

)]1,1(),1()1,1( )1,(),()1,(

)1,1(),1()1,1([91),(

+++++−++++++−+

++−+−+−−=

jifjifjifjifjifjif

jifjifjifjig

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):

G[f(x, y)] =

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

yf

xf

∂∂

∂∂ 2/122

)],([⎥⎥⎦

⎢⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟

⎠⎞

⎜⎝⎛=

yf

xfyxfG

∂∂

∂∂

Filtros de detecção de bordasg(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 bordasGradiente 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

nn

lP l=)(

Histograma da imagem é uma representação gráfica de nl ou P(l)

Histograma

3 3

Histograma

Imagem

l

nl

7 6 5 4 3 2 1 0

3 2 1 0

0 0 1

3 3 3 0 0

3 3 1 1 1

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

l

nl

255 0

l

nl

255 0

l

nl

255 0

Histograma

0 50 100 150 200 250

0

2000

4000

6000

8000

10000

Histograma

0 50 100 150 200 250

0

500

1000

1500

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.

l

nl

L-1 m0=0 l

nl

L-1 0 l

nl

m1=L-1 0 m0 m1

A B C

m1 m0

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:

⎟⎟⎠

⎞⎜⎜⎝

⎛−

−−

== )1()(minmax

min Lrr

rrroundrTs

Expansão de Histograma

0 50 100 150 200 250

0

500

1000

1500

0 50 100 150 200 250

0

500

1000

1500

Expansão de Histograma

Expansão é ineficaz nos seguintes casos:

l

nl

L-1 0 l

nl

L-1 0 l

nl

L-1 0 m0 m1

A B C

L-1

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

⎟⎠⎞

⎜⎝⎛

∑−

===

r

lln

RCLroundrTs

0

1)(

0 50 100 150 200 250

0

500

1000

1500

0 50 100 150 200 250

0

500

1000

1500

Equalização de Histograma

Exemplo: imagem 64 x 64, L = 8

l nl 0 790 1 1023 2 850 3 656 4 329 5 245 6 122 7 81

l

nl

1200

1000

800

600

400

200 0

7 6 5 4 3 2 1 0

Equalização de Histograma

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

Equalização de Histograma

Exemplo: imagem 64 x 64, L = 8

l nl 0 0 1 790 2 0 3 1023 4 0 5 850 6 985 7 448

k

nk

1200 1000

800

600

400

200

0 7 6 5 4 3 2 1 0

Equalização de Histograma

l

nl

L-1 0 l

nl

L-1 0 l

nl

L-1 0 m0 m1

Hist. Original Hist. Equal. (Ideal)

L-1

Hist. Equal. (Real)

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

⎪⎩

⎪⎨

=

≠−+=

0),();,(

0),()];,(),([),(

),(),(

jijif

jijijifji

cjijig

σ

σμσ

μ

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 cinza

R G B

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çamentoLaplaciano do Gaussiano (LoG)“Emboss”Aumento de saturaçãoCorreçã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):

∫∞∞−

−== τττ dthsthtstg )()()(*)()(

Convolução∫∞∞−

−== τττ dthsthtstg )()()(*)()(

t2 t3

)(τh

0 τ

-t2 -t3 0 τ

)( τ−h

-t2+t -t3+t

)( τ−th

τ

t0 t1 (0,0)

s(t)

t

Convolução

Observe que g(t) = 0 para

][ 3120 t, t ttt ++∉

Convolução Discreta LinearConvolução linear entre s[n] e h[n]

∑∞

−∞=−==

τττ ][][][*][][ nhsnhnsng

Se s[n] e h[n] têm N0 e N1 amostras, respectivamente => extensão com zeros:

∑−

=−==

1

0][][][*][][

Nnhsnhnsng

τττ

com N = N0 + N1 – 1.

Convolução Discreta Linear

0 1 2 3 4 5 6

2

4

6 )(τs

τ 0 1 2 3 4 5

2

4

6 )(τh

τ

0 -1

2

4

6

-2 -3 -4 1 -5

)( τ−h

τ

2

4

6

n

)( τ−nh

τ

Convolução Discreta Linear

g[0] = 3

0 1 2 3 4 5 6

2

4

6 )(τs

τ

0 -1

2

4

6

-2 -3 -4 1 -5

)( τ−h

τ

Convolução Discreta Linear

g[0] = 3

g[1] = 8

0 1 2 3 4 5 6

2

4

6 )(τs

τ

0 -1

2

4

6

-2 -3 -4 1 -5

)1( τ−h

τ

Convolução Discreta Linear

0 1 2 3 4 5 6

2

4

6 s[n]

n

0 1 2 3 4 5

2

4

6 h[n]

n

0 1 2 3 4 5 6 7 8 9 10 11

10

20

30 g[n] = s[n]* h[n]

n

Convolução Discreta Linear

Filtro h[n]

s[n] g[n]

∑∞

−∞=−==

τττ ][][][*][][ nhsnhnsng

Impulso UnitárioDelta de Dirac ou impulso unitário contínuo

1

δ(t)

0 t

Delta de Kroneckerou impulso unitário discreto

1

δ[n]

n 0

Duração = 0Área = 1

Sinais = somatório de impulsos

Delta de Kronecker

A

Aδ[n-n0]

n0 0 n

)]1([]1[....]1[]1[][]0[][ −−−++−+= NnNsnsnsns δδδ

∑−

=

−=1

0][][][

Nnsns

τ

τδτ

Resposta ao impulso

Resposta de um filtro a s[n]:

∑∑−

=

=−=−=

1

0

1

0][][][][][

NNnshnhsng

ττττττ

Resposta de um filtro ao impulso

∑∑−

=

=

−=−=1

0

1

0][][][][][

NNhnnhng

ττ

ττδττδ

∑−

=

−=1

0][][][

Nhnnh

τ

ττδ

Resposta ao impulso

h[n]: Resposta ao impulsoMáscara convolucionalKernel do filtroVetor de coeficientes do filtro

Filtros FIR

Finite Impulse Response

∑−

=−=

1

0][][

N

kk knxany

][khak =

Filtros IIR

Infinite Impulse Response

∑∑−

=

=−−−=

1

1

1

0][][][

M

kk

N

kk knybknxany

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] = 1y[1] = delta[1]–delta[0]–0,5y[0] = -1,5y[2] = delta[2]–delta[1]–0,5y[1] = 0,75y[3]= delta[3]–delta[2]–0,5y[2] = -0,325y[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] = 1y[1] = y[0] + delta[1] - delta[-3] = 1y[2] = y[1] + delta[2] - delta[-2] = 1y[3] = y[2] + delta[3] - delta[-1] = 1y[4] = y[3] + delta[4] - delta[0] = 0y[5] = y[4] + delta[5] - delta[1] = 0y[6] = y[7] = ... = 0

Convolução Discreta Circular

Sinais s[n] e h[n] com N0 e N1 amostras, respectivamente => extensão com zeros:

⎩⎨⎧

<≤<≤

=NnNNnns

nse0

0 ,0

0 ],[][

⎩⎨⎧

<≤<≤

=NnNNnnh

nhe1

1 ,0

0 ],[][

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:

∑−

=−=⊗=

1

0][][][][][

Nppp nhsnhnsng

τττ

Convolução Circular x Linear

Fazendo-se N = N0 + N1 – 1

][*][][][ nhnsnhns =⊗

Convolução de Imagens

f[i, j] (R0xC0) e h[i, j] (R1xC1): extensão por zeros

∑ ∑−

=

=−−==

1

0

1

0],[],[],[*],[],[

R Cjihfjihjifjig

α ββαβα

∑ ∑−

=

=−−=⊗=

1

0

1

0],[],[],[],[],[

R Cppp jihfjihjifjig

α ββαβα

Iguais se R=R0+R1–1 e C=C0+C1–1

Máscaras Convolucionais

1 1 1

0 0 0

-1 -1 -1

1 0 -1

1 0 -1

1 0 -1

-1 -1 -1

-1 8 -1

-1 -1 -1

1/9 1/9 1/9

1/9 1/9 1/9

1/9 1/9 1/9

0.025 0.1 0.025

0.1 0.5 0.1

0.025 0.1 0.025

Operador de Bordas de Kirsch5 5 5

-3 0 -3

-3 -3 -3

-3 5 5

-3 0 5

-3 -3 -3

-3 -3 5

-3 0 5

-3 -3 5

-3 -3 -3

-3 0 5

-3 5 5

-3 -3 -3

-3 0 -3

5 5 5

...

Filtragem sucessiva com cada máscaraPixel de saída recebe o valor máximo

Máscaras Convolucionais

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

Transformada z

Transformada z de x[n]:n

nznxzXnxZ −

−∞=∑== ][][]}[{

z: variável complexa

Propriedades da Transformada z

Linearidade: Se x[n] = ax1[n] + bx2[n], (a e b: constantes arbitrárias), então:

][][][ 21 zbXzaXzX +=

Propriedades da Transformada z

Deslocamento: Z{x[n+k]} = zkX[z], k inteiro

Prova:∑∞

−∞=

−+=+n

nzknxknxZ ][]}[{

Fazendo m = n+k:

∑∑∞

−∞=

−∞

−∞=

−− ===+m

knk

m

kn zXzzmxzzmxknxZ ][][][]}[{ )(

Propriedades da Transformada z

Convolução:

][][][][][][*][][ zXzHzYknxkhnxnhnyk

=<=>−== ∑

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

n

kzknxkhnxnhZ ][][]}[*][{

∑ ∑∞

−∞=

−∞

−∞=−=

k

n

nzknxkh ][][

∑ ∑∞

−∞=

−∞

−∞=

−=k

n

n

k znxzkh ][][

][][ zXzH=

Função de Transferência

Equação de diferenças de um filtro

1

][][

][][][

0

1

0

1

0

1

1

1

0

=

−=−

−−−=

∑∑

∑∑

=

=

=

=

b

knxaknyb

knybknxany

N

kk

M

kk

M

kk

N

kk

Função de Transferência

Transformada Z da Equação de diferenças

∑∑

∑∑

∑∑

=

−−

=

=

=

=

=

=

−=−

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

−=⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

1

0

1

0

1

0

1

0

1

0

1

0

][][

}][{]}[{

][][

N

k

kk

M

k

kk

N

kk

M

kk

N

kk

M

kk

zXzazYzb

knxZaknyZb

knxaZknybZ

Função de TransferênciaAplicando a transformada z em ambos os lados e simplificando:

kM

kk

kN

kk

zb

za

zXzYzH

−−

=

−−

=

+

== 1

1

1

0

1][][][

Pólos: raízes do denominadorZeros: raízes do numeradorPólos e zeros: estabilidade

Função de Transferência

BIBO: Bounded-input, bounded-outputSistemas BIBO-estáveis: sistemas causais tais que:

∞<∑∞

=0|][|

kkh

Estimação da Resposta em Freqüência

Resposta em freq. a partir de H[z]

∑−

=

−=

1

0

2

][1][N

n

Nunj

ensN

uFπ

Comparar com

πωωω 20 ,][][

][][

≤≤=

=

−∞=

−∞=

n

jnj

n

n

enheH

znhzH

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 ZY[z] = (X[z] + z-1X[z] )/2 = X[z](1+z-1)/2H[z] = (1+z-1)/2H[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 ZY[z] = (X[z] - z-1X[z] )/2 = X[z](1-z-1)/2H[z] = (1-z-1)/2H[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:

∑∞

−∞=−==

τττ ][][][*][][ nhsnhnsng

Correlação:

∑∞

−∞=−==

τττ ][][][][][ nhsnhnsng o

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:

...

39]1[]3[]0[]2[]1[]1[]2[][]2[

43]1[]2[]0[]1[]1[]0[]1[][]1[

31]1[]1[]0[]0[][][]0[

15]1[]0[]1[

3

1

2

0

1

0

=++−=−=

=++−=−=

=+==

==−

=

=

=

hshshshsg

hshshshsg

hshshsg

hsg

τ

τ

τ

ττ

ττ

ττ

Correlação

Exemplo:g[0..15] = 31, 43, 39, 34, 64, 85, 52, 27,

61, 65, 59, 84, 105, 75, 38, 27Observe 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:

∑∑

−∞=

−∞=

−∞=

−=•=

ττ

τ

ττ

ττ

22 ])[(])[(

][][][][][

nhs

nhsnhnsng

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çãoGaivota, “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.

O problema pode ser causado por ruído, escassez de dados, comportamento não estacionário etc.

Variância é um indicador de qualidade

PeriodogramaO quadrado do módulo do espectro de amplitudes: densidade espectral de potência (PSD), ou espectro de potência

Resolução espectral diminui

Variância se reduz por fator K1/2

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

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:

⎩⎨⎧ <≤

=contrário caso 0

0 1 Nnwn

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):

⎪⎩

⎪⎨⎧ =

=contrário caso sen

0 1)(sinc

xx

xx

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

⎪⎩

⎪⎨

⎧<≤⎟

⎠⎞

⎜⎝⎛

−−

=contrário caso 0

Nn0 1

2cos46,054,0N

nwn

π

Janela de HammingSeno multiplicado por janela retangular e de Hamming

Janela de HammingDFT 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

⎩⎨⎧ ≥−−

=contrario caso ,0

|| se ,1 21 tLffLg

f1 f2 g

Redução de Ruído por Média de Imagens

f[i, j] imagem sem ruídonk(i, j) ruído de média mgk[i,j] = f[i,j] + nk(i,j)

∑=

=M

kk jig

Mjig

1],[1],[

Redução de Ruído por Média de Imagens

)),(],[(1],[1

jinjifM

jig k

M

k+= ∑

=

∑=

+=M

kk jin

Mjifjig

1),(1],[],[

mjifjig += ],[],[

Para M grande:

Operações Topológicas

RígidasTranslaçãoRebatimentoRotaçãoMudança de Escala

Não rígidas (Warping)

Rotação

Rotação em torno de (ic, jc)

ccc

cccjjjiij

ijjiii+−+−=+−−−=

θθθθ

cos)(sen)('sen)(cos)('

Rotação e Rebatimento

Imagem original Rebatimento pela diagonal

Rotação de 90 graus em torno de (R/2,C/2)

Ampliação (Zoom in)

10 10

20 30

10 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1020 20 20 30 30 3020 20 20 30 30 3020 20 20 30 30 30

Por replicação de pixels

Original Ampliação por fator 3

Ampliação (Zoom in)

10 10

20 3010 10 10 10 10 10

20 23 27 30 33 37

Por interpolação bilinear

Original Ampliação por fator 3

Interpolação nas linhasPassos de níveis de cinza:10 a 10: 020 a 30: (30-20)/3 = 3,3

Ampliação (Zoom in)

10 10

20 3010 10 10 10 10 1013 14 16 17 18 1917 19 21 23 25 2820 23 27 30 33 3723 27 33 37 41 4627 32 38 43 48 55

Por interpolação bilinear

Original Ampliação por fator 3

Interpolação nas colunasPassos de níveis de cinza:10 a 20: (20-10)/3 = 3,310 a 23: (23-10)/3 = 4,310 a 27: (27-10)/3 = 5,7...

Ampliação (Zoom in)

Exemplo: Ampliação por fator 10

Original Replicação Interpolação

Redução (Zoom out)

14 18

28 41

10 10 10 10 10 1013 14 16 17 18 1917 19 21 23 25 2820 23 27 30 33 3723 27 33 37 41 4627 32 38 43 48 55

Por eliminação de pixelPor Média

Original Redução por fator 3

Reconstrução de Imagens

Zoom por fatores não inteiros Ex: F = 3,75432Operações elásticas, etc.Técnicas mais avançadas devem ser utilizadasUma 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)

(x,y)

(i, j+1)

(i+1, j) (i+1, j+1)

(i, y)

(i+1, y)

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

Reconstrução de imagens por interpolação bilinear

(i, j)

(x,y)

(i, j+1)

(i+1, j) (i+1, j+1)

(i, y)

(i+1, y)

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)]

Reconstrução de imagensEx: f(10.5, 15.2)=?

f(10, 15) = 10; f(10, 16) = 20;f(11,15) = 30; f(11, 16) = 30

Reconstrução de imagensSolução:x = 10.5; y = 15.2 => i = 10; j = 15f(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] = 12f(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] = 30f(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.3Passo para as coordenadas: 1/2.3 = 0.43x = 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.3x = 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çãoZoom 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 emCampos

EntretenimentoEfeitos especiaisCorreção de distorções óticasAlinhamento de elementos da imagens (registro)MorphingModelagem e visualização de deformações físicas

Warping baseado emCampos

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 emCampos

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 emCampos

Warping baseado emCampos

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 emCampos

Se O=P, u = 0Se O=Q, u = 1Se O entre P eQ, 0<u<1; Se O após Q, u>1 Se O antes de P, u<0

Warping baseado emCampos

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:

Produto interno:a.b = x1x2 +y1y2

21

21|||| yx += a

Warping baseado emCampos

Norma da projeção de a sobre b:

a

b

c

||||||||

ba.b c =

Warping baseado emCampos

Vetores b = (x2, y2) perpendicular a a= (x1, y1) e de norma igual à de a:

ab

Perpendicularidade: x1x2 +y1y2 = 0Mesma norma: x2

2 + y22 = x1

2 + y12

Warping baseado emCampos

Soluções:x2 = y1, y2 = -x1

x2 = -y1, y2 = x1

ab

b’

Warping baseado emCampos

Parâmetro u: norma da projeçãode PX sobre PQ,dividido pela norma de PQ

2|||| PQPQPXu . =

Warping baseado emCampos

P = (xp,yp), Q = (xq, yq), X = (x,y)

2|||| PQPQPXu . =

u = (x - xp).(xq - xp) + (y -yp)(yq – yp)(xq-xp)2 + (yq-yp)2

Warping baseado emCampos

Parâmetro v: distância de X àreta suporte de PQ

|||| PQPQPXv ⊥

=.

⊥v: vetor perpendicular a v e de mesma norma que este.

Warping baseado emCampos

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

Warping baseado emCampos

Parâmetro v:

|||| PQPQPXv ⊥

=.

v = (x-xp)(yq-yp) + (y-yp)(xp–xq)[(xq-xp)2 + (yq-yp)2]

Warping baseado emCampos

Cálculo de X’:

||''||''''.''

QPQPvQPuPX ⊥

++=.

Warping baseado emCampos

2|||| PQPQPXu . =

||''||''''.''

QPQPvQPuPX ⊥

++=.

|||| PQPQPXv ⊥

=.

Warping baseado emCampos

Quando há mais de um par de vetores referência-alvo, cada pixel sofre a influência de todos os pares de vetoresSerá 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 emCampos

Warping baseado emCampos

Peso da coordenada definida pelo i-ésimopar de vetores de referência-alvo:

di: Distância entre X e o segmento PiQili: ||Pi Qi||a, b e p : Parâmetros não negativos

Warping baseado emCampos

Relação inversa com a distância entre a reta e o ponto XParâmetro a : Aderência ao segmento

a = 0 (Peso infinito ou aderência máxima)

Warping baseado emCampos

Parâmetro p controla a importância do tamanho do segmentop = 0: independe do tamanho do segmento

Warping baseado emCampos

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

Warping baseado emCampos

Bons resultados são obtidos com: a entre 0 e 1b = 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

ai bi

cki

cki

Warping de f0

f0 fN-1

Warping de fN-1

“+”

Morphing ai

bi

c1i c2i c3i c4i c5i c6i c7i c8i c9i

Morphing

Técnicas no Domínio da Freqüência

Conversão ao domínio da freqüência: transformadasProcessamento e análise no domínio da freqüênciaFourier, Cosseno Discreta, Wavelets,etc.

Cosseno Analógico

f: freqüência T=1/f: período

: faseA: amplitudeGráfico para fase nula e A>0

[ ]θπ += ftAtx 2cos)(

T

A

θ

Uma Família de Funções Cosseno Analógicas

fk: freqüência do k-ésimo cossenoTk =1/fk: período do k-ésimocosseno

: fase do k-ésimo cossenoAk: amplitude do k-ésimo cosseno

[ ] 1..., ,1 ,0 ,2cos)( −=+= NktfAtx kkkk θπ

Uma Família de Funções Cosseno Discretas

k = 0,1,...N-1

[ ] 110 ,2cos][ −=+= ,...,N,nnfAnx kkkk θπ

Uma Família de Funções Cosseno Discretas

( )⎪⎩

⎪⎨⎧

===

1-... 2, 1,para 10para 1/2 1/2

Nk kck

Nkfk 2

=kNTk

2=

Nk

k 2πθ =

110 ,2

)12(cos2][2/1

−=⎥⎦⎤

⎢⎣⎡ +

⎟⎠⎞

⎜⎝⎛= ,...,N,n

NknXc

Nnx kkk

π

kkk XcN

A2/12

⎟⎠⎞

⎜⎝⎛=

Uma Família de Funções Cosseno Discretas

110 ,2

)12(cos2][2/1

−=⎥⎦⎤

⎢⎣⎡ +

⎟⎠⎞

⎜⎝⎛= ,...,N,n

NknXc

Nnx kkk

π

110 ,212][ 0

2/12/1

0 −=⎟⎠⎞

⎜⎝⎛

⎟⎠⎞

⎜⎝⎛= ,...,N,nX

Nnx⇒

⎩⎨⎧

==

⇒=00

00

0

θf

k

NTN

fk 2211 11 =⇒=⇒= (meio-período em N amostras)

12

211 11 −

=⇒−

=⇒−= −− NNT

NNfNk NN

Uma Família de Funções Cosseno Discretas

xk[n] (N = 64, Xk = 10).

0 10 20 30 40 50 60 70-2

-1

0

1

2

k=1Meio-ciclo

Uma Família de Funções Cosseno Discretas

k=21 ciclo

0 10 20 30 40 50 60 70-2

-1

0

1

2

0 10 20 30 40 50 60 70 -2

-1

0

1

2

k=31,5 ciclo

Uma Família de Funções Cosseno Discretas

k=3216 ciclos

Paravisualização

0 10 20 30 40 50 60 70-2

-1

0

1

2

0 10 20 30 40 50 60 70-2

-1

0

1

2

Uma Família de Funções Cosseno Discretas

k=6331,5 ciclos

Paravisualização

0 10 20 30 40 50 60 70-2

-1

0

1

2

0 10 20 30 40 50 60 70-2

-1

0

1

2

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 CossenosDiscretos

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

110 ],[][1

0−== ∑

=,...,N,nnxnx

N

kk

110 ,2

)12(cos2][1

0

2/1−=⎥⎦

⎤⎢⎣⎡ +

⎟⎠⎞

⎜⎝⎛= ∑

=,...,N,n

NknXc

Nnx

N

kkk

π

Somando CossenosDiscretosExemplo: N = 8; X0 = 10; X1 = 5; X2 = 8,5; X3 = 2; X4 = 1; X5 = 1,5; X6 = 0; X7 = 0,1.

0 2 4 6 8 2

3

4

5

1021

21][

2/1

0 ⎟⎠⎞

⎜⎝⎛=nx

=3.5355

Somando CossenosDiscretos

X1 = 5

=2.4520; 2.0787; 1.3889; 0.4877; -0.4877; -1.3889; -2.0787; -2.4520

0 2 4 6 8-4

-2

0

2

4

⎥⎦⎤

⎢⎣⎡ +

=16

)12(cos25][1

πnnx

0 2 4 6 80

2

4

6

x0[n]+x1[n]

Somando CossenosDiscretos

X2 = 8,5

= 3.9265; 1.6264; -1.6264; -3.9265; -3.9265; -1.626; 1.6264; 3.9265

x0[n]+x1[n] +x2[n]

0 2 4 6 8-4

-2

0

2

4

⎥⎦⎤

⎢⎣⎡ +

=16

2)12(cos25.8][2

πnnx

0 2 4 6 8-5

0

5

10

Somando CossenosDiscretos

X3 = 2

= 0.8315; -0.1951; -0.9808; -0.5556; 0.5556; 0.9808; 0.1951; -0.8315

x0[n]+x1[n]+x2[n]+x3[n]

0 2 4 6 8-1

-0.5

0

0.5

1

⎥⎦⎤

⎢⎣⎡ +

=16

3)12(cos22][3

πnnx

0 2 4 6 8-5

0

5

10

15

Somando CossenosDiscretos

X4 = 1

= 0.3536; -0.3536; -0.3536; 0.3536; 0.3536; -0.3536; -0.3536; 0.3536

x0[n]+x1[n]+x2[n]+x3[n] +x4[n]

0 2 4 6 8-0.4

-0.2

0

0.2

0.4

⎥⎦⎤

⎢⎣⎡ +

=16

4)12(cos21][4

πnnx

0 2 4 6 8-5

0

5

10

15

Somando CossenosDiscretos

X5 = 1,5

= 0.4167 -0.7356 0.1463 0.6236 -0.6236 -0.1463 0.7356 -0.4167

x0[n]+x1[n]+x2[n]+x3[n] +x4[n]+x5[n]

⎥⎦⎤

⎢⎣⎡ +

=16

5)12(cos25.1][5

πnnx

0 2 4 6 8-1

-0.5

0

0.5

1

0 2 4 6 8-5

0

5

10

15

Somando CossenosDiscretos

X6 = 0

= 0

x0[n]+x1[n]+x2[n]+x3[n] +x4[n]+x5[n]+x6[n]

0 2 4 6 8-5

0

5

10

15

0 2 4 6 8-1

-0.5

0

0.5

1

⎥⎦⎤

⎢⎣⎡ +

=16

6)12(cos20][6

πnnx

Somando CossenosDiscretos

X7 = 0,1

= 0.0098; -0.0278; 0.0416; -0.0490’; 0.0490; -0.0416; 0.0278; -0.0098

x[n]=x0[n]+x1[n]+x2[n]+ x3[n] +x4[n]+x5[n]+x6[n] +x7[n]

0 2 4 6 8-0.05

0

0.05

⎥⎦⎤

⎢⎣⎡ +

=16

7)12(cos21.0][7

πnnx

0 2 4 6 8-5

0

5

10

15

Somando CossenosDiscretosX[k] é um sinal digital: X[k]= X0, X1,...XN-1

Exemplo: X[k]=10;5;8.5;2;1;1.5;0;0.1Dado X[k] pode-se obter x[n]X[k]: representação alternativa para x[n]

0 2 4 6 8 -5

0

5

10

15X[k]

0 2 4 6 80

5

10x[n]

Somando CossenosDiscretos

xk[n]: cosseno componente de x[n], de freqüência fk = k/2N; ouxk[n]: componente de freqüência fk = k/2N; X[k]: Diretamente relacionado com a amplitude da componente de freqüência fk = k/2NX[k] representa a importância da componente de freqüência fk = k/2N

Transformada CossenoDiscreta (DCT)

DCT de x[n]:

110 ,2

)12(cos][2][1

0

2/1−=⎥⎦

⎤⎢⎣⎡ +

⎟⎠⎞

⎜⎝⎛= ∑

=,...,N,n

NknkXc

Nnx

N

kk

π

110 ,2

)12(cos][2][1

0

2/1−=⎥⎦

⎤⎢⎣⎡ +

⎟⎠⎞

⎜⎝⎛= ∑

=,...,N,k

Nknnxc

NkX

N

nk

π

Transformada DCT inversa (IDCT) de X[k]:

Transformada CossenoDiscreta (DCT)

X[k]: coeficientes DCTX: representação de x no domínio da freqüênciaX[0]: coeficiente DC (Direct Current)X[1]...X[N-1]: coeficientes AC (Alternate Current)ComplexidadeAlgoritmos eficientes: FDCT

DCT – Exemplo 1

0 20 40 60 80 100 120-0.2

-0.1

0

0.1

g1

0 20 40 60 80 100 120

-2

-1

0

1

2

g3

0 20 40 60 80 100 120

-2

-1

0

1

2

g1+ g3

DCT – Exemplo 1 (Cont.)

0 20 40 60 80 100 120

-2

-1

0

1

2

g10

0 20 40 60 80 100 120

-2

-1

0

1

2

g1+g3+g10

0 20 40 60 80 100 120-0.2

-0.1

0

0.1

g118

0 20 40 60 80 100 120

-2

-1

0

1

2

g1+g3+g10+g118

DCT – Exemplo 2

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

21π2cos29.99][1

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

22π2cos48.54][2

0 10 20 30 40 50 60-

-50

0

50

100

150 21 ff +

DCT – Exemplo 2 (Cont.)

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

23π2cos34.23][3

0 10 20 30 40 50 60-

-50

0

50

100

150 321 fff ++

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

24π2cos-35.19][4

0 10 20 30 40 50 60-

-50

0

50

100

150 421 ... fff +++

DCT – Exemplo 2 (Cont.)

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

25π2cos-34.55][5

0 10 20 30 40 50 60

-

-50

0

50

100

150 621 ... fff +++

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

26π2cos-33.29][6

0 10 20 30 40 50 60

-

-50

0

50

100

150 621 ... fff +++

DCT – Exemplo 2 (Cont.)

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

27π2cos-63.42][7

0 10 20 30 40 50 60-

-50

0

50

100

150

200 721 ... fff +++

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

28π2cos-42.82][8

0 10 20 30 40 50 60-

-50

0

50

100

150

200 821 ... fff +++

DCT – Exemplo 2 (Cont.)

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

29π2cos-10.31][9

0 10 20 30 40 50 60-

-50

0

50

100

150

200 921 ... fff +++

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

210π2cos7.18][10

0 10 20 30 40 50 60-

-50

0

50

100

150

200 1021 ... fff +++

DCT – Exemplo 2 (Cont.)

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

220π2cos-62.24][20

0 10 20 30 40 50 60-

0

200

400

6002021 ... fff +++

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

240π2cos35.54][40

0 10 20 30 40 50 60

-

0

200

400

600

800

100 4021 ... fff +++

DCT – Exemplo 2 (Cont.)

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

260π2cos-6.73][60

0 10 20 30 40 50 60-

0200400600800

100120 6021 ... fff +++

0 10 20 30 40 50 60

-60

-40

-20

0

20

40

60⎟⎠⎞

⎜⎝⎛ +=

Nn

Nnf

263π2cos-1.51][63

0 10 20 30 40 50 60-

0200400600800

100120 6321 ... fff +++

DCT – Exemplo 3

0 500 1000 1500 2000 850

900

950

1000

105011001150

12001250

Sinaleletrocardiográfico,

2048 amostras

0 500 1000 1500 2000 -400

-200

0

200

400

DCT do sinal eletrocardiográfico(sem termo DC)

DCT – Exemplo 4

Onda Quadrada

DCT da OndaQuadrada

0 10 20 30 40 50 60-20

-10

0

10

20

0 10 20 30 40 50 60-60

-40

-20

0

20

40

60

Freqüências em Hz

Ta = 1/fa (Período de amostragem)N amostras ---- (N-1)Ta segundos

HzNf

TNf

Nf a

a )1(2)1(21nal)(adimensio

21

11 −=

−=↔=

HzfNfNf aa

N 2)1(2)1(1 =

−−=−

Freqüências em Hz

Aumentar N melhora a resolução de freqüência.Aumentar fa aumenta a freqüência máxima digitalizável, em Hz.Dualidade com o domínio do tempo

Freqüências em HzSinal de ECG, N= 2048, fa=360HzValores em Hz para k = 14, 70, 683 e 2047

70 683 2047

14

Freqüências em Hz

f1 = fa/[2(N-1)] Hz = 360/(2x2047) = 0,087933561

f14 = 14f1 = 1,23 Hzf70 = 70f1 = 6,16 Hzf683 = 683f1 = 60,06 Hzf2047 = 2047f1 = 180 Hz

Freqüências em Hz

Observaçõesfa = 360 Hz <=> Ta = 0,002778 HzTempo total para 2048 amostras = 5,69sUm batimento cardíaco: aprox. 0,8 s“Freqüência” Cardíaca: aprox. 1,25 bat./s = 1,25 Hz, ou 75 batimentos/min.“Freqüência” Cardíaca aprox. igual a f14

Freqüências em HzOnda quadrada, N = 64, fa = 1HzValores em Hz para k = 7, 8, 9 e 63

0 7 63-60

-40

-20

0

20

40

60

9

Freqüências em Hz

f1 = fa/[2(N-1)] Hz = 1/(2x63) = 0,007936507

f7 = 7f1 = 0,0556 Hzf8 = 8f1 = 0,0625 Hzf9 = 9f1 = 0,0714 Hzf63 = 63f1 = 0,5 HzObs:Período do sinal = 16 sFreqüência da onda = 0,0625

Freqüências e Conteúdo de Freqüência

Sinal periódico Freqüência Freqüências componentes

Sinal não-periódico:Freqüências componentes

Sinais analógicos senoidais

Representação em freqüência de um sinal analógico senoidal?

fa mínimo para digitalização adequada?

Se f não é múltiplo de f1?

Sinal analógico senoidal, de freqüência f

Amostragem de SenóidesCosseno com f=10Hz, fa=100Hz, N=26

0 0.05 0.1 0.15 0.2 0.25-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Amostragem de SenóidesDCT do cosseno com f = 10Hz, fa=100Hz, N=26

0 5 10 15 20 25 30 35 40 45 50-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

Amostragem de Senóides

Vazamento de freqüência: mais de uma componente de freqüência para uma senóide

Minimizar vazamento de freqüência: aumentar N

Amostragem de SenóidesCosseno com f = 30Hz, fa=100Hz, N=26

0 0.05 0.1 0.15 0.2 0.25-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Amostragem de SenóidesDCT do cosseno com f = 30Hz, fa=100Hz, N=26

0 5 10 15 20 25 30 35 40 45 50-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

Amostragem de SenóidesCosseno com f = 48Hz, fa=100Hz, N=26

0 0.05 0.1 0.15 0.2 0.25-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Amostragem de SenóidesDCT do cosseno com f = 48Hz, fa=100Hz, N=26

0 5 10 15 20 25 30 35 40 45 50-0.5

0

0.5

1

1.5

2

2.5

3

3.5

Amostragem de SenóidesCosseno com f = 50Hz, fa=100Hz, N=26

0 0.05 0.1 0.15 0.2 0.25-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Amostragem de SenóidesDCT do cosseno com f = 50Hz, fa=100Hz, N=26

0 5 10 15 20 25 30 35 40 45 500

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Amostragem de SenóidesCosseno com f = 52Hz, fa=100Hz, N=26

0 0.05 0.1 0.15 0.2 0.25-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Amostragem de SenóidesDCT do cosseno com f = 52Hz, fa=100Hz, N=26

0 5 10 15 20 25 30 35 40 45 50-0.5

0

0.5

1

1.5

2

2.5

3

3.5

Amostragem de SenóidesSinal digital obtido a partir do cosseno de 52Hz é idêntico ao obtido a partir do cosseno de 48 Hz

0 0.0 0.1 0.1 0.2 0.2-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

0 0.0 0.1 0.1 0.2 0.2-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Amostragem de SenóidesCosseno com f = 70Hz, fa=100Hz, N=26

0 0.05 0.1 0.15 0.2 0.25-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Amostragem de SenóidesDCT do cosseno com f = 70Hz, fa=100Hz, N=26

0 5 10 15 20 25 30 35 40 45 50-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

Amostragem de SenóidesSinal digital obtido a partir do cosseno de 70Hz é idêntico ao obtido a partir do cosseno de 30 Hz

0 0.0 0.1 0.1 0.2 0.2-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

0 0.0 0.1 0.1 0.2 0.2-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Aliasing

Na DCT, a maior freqüência é fa/2Aliasing: sinais senoidais de freqüência f > fa/2 são discretizadoscomo sinais senoidais de freqüência fd < fa / 2 (fd=fa–f, para fa/2 < f < fa)

Aliasing

Teorema de Shannon-Nyquist

Sinal analógico com fmax Hz (componente)Digitalizar com fa Hz, tal que:

maxmax 22

ffffa

a >⇔>

2fmax: Freq. de Nyquist

Digitalização de áudio

Ouvido humano é sensível a freq. entre 20Hz e 22KHz (aprox.)

Digitalizar com 44KHz?Sons podem ter freqüências componentes acima de 22KHzDigitalização a 44KHz: aliasing.Filtro passa-baixas com freqüência de corte em 22KHz = Filtro anti-aliasing

Eliminação de pixels revisitada

Por que redução de imagens (ou outros sinais) por eliminação de pixel pode ser ruim?

Usar filtro passa-baixas!

Aliasing!

Filtros no domínio da freqüência

Multiplicar X pela função de transferência do filtro, HFiltros:

Passa-baixasPassa-altasPassa-faixaCorta-baixasCorta-altasCorta-faixa (faixa estreita: notch)

Filtros no domínio da freq.

H

fc N-1

1

Passa-baixas(corta-altas)

H

fc N-1

1

Passa-altas (corta-baixas)

H

fc1 N-1

1

Passa-faixa

fc2

H

fc1 N-1

1

corta-faixa

fc2

Ideais

Filtros no domínio da freqüência

Combinação de filtrosFiltros não-ideais (corte suave, H(fc)=1/2)

DCT 2-D

Operação separávelComplexidade elevada

⎥⎦⎤

⎢⎣⎡ +

⎥⎦⎤

⎢⎣⎡ +

= ∑ ∑−

=

= Nln

Nkmnmxcc

NlkX

N

m

N

nlk 2

)12(cos2

)12(cos],[21],[

1

0

1

0

ππ

⎥⎦⎤

⎢⎣⎡ +

⎥⎦⎤

⎢⎣⎡ +

= ∑ ∑−

=

= Nnl

NmklkXcc

Nnmx

N

k

N

llk 2

)12(cos2

)12(cos],[21],[

1

0

1

0

ππ

DCT 2-D

Imagem “cosseno na vertical”, 256 x 256, 8 ciclos (k = 16) e sua DCT normalizada

DCT 2-D

Imagem “cosseno na vertical”, 256 x 256, 16 ciclos (k = 32) e sua DCT normalizada

DCT 2-DImagem “cosseno na horizontal x cossenona vertical”, 256 x 256, 16 ciclos (k = 32) e sua DCT normalizada

DCT 2-DImagem “cosseno na horizontal x cossenona vertical”, 256 x 256, 8 x 16 ciclos e sua DCT normalizada

DCT 2-DImagem “Lena” (256x256) e sua DCT normalizada

DCT 2-DImagem “Lena” (256x256) e o log(DCT+1) normalizado

Transformada de Fourier Discreta (DFT)

n, u = 0, 1, ..., N-1

∑−

=

−=

1

0

2

][1][N

n

Nunj

ensN

uFπ

∑−

==

1

0

2

][][N

u

Nunj

euFnsπ

Direta:

Inversa:

1−=j

Fórmula de Euler: θθθ sencos je j ±=±

Duas propriedades essenciais

|F[-u]| = ?

?][ =+ NuF

Duas propriedades essenciais

|F[u]| = |F[-u]|

)(][ uFNuF =+

Espectro de Fourier é função par:

DFT é periódica de período N:

Esboço do Espectro de Fourier

N/2 -N/2 N-1 u

|F[u]|

u = 0, ±N, ±2N,...: freq. 0u = ±N/2, ±3N/2,...: freq. máxima (N par)u = ±(N-1)/2,...: freq. máxima (N ímpar)

Freqüências em Hz

Ta = 1/fa (Período de amostragem)N amostras ---- (N-1)Ta segundos

HzN

fTN

fN

f a

a 1)1(1nal)(adimensio1

11 −=

−=↔=

HzfN

fNf aaN 2)1(2

12/)1( =

−−

=−

Fourier 2-D

Operação separávelComplexidade elevada

∑∑−

=

=

+−=1

0

1

0

)//(2],[1],[C

m

R

n

RvnCumjenmsRC

vuF π

∑∑−

=

=

+=1

0

1

0

)//(2],[],[C

u

R

v

RvnCumjevuFnms π

Exibição do Espectro de Fourier 2-D

Flog[u, v] = round[(L - 1) log(1+|F[u, v]|)/Fmax2]

Teorema da ConvoluçãoSe

Então:G[u,v] = H[u,v]F[u,v]ondeG[u,v]: DFT de g[m,n]F[u,v]: DFT de s[m,n] H[u,v]: DFT de h[m,n]

],[],[ ],[ nmhnmsnmg ⊗=

H[u,v]: Função de transferência do filtro

Filtros: espaço x freqüência

Projeto de filtro no domínio da freqüência (Fourier)Método imediato: H[k], k = 0..N-1Como filtrar sinais no domínio do tempo, em tempo real?Convolução com h[n], n = 0..N-1? Projetado para N amostras!Filtrar mais que N amostras corresponde a truncar h[t]

Filtros: espaço x freqüência

Para eficiência computacional e redução de custos, o número de coeficientes do filtro deve ser o menor possívelProjetar filtros relativamente imunes ao truncamento

Recommended