slides PDI 2007 leonardo

Preview:

Citation preview

Introdução ao Processamento Digital de

Imagens

Prof. Leonardo Vidal Batista

DI/PPGI/PPGEM

leonardo@di.ufpb.br

leovidal@terra.com.br

http://www.di.ufpb.br/leonardo

Processamento Digital de Imagens

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

PDI e áreas correlatas

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.

Recommended