Upload
pet-computacao
View
5.324
Download
0
Embed Size (px)
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 BatistaDI/PPGI/PPGEM
[email protected]@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 θπ
kθ
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
2π
21π2cos29.99][1
0 10 20 30 40 50 60
-60
-40
-20
0
20
40
60⎟⎠⎞
⎜⎝⎛ +=
Nn
Nnf
2π
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
2π
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
2π
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
2π
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
2π
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
2π
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
2π
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
2π
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
2π
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
2π
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
2π
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
2π
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
2π
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