slides PDI 2007 leonardo
-
Upload
raphael-marques -
Category
Technology
-
view
1.581 -
download
3
Transcript of slides PDI 2007 leonardo
Introdução ao Processamento Digital de
Imagens
Prof. Leonardo Vidal Batista
DI/PPGI/PPGEM
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 digital
Câmeras digitais, celulares, scanners
DVDs
Sistemas de teleconferência
Transmissões via fax
Editoração eletrônica
Impressoras
Monitoramento da superfície terrestre e previsão climática por imagens de satélites
Detecção de movimento
Imagens Digitais
Diagnóstico médico: ultrassonografia, angiografia, tomografia, ressonância magnética, contagem de células, etc
Identificação biométrica: reconhecimento de face, íris ou impressões digitais
Ciências forenses
Realce e restauração de imagens por computador
Instrumentação
Controle de qualidade
Granulometria de minérios
Outros Sinais Digitais
Diagnóstico médico: eletrocardiograma, eletroencefalograma, eletromiograma, eletroretinograma, polisonograma, etc
Identificação biométrica por reconhecimento de voz
Síntese de voz
Áudio Digital
Telefonia
Suspensão ativa em automóveis
Mercado acionário
Sinais Contínuos e Discretos
Sinal digital
Sinal analógico
Erros de
quantização 0 Ta 2Ta 3Ta ...
0
q
2q
-2q
...
-q
...
Tempo, espaço etc.
Am
plit
ude
Processamento Analógico de Sinais
Processador
analógicoSinal analógico
de entrada
Sinal analógico
de saída
Processamento Digital de Sinais
Conversor
A/D
Processador
Digital
Sinal
analógico
Sinal
digital
Conversor
A/D
Processador
Digital
Sinal
analógico
Sinal
analógicoConversor
D/A
Processamento Digital de Sinais
Alguns sinais são inerentemente digitais ou puramente matemáticos
Ex: Número de gols por rodada do campeonato brasileiro de futebol
Neste caso, não há necessidade de Conversão A/D
Ainda assim, pode haver necessidade de conversão D/A
Ex: texto -> voz sintetizada
Processamento Digital de Sinais
Hardware, software, ou ambos
Maior flexibilidade
Menor custo
Menor tempo de desenvolvimento
Maior facilidade de distribuição
Sinais digitais podem ser armazenados e reproduzidos sem perda de qualidade
Mas alguns sistemas exigem uma etapa analógica!
Processamento Digital de Sinais – Robustez a Ruído
Sinal analógico original
Sinal analógico corrompido – em geral, recuperação
impossível mesmo para pequenas distorções
Processamento Digital de Sinais – Robustez a Ruído
„1‟
„0‟
„1‟
„0‟
„1‟
„0‟
Sinal digital original
Sinal 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)
Warping (Deformação)
Interpol faz apelo público para identificar pedófilo (http://noticias.terra.com.br/mundo/interna/0,,OI1971484-EI294,00.html)
As fotos haviam sido manipuladas digitalmente para disfarçar o rosto do pedófilo, mas especialistas em computação da Agência de Polícia Federal na Alemanha conseguiram reproduzir o rosto do suspeito de forma que seja identificável
Warping (Deformação)
A imagem distorcida pôde ser recuperada por especialistas para que o homem fosse identificado
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ético
Luz: radiação eletromagnética
Freqüência f, comprimento de onda L
Faixa visível do espectro eletromagnético: 380 nm < L < 780 nm
Na faixa visível, o sistema visual humano (SVH) percebe comprimentos de onda diferentes como cores diferentes
A Faixa Visível do Espectro
Eletromagnético
Radiação monocromática: radiação em um único comprimento de onda
Cor espectral pura: radiação monocromática na faixa visível
A Faixa Visível do Espectro
Eletromagnético
A Faixa Visível do Espectro
Eletromagnético
Denominação Usual da Cor Faixa do Espectro (nm)
Violeta 380 – 440 Azul 440 – 490
Verde 490 – 565 Amarelo 565 – 590 Laranja 590 – 630
Vermelho 630 – 780
A Estrutura do Olho Humano
Olho humano: aproximadamente esférico, diâmetro médio em torno de dois centímetros
A luz penetra no olho passando pela pupila e pelo cristalino e atingindo a retina
Imagem invertida do cenário externo sobre a retina
Cones e bastonetes convertem energia luminosa em impulsos elétricos que são transmitidos ao cérebro.
A Estrutura do Olho Humano
Bastonetes
75 a 150 milhões/olho, sobre toda a retina
Não são sensíveis às cores
Baixa resolução (conectados em grupos aos terminais nervosos)
Sensíveis à radiação de baixa intensidade na faixa visível
Visão geral e de baixa luminosidade
Objetos acinzentados sob baixa luminosidade
Cones
6 a 7 milhões/olho, concentrados na fóvea
Sensíveis às cores
Alta resolução (um cone por terminal nervoso)
Pouco sensíveis a radiação de baixa intensidade na faixa visível
Visão específica, de alta luminosidade
Movimentamos os olhos para que a imagem do objeto de interesse recaia sobre a fóvea.
Cones
Há três tipos de cones:
Cone sensível ao vermelho
Cone sensível ao verde
Cone sensível ao azul
Cores diversas obtidas por combinações destas cores primárias
Cones
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 aditivo
Combinação de radiações monocromáticas vermelho (R), verde (G) e azul (B)
Cores primárias da luz
Sistema de cores RGB
Sistema RGB
Padronização da Comissão Internacional de Iluminação (CIE):
Azul: 435,8 nm
Verde: 546,1 nm
Vermelho: 700 nm
Sistema RGB - Combinação de
Cores Primárias
Cores secundárias da luz: magenta (M), cíano (C) e amarelo (Y):
M = R + B
C = B + G
Y = G + R
Cor branca (W):
W = R + G + B
Espaço de Cores RGB
Cor no sistema RGB é um vetor em um espaço tridimensional:
B
G
R
Espaço de Cores RGB
Reta (i, i, i): reta acromática
Pontos na reta acromática: tonalidades de cinza ou níveis de cinza
Preto: (0, 0, 0) (ausência de luz)
Branco: (M, M, M), (M é a intensidade máxima de uma componente de cor)
Monitor de vídeo: Sistema RGB
Sistema de Cores CMY
Cor de um objeto que não emite radiação própria depende dos pigmentos que absorvem radiação em determinadas faixas de freqüência e refletem outras
Absorção em proporções variáveis das componentes R, G e B da radiação incidente: sistema subtrativo
CMY - Cores Primárias
Cores primárias dos pigmentos: absorvem uma cor primária da luz e refletem as outras duas
C = W – R = G + B
M = W – G = R + B
Y = W – B = G + R
CMY – Combinação de Cores
Primárias
Cores secundárias:
R = M + Y
G = C + Y
B = M + C
Preto (K):
K = C + M + Y = W – R – G – B
Impressoras coloridas: CMY ou CMYK
Processos Aditivo e Subtrativo
Sistema de Cores YIQ
Transmissão de TV em cores: compatibilidade com TV P & B
Y: luminância (intensidade percebida, ou brilho)
I e Q: crominâncias
Conversão YIQ-RGB
Conversão de RGB para YIQ:
Y = 0.299R + 0.587G + 0.114B
I = 0.596R – 0.274G –0.322B
Q = 0.211R – 0.523G + 0.312B
Conversão de YIQ para RGB :
R = 1.000 Y + 0.956 I + 0.621 Q
G = 1.000 Y – 0.272 I – 0.647 Q
B = 1.000 Y – 1.106 I + 1.703 Q
Sistema de Cores HSI
Fisiologicamente, a retina humana opera no sistema RGB
A percepção subjetiva de cor é diferente
Atributos perceptivos das cores:
Matiz (hue) ou tonalidade
Saturação
Intensidade
Sistema de Cores HSI
Matiz (H): determinada pelo comprimentode onda dominante; cor espectral maispróxima; denominação usual das cores
H é um ângulo: 0o = R; 120o = G; 240o =B
Saturação: pureza da cor quanto à adiçãode branco
S = 0: cor insaturada (nível de cinza)
S = 1: cor completamente saturada
Cores espectrais puras tem S = 1
Sistema de Cores HSI
Também chamado HSB, HSV, HSL (B=Brightness; V=Value; L=Lightness), às vezes com pequenas diferenças na conversão para RGB.
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
Am
plit
ud
e
Amostragem e Quantização - Parâmetros
T: período de amostragem (unidade de espaço ou tempo)
f = 1/T: freqüência de amostragem (amostras/unidade de espaço ou tempo)
q: passo de quantização
Sinal analógico: s(t), s(x)
Sinal digitalizado: s[nT], n inteiro não negativo, s[nT] {-Mq, ..., -2q, -q, 0, q, 2q, ..., (M-1)q}
Amostragem e Quantização – Exemplo 1
Sinal analógico s(t): voltagem de saída de um sistema elétrico em função do tempo
0 1 2 3 4 5 6 7 -40
-20
0
20
40
Volts
segundos
Sinal analógico
Amostragem e Quantização – Exemplo 1
T = 0.5s, q = 0.5V, M = 64: s[0.5.n], n = 0, 1, 2, ...
s[0.5n] {-32, -31.5..., -0.5, 0, 0.5 1,...,31, 31.5}
s[0]=9.5V,s[0.5]=8V,s[1]=-2V, s[1.5]= -10.5V, ...
Notação Simplificada:
s[n] {-M,..., -2, -1, 0, 1, 2,..., M-1}
s[0]=19, s[1]=16, s[2]=-4, s[3]=-21,...
s[n] = {19, 16, -4, -21, ...}
Amostragem e Quantização – Exemplo 2
Em um processo de digitalização foram colhidas N=10 amostras de um sinal de temperatura (graus Celsius) igualmente espaçadas ao longo de um segmento de reta unindo duas cidades A e B. A primeira amostra foi colhida na cidade A e a última na cidade B. O sinal digital resultante é s[n] = {12 12 13 13 14 13 14 14 15 14}
Perguntas:
(a) Distância entre as cidades?
(b) Valores de temperatura registrados?
(c) Limites de temperatura registrável?
(d) Qual o valor de s[5km]?
Amostragem e Quantização – Solução do Exemplo 2
Precisamos conhecer f, q e M!
Dados:
f = 0.1 amostra/km
q = 2o Celsius
M = 16;
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: [-32, 30]
(d) s[5km]: no sinal digital s[nT] não há nT = 5km!
Conversores Analógico-Digitais (ADC)
Conversor Analógico/Digital (Analog to Digital Converter - ADC): amostra, quantiza em L níveis e codifica em binário.
Um transdutor deve converter o sinal de entrada para tensão elétrica (V)
Códigos de b bits: L = 2b níveis de quantização
Exemplo: b = 8, L = 256
ADC de b bits
Conversores Analógico-Digitais (ADC)
ADC unipolar: voltagem de entrada de 0 a Vref
ADC bipolar: voltagem de entrada de -Vref a
Vref
Exemplo: ADC unipolar de 3 bits, Vref = 10 V
L = 23 = 8, Resolução de voltagem: 10/8 = 1,25V
Exemplo: ADC bipolar de 3 bits, Vref = 5 V
L = 23 = 8, Resolução de voltagem: 10/8 = 1,25V
ADC
Unipolar Bipolar
Voltagem Código Voltagem Código
[0,00, 1,25)
[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 LSB
Alguns parâmetros: fa, Vref, b, ...
Amostragem e Quantização – Qualidade do Sinal
0 1 2 3 4 5 6 7 -40
-20
0
20
40 V
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
40 Sinal analógico
reconstruído
Amostragem e Quantização – Qualidade do Sinal
0 1 2 3 4 5 6 7 -40
-20
0
20
40 V
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
40 Sinal analógico
reconstruído
Amostragem e Quantização – Qualidade do Sinal
0 1 2 3 4 5 6 7 -40
-20
0
20
40 V
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
40 Sinal analógico
reconstruído
Amostragem e Quantização – Qualidade do Sinal
0 1 2 3 4 5 6 7 -40
-20
0
20
40 V
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
40 Sinal analógico
reconstruído
Notação simplificada para Imagens
f[i, j] {0, 1, 2,..., M-1}
Tipicamente, M = 256
Imagem digital monocromática
95...163163
............
142...161161
142...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 suporte
Tv: tamanho do passo do suporte
Th e Tv definem a resolução espacial
M: profundidade de cor ou resolução de contraste
Resolução espacial: pontos por polegada(dot per inch, dpi) (1 ponto = 1 sensor emscanner monocromático, 3 sensores emscanners RGB)
1 pol = 2,54 cm.
Scanners
Ex: 300 x 300 dpi, digitalização de formato carta(8,5 x 11’’), no máximo
8,5x300=2550 diodos (mono) ou
3x2550=7650 diodos (cor)
Aumentar resolução vertical sem aumentar o número de sensores
Scanners
...
N pontos/polegada
Movimento do braço:
M passos/polegada
Câmeras Digitais
Câmeras Digitais
Sensor de imagem: matriz de diodos fotosensíveis cobertos por filtros R, G e B
Diodos produzem carga elétrica proporcional à intensidade da luz refletida pelo objeto
Resolução espacial de câmeras: número de
pontos (ou pixels), RxC (1 ponto = 3 sensores)
Câmeras Digitais
...
...
Qualidade dos Sensores
S9500 – ISO 1600 EOS350D – ISO 1600
Qualidade dos Sensores
S9500 – ISO 1600
EOS350D – ISO 1600
Câmeras Digitais
Exemplo: Sony DSC V1: 1944 x 2592 pixels =
5Mpixels. Digitalizar papel em formato carta com
imagem da folha ocupando todo o sensor.
Resolução (em dpi)? Comparar com scanner de
300 x 300 dpi, em qualidade, número de
sensores e preço. Comparar com scanner de
2400 x 2400 dpi.
Câmeras Digitais
Solução:
1944 / 8,5 pol x 2592/11 pol = 228,7 dpi x =235,6 dpi
Resolução espacial inferior à do scanner de300 x 300 dpi, com 1944 x 2592 x 3 / 7650 =1976 vezes mais sensores, 10 a 20 vezes maiscaro, aberrações geométricas e de cor, etc.
Câmeras digitais têm escopo de aplicaçãomaior e são mais rápidas
Scanner de 2400 x 2400 dpi = câmera de 500Mpixels!
Dispositivos Gráficos
Exemplo: câmera digital, 3000 x 2000pontos (6 Mpixels), impressa em formato15x10 cm, com o mesmo no. de pontos.Qual a resolução (dpi) no papel?
Dispositivos Gráficos
Exemplo: câmera digital, 3000 x 2000pontos (6 Mpixels). Imprimir em formato15x10 cm, com o mesmo no. de pontos.Qual a resolução (dpi) no papel?
15x10 cm = 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 1200x1200dpi, 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ção1024x768? Resolução em dpi da tela?
Dimensões em tela de 17 pol., resolução1024x768? Resolução em dpi da tela?
Dispositivos Gráficos
Solução:
Foto 10x15cm = 3,94 x 5,91 pol.
Tamanho em bytes: 3,94x1200 x5,91x1200 pixels x 3 bytes/pixel = 4728 x7092 x 3 = 100 milhões de bytes (96 MB)
Dimensões (pol) em impressora de1440x1440 dpi: 4728/1440 x 7092/1440 =3,3 x 4,9 pol.
Dimensões (pol.) em impressora de 720 x720 dpi = 6,6 x 9,9 pol
Dispositivos Gráficos
Solução:
Dimensões em tela de 14 pol., em resolução de1024x768 pontos? Resolução em dpi da tela?
x2 + y2 = 142
x/y = 3/4
x = 8,4 pol; y = 11,2 pol.
Res. = 1024/11,2 x 768/8,4 = 91,4 x 91,4 dpi.
Dimensões = 4728 / 91,4 x 7092 / 91,4 =51,73 x77,59 pol = 131,39 x 197,09cm (apenas parte daimagem será visível)
Dispositivos Gráficos
Solução:
Dimensões em tela de 17 pol., em resolução de1024x768 pontos? Resolução em dpi da tela?
y = 13,6 pol; x = 10,2 pol
Res. = 1024/13,6 x 768/10,2 = 75,3 x 75, 3 dpi(pior que no monitor de 14 pol)
Dimensões = 4728 / 75,3,4 x 7092 / 75,3 =62,79x 94,18 pol = 159,49 x 239,22cm (apenas parte daimagem será visível)
Monitor CRT
A e C: Placas aceleradoras e defletoras
D: tela com pontos de fósforos RGB
F: Máscara de sombra ou grade de abertura
Monitor CRT
Monitor RGB
Monitor RGB
Linha 0
Linha 1
Linha R-1
Operações com Imagens
Espaço / freqüência
Locais / pontuais
Unárias / binárias / ... / n-árias
Operações n-árias
Operação T sobre n imagens, f1, f2, ..., fn, produzindo imagem de saída g
g = T[f1, f2, ..., fn]
Operações binárias: n = 2
Operações unárias ou filtros: n = 1
g = T[f]
Operações Pontuais
g(i, j) depende do valor do pixel em (i’, j’) das imagens de entrada
Se (i, j) = (i’, j’) e operação unária:s = T(r)
r, s: nível de cinza de f e g em (i, j)
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 Locais
g(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 Locais
Exemplo: Filtro “Média”
)]1,1(),1()1,1(
)1,(),()1,(
)1,1(),1()1,1([9
1),(
jifjifjif
jifjifjif
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)] =
y
f
x
f
2/1
22
)],([
y
f
x
fyxfG
Filtros de detecção de bordas
g(i, j): aproximação discreta do módulo dovetor gradiente em f(i, j).
Aproximações usuais:
g(i, j) = {[f(i,j)-f(i+1,j)]2 + [f(i,j)-f(i,j+1)]2}1/2
g(i, j) = |f(i,j)-f(i+1,j)| + |f(i,j)-f(i,j+1)|
Gradiente de Roberts:
g(i,j) = {[f(i,j)-f(i+1,j+1)]2+[f(i+1,j)-f(i,j+1)]2}1/2
g(i, j) = |f(i,j)-f(i+1,j+1)| + |f(i+1,j)-f(i,j+1)|
Filtros de detecção de bordas
Gradiente de Prewitt:
g(i, j) = |f(i+1,j-1) + f(i+1, j) + f(i+1, j+1)
- f(i-1, j-1) - f(i-1, j) - f(i-1, j+1)|
+|f(i-1, j+1) + f(i, j+1) + f(i+1, j+1)
- f(i-1, j-1) - f(i, j-1) - f(i+1, j-1)|
Gradiente de Sobel:
g(i, j) = |f(i+1, j-1) + 2f(i+1, j) + f(i+1, j+1)
- f(i-1, j-1) - 2f(i-1, j) - f(i-1, j+1)|
+ |f(i-1, j+1) + f(i, j+1) + f(i+1, j+1)
- f(i-1, j-1) - 2f(i, j-1) - f(i+1, j-1)|
Gradiente de Roberts
Limiares 15, 30 e 60
Processamento de Histograma
Se o nível de cinza l ocorre nl vezes emimagem com n pixels, então
n
nlP l)(
Histograma da imagem é umarepresentaçã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
RC
LroundrTs
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) = 1
r = 1 s = round(1813 x 7 / 4096) = 3
r = 2 s = round(2663 x 7 / 4096) = 5
r = 3 s = round(3319 x 7 / 4096) = 6
r = 4 s = round(3648 x 7 / 4096) = 6
r = 5 s = round(3893 x 7 / 4096) = 7
r = 6 s = round(4015 x 7 / 4096) = 7
r = 7 s = round(4096 x 7 / 4096) = 7
Equalização de Histograma
Exemplo: imagem 64 x 64, L = 8
l nl
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
cji
jig
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çamento
Laplaciano do Gaussiano (LoG)
“Emboss”
Aumento de saturação
Correção de gama
...
Filtros Lineares e Invariantes ao Deslocamento
Filtro linear:
T [af1 + bf2] = aT [f1] + bT [f2]
para constantes arbitrárias a e b.
Filtro invariante ao deslocamento:
Se g[i, j] = T [f[i, j]]
então g[i - a, j – b] = T [f[i - a, j – b]].
Se i e j são coordenadas espaciais: filtros espacialmente invariantes.
Convolução
Convolução de s(t) e h(t):
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 Linear
Convoluçã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
][][][*][][N
nhsnhnsng
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ário
Delta de Dirac ou impulso unitário contínuo
1
(t)
0 t
Delta de Kronecker ou 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
][][][
N
nsns
Resposta ao impulso
Resposta de um filtro a s[n]:
1
0
1
0
][][][][][NN
nshnhsng
Resposta de um filtro ao impulso
1
0
1
0
][][][][][
NN
hnnhng
1
0
][][][
N
hnnh
Resposta ao impulso
h[n]: Resposta ao impulso
Máscara convolucional
Kernel do filtro
Vetor 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] = 1
y[1] = delta[1]–delta[0]–0,5y[0] = -1,5
y[2] = delta[2]–delta[1]–0,5y[1] = 0,75
y[3]= delta[3]–delta[2]–0,5y[2] = -0,325
y[n] = -0,5y[n-1], n > 1
Filtros IIR (exemplo 2)
Exemplo: encontre a resposta ao impulso do seguinte sistema recursivo. Supor que o sistema está originalmente relaxado (y[n] = 0 para n < 0)
y[n] - y[n-1] = x[n] - x[n-4]
Filtros IIR (exemplo 2)
Exemplo (Solução)
y[n] = y[n-1] + x[n] - x[n-4]
y[0] = y[-1] + delta[0] - delta[-4] = 1
y[1] = y[0] + delta[1] - delta[-3] = 1
y[2] = y[1] + delta[2] - delta[-2] = 1
y[3] = y[2] + delta[3] - delta[-1] = 1
y[4] = y[3] + delta[4] - delta[0] = 0
y[5] = y[4] + delta[5] - delta[1] = 0
y[6] = y[7] = ... = 0
Convolução Discreta Circular
Sinais s[n] e h[n] com N0 e N1 amostras,respectivamente => extensão com zeros:
NnN
Nnnsnse
0
0
,0
0 ],[][
NnN
Nnnhnhe
1
1
,0
0 ],[][
Extensão periódica: considera-se quese[n] e he[n] são períodos de sp[n] e hp[n]
Convolução circular:
1
0
][][][][][N
ppp 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ãopor zeros
1
0
1
0
],[],[],[*],[],[R C
jihfjihjifjig
1
0
1
0
],[],[],[],[],[R C
ppp 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 Kirsch
5 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áscara Pixel de saída recebe o valor máximo
Máscaras Convolucionais
Em geral:
Máscaras de integração somam para 1
Máscaras de diferenciação somam para 0
Transformada z
Transformada z de x[n]:n
n
znxzXnxZ
][][]}[{
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:
Se h[n] é a resposta ao impulso de um filtro, H[z] é a função de transferência do filtro
][][][][][][*][][ zXzHzYknxkhnxnhnyk
Propriedades da Transformada z
Convolução (Prova)
n
n
k
zknxkhnxnhZ ][][]}[*][{
k
n
n
zknxkh ][][
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ência
Aplicando a transformada z em ambos os lados e simplificando:
kM
kk
kN
kk
zb
za
zX
zYzH
1
1
1
0
1][
][][
Pólos: raízes do denominador
Zeros: raízes do numerador
Pólos e zeros: estabilidade
Função de Transferência
BIBO: Bounded-input, bounded-output
Sistemas BIBO-estáveis: sistemas causais tais que:
0
|][|
k
kh
Estimação da Resposta em Freqüência
Resposta em freq. a partir de H[z]
1
0
2
][1
][N
n
N
unj
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 Z
Y[z] = (X[z] + z-1X[z] )/2 = X[z](1+z-1)/2
H[z] = (1+z-1)/2
H[ejw] = (1+e-jw)/2 = e-jw/2 (ejw/2 + e-jw/2)/2 =
e-jw/2cos(w/2)
|H[ejw]| = cos(w/2), -pi< w < pi
Estimação da Resposta em Freqüência
Exemplo: encontre a resposta em
freqüência do filtro y[n] = (x[n] - x[n-1])/2
utilizando a transformada Z
Y[z] = (X[z] - z-1X[z] )/2 = X[z](1-z-1)/2
H[z] = (1-z-1)/2
H[ejw] = (1-e-jw)/2 = e-jw/2 (ejw/2 - e-jw/2)/2 =
je-jw/2sen(w/2)
|H[ejw]| = |sen(w/2)|, -pi< w < pi
Correlação
Convolução:
][][][*][][ nhsnhnsng
Correlação:
][][][][][ nhsnhnsng
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, 27
Observe que g[5] é elevado, pois é obtido centrando h em s[5] e calculando a correlação entre (3, 7, 5) e (3, 8, 4)
Mas g[12] é ainda maior, devido aos valores elevados de s[11..13]
Correlação Normalizada
A correlação normalizada elimina a dependência dos valores absolutos dos sinais:
22 ])[(])[(
][][
][][][
nhs
nhs
nhnsng
Correlação Normalizada
Resultado para o exemplo anterior:
g[0..15] = .??? .877 .934 .73 .81 .989 .64 .59 .78 .835 .61 .931 .95 .83 .57 .???
Valor máximo: g[5]
Detecção e estimação
Fonte:
http://www.dspguide.com/ch7/3.htm
Detecção e estimação
Gaivota, “filtro casado” (olho) e imagem de correlação normalizada (máximo no olho)
Fonte: http://www.dca.fee.unicamp.br/dipcourse/html-dip/c6/s5/front-page.html
Estimação Espectral
O cálculo direto do espectro deamplitudes e fases não é fidedigno
O espectro pode variar muito emdiferentes seções de um mesmo sinal.
O problema pode ser causado por ruído,escassez de dados, comportamento nãoestacionário etc.
Variância é um indicador de qualidade
Periodograma
O quadrado do módulo do espectro deamplitudes: densidade espectral depotê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çõesadjacentes (com ou sem intersecção) demesmo tamanho; obter PSD de cadaseção; obter média das PSDs
Janelamento (windowing)
Todo sinal discreto obtido a partir de umsinal analógico é resultado damultiplicação de um sinal discreto deduração infinita por um pulso, ou janela,retangular:
contrário caso 0
0 1 Nnwn
Janelamento (windowing)
A janela retangular pode gerar grandesdescontinuidades na forma de ondaoriginal
Janelamento (windowing)
Multiplicação no tempo equivale aconvolução na freqüência (Fourier)
DFT da janela retangular: função sinc(sine cardinal, kernel de Dirichlet, funçãode amostragem):
contrário caso
sen
0 1
)(sinc
x
x
x
x
Janelamento (windowing)
A convolução com um sinc introduzdistorções no espectro
Janelas mais “suaves” reduzem estasdistorções, mas distorcem mais asamostras centrais-> Compromisso
Dezenas dessas janelas tem sidoavaliadas e utilizadas em diversasaplicações
Janela de Hamming
contrário caso 0
Nn0 1
2cos46,054,0
N
n
wn
Janela de Hamming
Seno multiplicado por janela retangular e de Hamming
Janela de Hamming
DFT de seno multiplicado por janela retangular e de Hamming
Outras Janelas
Blackman-Harris, Dolph-Chebyshev, Kaiser-Bessel (superiores?)
Tukey, Poisson, Hanning etc
Dissolve Cruzado
ht (i, j)= (1 - t) f(i, j) + t g(i, j)
t é um escalar no intervalo [0, 1]
Dissolve Cruzado
t = 0,3 t = 0,5 t = 0,7
Dissolve Cruzado Não-Uniforme
ht(i, j)= [1 - t(i, j)] f(i, j) + t(i, j) g(i, j)
t é uma matriz com as mesmasdimensões de f e g cujos elementosassumem 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ído
nk(i, j) ruído de média m
gk[i,j] = f[i,j] + nk(i,j)
M
k
k jigM
jig
1
],[1
],[
Redução de Ruído por Média de Imagens
)),(],[(1
],[
1
jinjifM
jig k
M
k
M
k
k jinM
jifjig
1
),(1
],[],[
mjifjig ],[],[
Para M grande:
Operações Topológicas
Rígidas
Translação
Rebatimento
Rotação
Mudança de Escala
Não rígidas (Warping)
Rotação
Rotação em torno de (ic, jc)
ccc
ccc
jjjiij
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 10
10 10 10 10 10 10
10 10 10 10 10 10
20 20 20 30 30 30
20 20 20 30 30 30
20 20 20 30 30 30
Por replicação de pixels
Original Ampliação por fator 3
Ampliação (Zoom in)
10 10
20 30
10 10 10 10 10 10
20 23 27 30 33 37
Por interpolação bilinear
Original Ampliação por fator 3
Interpolação nas linhas
Passos de níveis de cinza:
10 a 10: 0
20 a 30: (30-20)/3 = 3,3
Ampliação (Zoom in)
10 10
20 30
10 10 10 10 10 10
13 14 16 17 18 19
17 19 21 23 25 28
20 23 27 30 33 37
23 27 33 37 41 46
27 32 38 43 48 55
Por interpolação bilinear
Original Ampliação por fator 3
Interpolação nas colunas
Passos de níveis de cinza:
10 a 20: (20-10)/3 = 3,3
10 a 23: (23-10)/3 = 4,3
10 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 10
13 14 16 17 18 19
17 19 21 23 25 28
20 23 27 30 33 37
23 27 33 37 41 46
27 32 38 43 48 55
Por eliminação de pixel
Por Média
Original Redução por fator 3
Reconstrução de Imagens
Zoom por fatores não inteiros
Ex: F = 3,75432
Operações elásticas, etc.
Técnicas mais avançadas devem ser utilizadas
Uma dessas técnicas é a reconstrução de imagens
Reconstrução de imagens
Dados f(i,j), f(i,j+1), f(i+1,j), f(i+1,j+1)
(i, j)
(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 imagens
Ex: f(10.5, 15.2)=?
f(10, 15) = 10; f(10, 16) = 20;f(11,15) = 30; f(11, 16) = 30
Reconstrução de imagens
Solução:
x = 10.5; y = 15.2 => i = 10; j = 15
f(i, y) = f(i, j)+(y–j)[f(i, j+1)-f(i, j)]
f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15) = 10 + 0.2*[20 – 10] = 12
f(i+1,y)=f(i+1,j)+(y–j)[f(i+1,j+1)-f(i+1, j)]
f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15) =30 + 0.2*[30 – 30] = 30
f(x, y) = f(i, y) + (x–i) [f(i+1, y) - f(i, y)]
f(10.5, 15.2)=12+(10.5-10)*[30-12] =21
Zoom por reconstrução de imagens
Ex: Ampliação por fator 2.3
Passo para as coordenadas: 1/2.3 = 0.43
x = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04...y = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04... g(0,0) = f(0,0); g(0,1) = f(0, 0.43);g(0,2) = f(0, 0.87); g(0,3) = f(0, 1.30);...
Ex: Redução por fator 2.3
x = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8...y = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8...g(0,0) = f(0,0); g(0,1) = f(0, 2.3);g(0,2) = f(0, 4.6); g(0,3) = f(0,6.9);...
Operações Topológicas Não Rígidas (warping)
Warping = distorção
Zoom por fator F(i, j)
Rotação por ângulo teta(i,j)
Translação com deslocamento d(i,j)
Warping especificado pelo usuário
Warping baseado em Campos
Entretenimento
Efeitos especiais, morphing
Correção de distorções óticas
Alinhamento de elementos correspondentes em duas ou mais imagens (registro)
Modelagem e visualização de deformações físicas
Warping baseado em Campos
1. Características importantes da imagem são marcados por segmentos de reta orientados (vetores de referência)
2. Para cada vetor de referência, um vetor alvo é especificado, indicando a transformação que se pretende realizar
Warping baseado em Campos
3. Para cada par de vetores referência-alvo, encontra-se o ponto X’ para onde um ponto X da imagem deve migrar, de forma que as relações espaciais entre X’ e o vetor alvo sejam idênticas àquelas entre X e o vetor de referência
4. Parâmetros para as relações espaciais : u e v
Warping baseado em Campos
Warping baseado em Campos
u: representa o deslocamento normalizado de P até O no sentido do vetor PQ (Normalizado: dividido pelo módulo de PQ)
|v|: distância de Xà reta suporte de PQ
Warping baseado em Campos
Se O=P, u = 0
Se O=Q, u = 1
Se O entre P eQ, 0<u<1;
Se O após Q, u>1
Se O antes de P, u<0
Warping baseado em Campos
Encontrar u e v: norma, produto interno, vetores perpendiculares, projeção de um vetor sobre outro.
Vetores a = (x1, y1) e b = (x2, y2)
Norma de a:
Produto interno:
a.b = x1x2 +y1y2
2
1
2
1|||| yx a
Warping baseado em Campos
“Norma” da projeção de a sobre b (o sinal indica o sentido em relação a b)
a
b
c
||||||||
b
a.b c
Warping baseado em Campos
Vetor b = (x2, y2) perpendicular a a = (x1, y1) e de norma igual à de a:
ab
Perpendicularidade: x1x2 +y1y2 = 0
Mesma norma: x22 + y2
2 = x12 + y1
2
Warping baseado em Campos
Soluções:
x2 = y1, y2 = -x1
x2 = -y1, y2 = x1
ab
b’
Warping baseado em Campos
Parâmetro u: “norma” da projeção de PXsobre PQ, dividido pela norma de PQ
2|||| PQ
PQPXu
.
Warping baseado em Campos
P = (xp,yp), Q = (xq, yq), X = (x,y)
2|||| PQ
PQPXu
.
u = (x - xp).(xq - xp) + (y -yp)(yq – yp)
(xq-xp)2 + (yq-yp)
2
Warping baseado em Campos
Parâmetro v: distância de X à reta suporte de PQ
|||| PQ
PQPXv
.
v: vetor perpendicular a v e de mesma norma que este.
Warping baseado em Campos
PQ = (Xq-Xp, Yq-Yp)
PQ1 = (Yq–Yp, Xp-Xq)
PQ2 = (Yp–Yq, Xq-Xp)
Vamos usar PQ1
Warping baseado em Campos
Parâmetro v:
|||| PQ
PQPXv
.
v = (x-xp)(yq-yp) + (y-yp)(xp–xq)
[(xq-xp)2 + (yq-yp)
2]1/2
Warping baseado em Campos
Cálculo de X’:
||''||
''''.''
QP
QPvQPuPX
.
Warping baseado em Campos
2|||| PQ
PQPXu
.
||''||
''''.''
QP
QPvQPuPX
.
|||| PQ
PQPXv
.
Warping baseado em Campos
Quando há mais de um par de vetores referência-alvo, cada pixel sofre a influência de todos os pares de vetores
Será encontrado um ponto Xi’ diferente para cada par de vetores referência-alvo.
Os diferentes pontos para os quais o ponto X da imagem original seria levado por cada par de vetores referência-alvo são combinados por intermédio de uma média ponderada, produzindo o ponto X’ para onde X será efetivamente levado.
Warping baseado em Campos
Warping baseado em Campos
Peso da coordenada definida pelo i-ésimo par de vetores de referência-alvo:
di: Distância entre X e o segmento PiQi
li: ||Pi Qi||a, b e p : Parâmetros não negativos
Warping baseado em Campos
Relação inversa com a distância entre a reta e o ponto X
Parâmetro a : Aderência ao segmento
a = 0 (Peso infinito ou aderência máxima)
Warping baseado em Campos
Parâmetro p controla a importância do tamanho do segmento
p = 0: independe do tamanho do segmento
Warping baseado em Campos
Parâmetro b controla a forma como a influência decresce em função da distância
b = 0: peso independe da distância
Warping baseado em Campos
Bons resultados são obtidos com:
a entre 0 e 1
b = 2
p = 0 ou p = 1.
Warping baseado em Campos
Exemplo:
P0 = (40, 10); Q0 = (20, 5) P0’ = (35, 15); Q0’ = (25, 20)P1 = (20, 30); Q1 = (10, 35)P1’ = (25, 50); Q1’ = (5, 40)X = (20, 25)u0 = [(20-40) (20-40) + (25-
10)(5-10)] / [(20-40)2+ (5-10)2] = 0.76
v0 = [(20-40) (5-10) + (25-10)(40-20)] / [(20-40)2+ (5-10)2]1/2 = 19.40
X0’ = (35, 10) + 0.76 (25-35, 20-15) + 19.4 (20-15, 35-25) / [(25-35)2 + (20-15)2]1/2
X0’ = (36.03, 31.17)
0 5 10 15 20 25 30 35 40 45 50 6055
0
5
10
15
20
25
30
35
40
45
50
Q0
P0
P0‟
Q0‟P1
P1‟
Q1‟
Q1
X
X0‟
Warping baseado em Campos
Exemplo (cont):
u1 = [(20-20) (10-20) + (25-30)(35-30)] / [(10-20)2+ (35-30)2] = - 0.2
v1 = [(20-20) (35-30) + (25-30)(20-10)] / [(10-20)2+ (35-30)2]1/2 = -4,47
X1’ = (25, 50) - 0.2 (5-25, 40-50) -4,47 (40-50, 25-5) / [(25-5)2 + (40-50)2]1/2
X1’ = (25, 50) + (4.6, 2) + (2, -3.99) = (31.6, 48,01)
0 5 10 15 20 25 30 35 40 45 50 6055
0
5
10
15
20
25
30
35
40
45
50
Q0
P0
P0‟
Q0‟P1
P1‟
Q1‟
Q1
X
X0‟
X1‟
Warping baseado em Campos
Exemplo (cont):
Dados a = 0.1; b = 2; p= 0wi = 1/[0.1+di]
2
d0 = v0 = 19.4 => w0 = 0.0026
d1 = distância de X a P1 = [(20-20)2 + (25-30)2]1/2
= 5 =>: w1 = 0.0384X’ = [0.0026* (36.03,
31.17) + 0.0384*(31.6, 48,01)]/( 0.0026+ 0.0384)
X’ = (31.88, 46,94)
0 5 10 15 20 25 30 35 40 45 50 6055
0
5
10
15
20
25
30
35
40
45
50
Q0
P0
P0‟
Q0‟P1
P1‟
Q1‟
Q1
X
X0‟
X1‟
X‟
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: transformadas
Processamento e análise no domínio da freqüência
Fourier, Cosseno Discreta, Wavelets,etc.
Cosseno Analógico
f: freqüência
T=1/f: período
: fase
A: amplitude
Grá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 cosseno
Tk =1/fk: período do k-ésimo cosseno
: fase do k-ésimo cosseno
Ak: 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 1
0para 1/21/2
Nk
kck
N
kfk
2
k
NTk
2
N
kk
2
110 ,2
)12(cos
2][
2/1
,...,N,n
N
knXc
Nnx kkk
kkk XcN
A
2/12
Uma Família de Funções Cosseno Discretas
110 ,2
)12(cos
2][
2/1
,...,N,n
N
knXc
Nnx kkk
110 ,2
12][ 0
2/12/1
0
,...,N,nX
Nnx
0
00
0
0
fk
NTN
fk 22
11 11 (meio-período em N amostras)
1
2
2
11 11
N
NT
N
NfNk 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=1
Meio-ciclo
Uma Família de Funções Cosseno Discretas
k=2
1 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=3
1,5 ciclo
Uma Família de Funções Cosseno Discretas
k=32
16 ciclos
Para
visualizaçã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=63
31,5 ciclos
Para
visualizaçã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 Cossenos Discretos
Criar um sinal x[n] somando-se os sinais xk[n], k = 0...N-1, amostra a amostra:
110 ],[][1
0
,...,N,nnxnxN
kk
110 ,2
)12(cos
2][
1
0
2/1
,...,N,nN
knXc
Nnx
N
kkk
Somando Cossenos Discretos
Exemplo:
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
102
1
2
1][
2/1
0
nx
=3.5355
Somando Cossenos Discretos
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(cos
2
5][1
nnx
0 2 4 6 8 0
2
4
6
x0[n]+x1[n]
Somando Cossenos Discretos
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(cos
2
5.8][2
nnx
0 2 4 6 8 -5
0
5
10
Somando Cossenos Discretos
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(cos
2
2][3
nnx
0 2 4 6 8 -5
0
5
10
15
Somando Cossenos Discretos
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(cos
2
1][4
nnx
0 2 4 6 8 -5
0
5
10
15
Somando Cossenos Discretos
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(cos
2
5.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 Cossenos Discretos
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(cos
2
0][6
nnx
Somando Cossenos Discretos
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(cos
2
1.0][7
nnx
0 2 4 6 8 -5
0
5
10
15
Somando Cossenos Discretos
X[k] é um sinal digital: X[k]= X0, X1,...XN-1
Exemplo: X[k]=10;5;8.5;2;1;1.5;0;0.1
Dado X[k] pode-se obter x[n]
X[k]: representação alternativa para x[n]
0 2 4 6 8 -5
0
5
10
15
X[k]
0 2 4 6 8 0
5
10
x[n]
Somando Cossenos Discretos
xk[n]: cosseno componente de x[n], de freqüência fk = k/2N; ou
xk[n]: componente de freqüência fk = k/2N;
X[k]: Diretamente relacionado com a amplitude da componente de freqüência fk = k/2N
X[k] representa a importância da componente de freqüência fk = k/2N
Transformada Cosseno Discreta (DCT)
DCT de x[n]:
110 ,2
)12(cos][
2][
1
0
2/1
,...,N,nN
knkXc
Nnx
N
kk
110 ,2
)12(cos][
2][
1
0
2/1
,...,N,kN
knnxc
NkX
N
nk
Transformada DCT inversa (IDCT) de X[k]:
Transformada Cosseno Discreta (DCT)
X[k]: coeficientes DCT
X: representação de x no domínio da freqüência
X[0]: coeficiente DC (Direct Current)
X[1]...X[N-1]: coeficientes AC (Alternate Current)
Complexidade
Algoritmos 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
π
2
1π2cos29.99][1
0 10 20 30 40 50 60
-60
-40
-20
0
20
40
60
Nn
Nnf
2
π
2
2π2cos48.54][2
0 10 20 30 40 50 60 -100
-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
π
2
3π2cos34.23][3
0 10 20 30 40 50 60 -100
-50
0
50
100
150 321 fff
0 10 20 30 40 50 60
-60
-40
-20
0
20
40
60
Nn
Nnf
2
π
2
4π2cos-35.19][4
0 10 20 30 40 50 60 -100
-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
π
2
5π2cos-34.55][5
0 10 20 30 40 50 60
-100
-50
0
50
100
150 621 ... fff
0 10 20 30 40 50 60
-60
-40
-20
0
20
40
60
Nn
Nnf
2
π
2
6π2cos-33.29][6
0 10 20 30 40 50 60
-100
-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
π
2
7π2cos-63.42][7
0 10 20 30 40 50 60
-100
-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
π
2
8π2cos-42.82][8
0 10 20 30 40 50 60
-100
-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
π
2
9π2cos-10.31][9
0 10 20 30 40 50 60
-100
-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
π
2
10π2cos7.18][10
0 10 20 30 40 50 60
-100
-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
π
2
20π2cos-62.24][20
0 10 20 30 40 50 60 -200
0
200
400
600 2021 ... fff
0 10 20 30 40 50 60
-60
-40
-20
0
20
40
60
Nn
Nnf
2
π
2
40π2cos35.54][40
0 10 20 30 40 50 60
-200
0
200
400
600
800
1000
4021 ... fff
DCT – Exemplo 2 (Cont.)
0 10 20 30 40 50 60
-60
-40
-20
0
20
40
60
Nn
Nnf
2
π
2
60π2cos-6.73][60
0 10 20 30 40 50 60
-200
0
200
400
600
800
1000
1200
6021 ... fff
0 10 20 30 40 50 60
-60
-40
-20
0
20
40
60
Nn
Nnf
2
π
2
63π2cos-1.51][63
0 10 20 30 40 50 60
-200
0
200
400
600
800
1000
1200
6321 ... fff
DCT – Exemplo 3
0 500 1000 1500 2000 850
900
950
1000
1050
1100
1150
1200
1250
Sinal eletrocardiográ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 Onda Quadrada
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
HzN
f
TNf
Nf a
a )1(2)1(2
1nal)(adimensio
2
111
Hzf
N
fNf aa
N2)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 Hz
Sinal de ECG, N= 2048, fa=360Hz
Valores 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 Hz
f70 = 70f1 = 6,16 Hz
f683 = 683f1 = 60,06 Hz
f2047 = 2047f1 = 180 Hz
Freqüências em Hz
Observações
fa = 360 Hz <=> Ta = 0,002778 Hz
Tempo total para 2048 amostras = 5,69s
Um 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 Hz
Onda quadrada, N = 64, fa = 1Hz
Valores 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 Hz
f8 = 8f1 = 0,0625 Hz
f9 = 9f1 = 0,0714 Hz
f63 = 63f1 = 0,5 Hz
Obs:
Período do sinal = 16 s
Freqüê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óides
Cosseno 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óides
DCT 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óides
Cosseno 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óides
DCT 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óides
Cosseno 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óides
DCT 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óides
Cosseno 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óides
DCT 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óides
Cosseno 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óides
DCT 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óides
Sinal digital obtido a partir do cosseno de 52Hz é idêntico ao obtido a partir do cosseno de 48 Hz
0 0.0
5
0.1 0.1
5
0.2 0.2
5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 0.0
5
0.1 0.1
5
0.2 0.2
5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Amostragem de Senóides
Cosseno 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óides
DCT 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óides
Sinal digital obtido a partir do cosseno de 70Hz é idêntico ao obtido a partir do cosseno de 30 Hz
0 0.0
5
0.1 0.1
5
0.2 0.2
5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 0.0
5
0.1 0.1
5
0.2 0.2
5
-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/2
Aliasing: sinais senoidais de freqüência f > fa/2 são discretizados como 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
ffff
aa
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 22KHz
Digitalizaçã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 por eliminação de pixel deve ser evitada?
Sinal original digitalizado com fa =2fmax
No. de amostras do sinal digital reduzido pela metade por eliminação de amostras -> nova freqüência de amostragem f’a = fa/2 = fmax
->
freqüência máxima do sinal analógico digitalizada sem aliasing = f’a/2 = fmax/2
Eliminação de pixels revisitada
Por que redução de imagens (ou outros sinais) por eliminação de pixel (ou amostras) deve ser evitada?
Usar filtro passa-baixas!
Aliasing!
Filtros no domínio da freqüência
Multiplicar o sinal no domínio da freq., S, pela função de transferência do filtro, H
Filtros:
Passa-baixas
Passa-altas
Passa-faixa
Corta-baixas
Corta-altas
Corta-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 filtros
Filtros não-ideais (corte suave, |H(fc)|=(1/2)1/2 ou |H(fc)|=1/2)
DCT 2-D
Operação separável
Complexidade elevada
N
ln
N
kmnmxcc
NlkX
N
m
N
nlk
2
)12(cos
2
)12(cos],[
2
1],[
1
0
1
0
N
nl
N
mklkXcc
Nnmx
N
k
N
llk
2
)12(cos
2
)12(cos],[
2
1],[
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-D
Imagem “cosseno na horizontal x cosseno na vertical”, 256 x 256, 16 ciclos (k = 32) e sua DCT normalizada
DCT 2-D
Imagem “cosseno na horizontal x cosseno na vertical”, 256 x 256, 8 x 16 ciclos e sua DCT normalizada
DCT 2-D
Imagem “Lena” (256x256) e sua DCT normalizada
DCT 2-D
Imagem “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
N
unj
ensN
uF
1
0
2
][][N
u
N
unj
euFns
Direta:
Inversa:
1j
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. 0
u = 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
f
TNf
Nf a
a 1)1(
1nal)(adimensio
111
Hzf
N
fNf aa
N2)1(2
12/)1(
Fourier 2-D
Operação separável
Complexidade 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ção
Se
Então:
G[u,v] = H[u,v]F[u,v]
onde
G[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-1
Como filtrar sinais no domínio do tempo, em tempo real?
Convolução com h[n], n = 0..N-1 pode ser proibitiva para n grande
Encontrar ht[n], n = 0..M-1, com M < N, de modo a obter uma aproximação adequada para H[k].
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ível
Projetar filtros relativamente imunes ao truncamento
Questões do PosComp 2002
51. Histograma de uma imagem com K tons de cinza é : a) Contagem dos pixels da imagem. b) Contagem do número de tons de cinza que ocorreram na imagem.
c) Contagem do número de vezes que cada um dos K tons de cinza ocorreu na imagem.
d) Contagem do número de objetos encontrados na imagem. e) Nenhuma alternativa acima.
52. filtro da mediana é : a) Indicado para detectar bordas em imagens.
b) Indicado para atenuar ruído com preservação de bordas (i.é rápidas transições de nível em
imagens). c) Indicado para detectar formas específicas em imagens. d) Indicado para detectar tonalidades específicas em uma imagem.
e) Nenhuma das respostas acima.
Questões do PosComp 2002
51. Histograma de uma imagem com K tons de cinza é : a) Contagem dos pixels da imagem. b) Contagem do número de tons de cinza que ocorreram na imagem.
c) Contagem do número de vezes que cada um dos K tons de cinza ocorreu na imagem.
d) Contagem do número de objetos encontrados na imagem. e) Nenhuma alternativa acima.
52. filtro da mediana é : a) Indicado para detectar bordas em imagens.
b) Indicado para atenuar ruído com preservação de bordas (i.é rápidas transições de nível em
imagens). c) Indicado para detectar formas específicas em imagens. d) Indicado para detectar tonalidades específicas em uma imagem.
e) Nenhuma das respostas acima.
Questões do PosComp 2004
56) Considerando as declarações abaixo, é incorreto afirmar: a) Filtros passa-altas são utilizados para detecção de bordas em imagens b) A transformada discreta de Fourier nos permite obter uma representação de
uma imagem no domínio freqüência c) Filtragem no domínio espacial é realizada por meio de uma operação chamada
“convolução” d) Os filtros Gaussiano e Laplaciano são exemplos de filtro passa-baixas e) O filtro da mediana pode ser utilizado para redução de ruído em uma imagem
58) Identifique a declaração incorreta: a) As operações de ajuste de brilho e contraste são operações lineares b) A equalização de histograma é uma transformação não-linear e específica
para cada imagem c) A transformação necessária para calcular o negativo de uma imagem pode ser
aplicada simultaneamente (i.e., em paralelo) a todos pixels da imagem original d) A equalização de histograma pode ser obtida a partir de um histograma
cumulativo da imagem original e) O objetivo da equalização de histograma é reduzir o constrastre nas regiões
da imagem que correspondem à porção do histograma com maior concentração de pixels
Questões do PosComp 2004
56) Considerando as declarações abaixo, é incorreto afirmar: a) Filtros passa-altas são utilizados para detecção de bordas em imagens b) A transformada discreta de Fourier nos permite obter uma representação de
uma imagem no domínio freqüência c) Filtragem no domínio espacial é realizada por meio de uma operação chamada
“convolução” d) Os filtros Gaussiano e Laplaciano são exemplos de filtro passa-baixas e) O filtro da mediana pode ser utilizado para redução de ruído em uma imagem
58) Identifique a declaração incorreta: a) As operações de ajuste de brilho e contraste são operações lineares b) A equalização de histograma é uma transformação não-linear e específica
para cada imagem c) A transformação necessária para calcular o negativo de uma imagem pode ser
aplicada simultaneamente (i.e., em paralelo) a todos pixels da imagem original d) A equalização de histograma pode ser obtida a partir de um histograma
cumulativo da imagem original e) O objetivo da equalização de histograma é reduzir o constrastre nas regiões
da imagem que correspondem à porção do histograma com maior concentração de pixels
Questões do PosComp 2005
59. O processo de análise de imagens é uma seqüência de etapas que são iniciadas a partir da definição do problema. A seqüência correta destas etapas é: (a) pré-processamento, aquisição, segmentação, representação, reconhecimento. (b) aquisição, pré-processamento, segmentação, representação, reconhecimento. (c) aquisição, pré-processamento, representação, segmentação, reconhecimento. (d) aquisição, representação, pré-processamento, segmentação, reconhecimento. (e) pré-processamento, aquisição, representação, segmentação, reconhecimento.
60. O termo imagem se refere a uma função bidimensional de intensidade de luz, denotada por f(x; y), onde o valor ou amplitude de f nas coordenadas espaciais (x; y) representa a intensidade (brilho) da imagem neste ponto. Para que uma imagem possa ser processada num computador, a função f(x; y) deve ser discretizada tanto espacialmente quanto em amplitude. Estes dois processos recebem as seguintes denominações, respectivamente: (a) translação e escala. (b) resolução e escala. (c) resolução e ampliação. (d) amostragem e quantização. (e) resolução e quantização.
Questões do PosComp 2005
59. O processo de análise de imagens é uma seqüência de etapas que são iniciadas a partir da definição do problema. A seqüência correta destas etapas é: (a) pré-processamento, aquisição, segmentação, representação, reconhecimento. (b) aquisição, pré-processamento, segmentação, representação, reconhecimento. (c) aquisição, pré-processamento, representação, segmentação, reconhecimento. (d) aquisição, representação, pré-processamento, segmentação, reconhecimento. (e) pré-processamento, aquisição, representação, segmentação, reconhecimento.
60. O termo imagem se refere a uma função bidimensional de intensidade de luz, denotada por f(x; y), onde o valor ou amplitude de f nas coordenadas espaciais (x; y) representa a intensidade (brilho) da imagem neste ponto. Para que uma imagem possa ser processada num computador, a função f(x; y) deve ser discretizada tanto espacialmente quanto em amplitude. Estes dois processos recebem as seguintes denominações, respectivamente: (a) translação e escala. (b) resolução e escala. (c) resolução e ampliação. (d) amostragem e quantização. (e) resolução e quantização.
Questões do PosComp 2006
47. [TE] Considere os filtros espaciais da média (m) e Mediana (M) aplicados em imagens em níveis de cinza f e g. Qual par de termos ou expressões a seguir não está associado, respectivamente, a características gerais de m e M? (a) m(f + g) = m(f) + m(g); M(f + g) != M(f) + M(g) (b) ruído gaussiano; ruído impulsivo (c) convolução; filtro estatístico da ordem (d) preservação de pequenos componentes; não preservação de pequenos
componentes (e) filtragem com preservação de contornos; filtragem sem preservação de
contornos
48. [TE] A convolução da máscara [-1 2 -1] com uma linha de uma imagem contendo uma seqüência de pixels do tipo [... 3 4 5 6 7 8 9 10 ...] resulta na transformação (sem considerar efeitos de borda): (a) [...3 4 5 6 7 8 9 10...] e representa o filtro da média com 2-vizinhos mais
próximos (b) [...0 0 0 0 0 0 0 0...] e representa o laplaciano no espaço discreto (c) [...0 0 0 0 0 0 0 0...] e representa uma erosão morfológica (d) [...1 1 1 1 1 1 1 1...] e é equivalente a um filtro passa-baixas (e) [...7 9 11 13 15 17 19...] e é equivalente a um filtro passa-altas
Questões do PosComp 2006
47. [TE] Considere os filtros espaciais da média (m) e Mediana (M) aplicados em imagens em níveis de cinza f e g. Qual par de termos ou expressões a seguir não está associado, respectivamente, a características gerais de m e M? (a) m(f + g) = m(f) + m(g); M(f + g) != M(f) + M(g) (b) ruído gaussiano; ruído impulsivo (c) convolução; filtro estatístico da ordem (d) preservação de pequenos componentes; não preservação de pequenos
componentes (e) filtragem com preservação de contornos; filtragem sem preservação de
contornos
48. [TE] A convolução da máscara [-1 2 -1] com uma linha de uma imagem contendo uma seqüência de pixels do tipo [... 3 4 5 6 7 8 9 10 ...] resulta na transformação (sem considerar efeitos de borda): (a) [...3 4 5 6 7 8 9 10...] e representa o filtro da média com 2-vizinhos mais
próximos (b) [...0 0 0 0 0 0 0 0...] e representa o laplaciano no espaço discreto (c) [...0 0 0 0 0 0 0 0...] e representa uma erosão morfológica (d) [...1 1 1 1 1 1 1 1...] e é equivalente a um filtro passa-baixas (e) [...7 9 11 13 15 17 19...] e é equivalente a um filtro passa-altas
Questões do PosComp 2007
61. [TE] O realce de imagem tem como objetivo destacar detalhes finos procurando obter uma representação mais adequada do que a imagem original para uma determinada aplicação. Dessa forma, sobre as técnicas utilizadas no realce de imagens, é CORRETO afirmar que (a) o melhor resultado obtido depende do filtro aplicado na imagem.
Normalmente, o mais aplicado é o filtro da mediana. (b) o melhor resultado é obtido com a aplicação de filtros passa-
baixas, cujos parâmetros dependem do resultado desejado. (c) a aplicação de filtros da média sempre oferece resultado adequado
no realce de imagens. (d) o resultado mais adequado no realce de imagens está associado à
aplicação de filtro passa-altas e da interpretação subjetiva do observador que deverá ter conhecimento a priori da imagem original.
(e) o resultado mais adequado no realce de imagens está associado à aplicação de filtro passa-baixas e da interpretação subjetiva do observador que deverá ter conhecimento a priori da imagem original.
62 e 63
Questões do PosComp 2007
61. [TE] O realce de imagem tem como objetivo destacar detalhes finos procurando obter uma representação mais adequada do que a imagem original para uma determinada aplicação. Dessa forma, sobre as técnicas utilizadas no realce de imagens, é CORRETO afirmar que (a) o melhor resultado obtido depende do filtro aplicado na imagem.
Normalmente, o mais aplicado é o filtro da mediana. (b) o melhor resultado é obtido com a aplicação de filtros passa-
baixas, cujos parâmetros dependem do resultado desejado. (c) a aplicação de filtros da média sempre oferece resultado adequado
no realce de imagens. (d) o resultado mais adequado no realce de imagens está associado à
aplicação de filtro passa-altas e da interpretação subjetiva do observador que deverá ter conhecimento a priori da imagem original.
(e) o resultado mais adequado no realce de imagens está associado à aplicação de filtro passa-baixas e da interpretação subjetiva do observador que deverá ter conhecimento a priori da imagem original.