parte 2. operações topológicas
DESCRIPTION
Processamento Digital de Imagens. Parte 2. Operações Topológicas. Bruno Barufaldi. Conteúdo (parte 2). Dissolve Cruzado Detecção de Movimento Redução de Ruído Zoom Reconstrução de Imagens Rebatimento (flip ) Rotação. Warping Morphing. Dissolve Cruzado. - PowerPoint PPT PresentationTRANSCRIPT
Parte 2. Operações Topológicas
Bruno Barufaldi
Processamento Digital de Imagens
Conteúdo (parte 2) Dissolve Cruzado Detecção de
Movimento Redução de Ruído Zoom Reconstrução de
Imagens Rebatimento (flip) Rotação
Warping Morphing
Dissolve Cruzado O dissolve cruzado uniforme de duas imagens
f e g é uma nova imagem h dada por:h(i,j) = (1-t) f(i,j) + t g(i,j)
Dissolve Cruzado
ABC
A B C
Imagem resultante com t = 0,3Imagem resultante com t = 0,5Imagem resultante com t = 0,7
h(i,j) = (1-t) f(i,j) + t g(i,j)
Dissolve Cruzado O dissolve cruzado não uniforme, t é uma
matriz com mesmas dimensões de f e g h2(i,j) = [1 – t(i,j)] f(i,j) + t(i,j) g(i,j)
A B C
(A) t(i,j) = (i+j)/(R+C-2) (B) t(i,j) = j/(C-1) (C) t(i,j) = i/(R-1)
Detecção de Movimento Videos (frames/seg)
Subtração de Imagens
contrario caso ,0
|| se ,1 21 tLffLg
f1 f2 g
Detecção de Movimento
Redução de Ruído por Média das Imagens
Imagens estacionárias
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
kk jig
Mjig
1
),(1),(
Redução de Ruído por Média das Imagens
)],(),([1),(1
jinjifM
jig k
M
k
M
kk jin
Mjifjig
1
),(1),(),(
njifjig ),(),(
Para M grande:
Zoom in Por replicação de pixels
10 1020 30
10 10
20 30
Original Ampliação por fator 3
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
20 20 20 20 20 20 20 20
30 30 30 30 30 30 30 30
Zoom in Por interpolação bilinear
10 1020 30
10 10
20 30
Original Ampliação por fator 3
Interpolação nas linhasPassos de níveis de cinza:10 a 10: 020 a 30: (30-20)/3 = 3,3
1010 1010
23 27 33 37
Zoom in Por interpolação bilinear
10 1020 30
10 10 10 10 10 10
20 23 27 30 33 37
Original Ampliação por fator 3
Interpolação nas colunasPassos de níveis de cinza:10 a 20: (20-10)/3 = 3,310 a 23: (23-10)/3 = 4,310 a 27: (27-10)/3 = 5,7...
1317
2327
1419
2732
1621
3338
1723
3743
1825
4148
1928
4655
Zoom in Exemplo: ampliação fator 10
Original Replicação Interpolação
Zoom out Por eliminação de pixels
Média
14 1828 41
10 10 10 10 10 1013 14 16 17 18 1917 19 21 23 25 2820 23 27 30 33 3723 27 33 37 41 4627 32 38 43 48 55
Original Redução por fator 3
(10 + 10 + 10 + 13 + 14 + 16 + 17 +19 + 21) / 9(10 + 10 + 10 + 17 + 18 + 19 + 23 + 25 + 28) / 9(20 + 23 + 27 + 23 + 27 + 33 + 27 + 32 + 38) / 9(30 + 33 + 37 + 37 + 41 + 46 + 43 + 48 + 55) / 9
Reconstrução de Imagens Quando queremos ampliar a imagem (zoom
in) por um fator não inteiro? Ex.: F = 3,75
Reconstruir a imagem
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)
Reconstrução:Encontrar f(x,y),x em [i, i+1]y em [j, j+1]
Reconstrução de Imagens 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) = 10f(10, 16) = 20f(11,15) = 30f(11, 16) = 30
(10,15)
(10.5, 15.2)
(10,16)
(11,15) (11,16)
(10,15.2)
(11,15.2)
f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15) = 10 + 0.2*[20 – 10] = 12
f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15) =30 + 0.2*[30 – 30] = 30
f(10.5, 15.2)=12+(10.5-10)*[30-12] = 21
Reconstrução de imagens Ex: f(10.5, 15.2)=?
f(10, 15) = 20f(10, 16) = 15f(11,15) = 13f(11, 16) = 20
(10,15)
(10.5, 15.2)
(10,16)
(11,15) (11,16)
(10,15.2)
(11,15.2)
f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15)] = 20 + 0.2*[15 – 20] = 19
f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15)] = 13 + 0.2*[20 – 13] = 14
f(10.5, 15.2)=19+(10.5-10)*[14-19] = 17
Zoom com Reconstrução de ImagemEx: Ampliação por fator 2.3Passo para as coordenadas: 1/2.3 = 0.43x = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04...y = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04... g(0,0) = f(0,0); g(0,1) = f(0, 0.43);g(0,2) = f(0, 0.87); g(0,3) = f(0, 1.30);...
Ex: Redução por fator 2.3x = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8...y = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8...g(0,0) = f(0,0); g(0,1) = f(0, 2.3);g(0,2) = f(0, 4.6); g(0,3) = f(0,6.9);...
Rotação Rotação de um ângulo β em torno de um ponto
C(ic, jc)
Para cada ponto X(i, j) da imagem original, calculam-se as coordenadas do ponto X’(i’, j’) correspondente.
C(ic, jc)
X(i, j)
C(ic, jc)
X(i, j)
βα
X’(i’, j’)
θ
Rotação
C(ic, jc)
X’(i’, j’)
X(i, j)
βα
j - jc
i - ic
θ
α
Miiii cc
PX
)cos(
Mjjjj cc
PX
)sen(
M 'PXPX
i - ic
j - jc
Rotação
Miiii cc
'
'
')cos(PX
C(ic, jc)
X’(i’, j’)
X(i, j)
βα
θM
jjjj cc
'
'
')sen(PX
M 'PXPX
j’ - jc
i’ - ic
θ
i’ - ic
j’ - jc
Rotação Desenvolvendo as equações:
)cos(')cos('')cos( MiiMiiM
iicc
c
onde)sen()sen()cos()cos()cos()cos(
logo
)sen()()cos()('
)sen()()cos()('
)sen()cos('
)sen()sen()cos()cos()cos('
ccc
ccc
ccc
cc
jjiiiiM
jjiiMii
Mjj
MiiMii
MiMii
Rotação de um ângulo β em torno de um ponto C(ic, jc)
cos)(sen)('sen)(cos)('
ccc
ccc
jjiijjjjiiii
Rotação
Rotação Exemplos
Rotação constante com ângulo de 45 graus
Rotação com decrescimento linear, um centro de rotação
Imagem Original Rotação com crescimento quadrático e um centro de rotação
Rotação com decrescimento quadrático e multiplicação senoidal, e um centro de rotação
Rotação com crescimento linear e um centro de rotação
Rebatimento horizontal
Rebatimento vertical
Rebatimento
yyxRxyxryx ',1'),()','(
yCyxxyxryx 1','),()','(
Rebatimento
Imagem original Rebatimento vertical
Rebatimento horizontal
Rebatimento diagonal principal
Rebatimento diagonal secundária
xyyxyxryx ','),()','(
xCyyRxyxryx 1',1'),()','(
Rebatimento
Rebatimento
Imagem original Rebatimento pela diagonal principal
Rebatimento pela diagonal
secundaria
Warping = Deformação Transformação geométrica genérica que
modifica a relação espacial dos pontos da imagem
Várias técnicas de warping são definidas na literatura
Mesh warping, Field Morphing, Multilevel free-form deformation, etc.
Morphing Metamorfose gradual entre 2 ou mais imagens
envolvendo a deformação (warping)
Vídeo
Aplicação Prática Aplicação Prática #fail
Warping baseado em campos Determinar características relevantes na
imagem (nariz, boca, contorno da face, etc.) Definir vetores referência e vetores alvos
Warping baseado em campos
Parâmetros “u” e “v” estabelecem as relações que devem ser preservadas
v: distância do ponto X ao ponto que corta (Q-P) através de uma linha perpendicular ao vetor
u: distancia medida pelo ponto P até a linha que passa perpendicular a X.
Quanto maior a distância de X, menos influente será o ponto ao segmento
Representa um vetor perpendicular a V de mesmo módulo que este
Warping baseado em campos
Warping baseado em campos
Quando há mais de um par de vetores referência-alvo, cada ponto da imagem sofrerá a influência de todos os pares de vetores. Neste caso, será em geral encontrado um ponto diferente para cada par de vetores referência-alvo.
A combinação dos vetores referencia e alvo é efetuada por uma média ponderada produzindo o ponto X’
Warping baseado em campos
peso: quando mais de um vetor é definido, um pixel pode ser influenciado por ambos os segmentos. O segmento de maior peso, influenciará mais o valor de X’
tamanho: módulo do vetor p: importancia do comprimento do vetor (Se p = 0, comprimento
ignorado) b: concentração de força da característica a: aderência ao vetor (para valores próximos a 0, os pontos mais
próximos ao vetor serão mapeados exatamente como o vetor determina)
Experimentos com os parâmetros mostram que bons resultados, em termos de qualidade visual e tempo de processamento, são obtidos com a = 0 ou a = 1, b = 2 e p = 0 ou p = 1.
Warping baseado em campos
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.
Warping + dissolve cruzado
Morphing São marcados v vetores de referência
(características relevantes) em f0 e v vetores de referência em fN-1
ai, i = 1, 2,..., v (f0) e bi, i = 1, 2,..., v (fN-1)
Para cada imagem interpolada e para cada par de vetores ai – bi , um novo vetor alvo ci é criado.
Se temos k imagens interpoladas, teremos cki vetores alvo
Morphing
Morphing
Morphing
Imagem Inicialai, i = 1, 2,..., v (f0) Imagem final
bi, i = 1, 2,..., v (fN-1)
Morphing
Morphing