Post on 17-Apr-2015
Transformações espaciais geométricas
• Modificam as relações espaciais entre os pixels da imagem• Dependem das coordenadas (x,y)
(w,z)
(x,y)
T
1T
• Uma imagem f , definida no sistema de coordenadas (w,z), gera uma nova imagem g, no espaço de coordenadas (x,y), a partir de uma transformação T:
Princípio
(x,y) = T[(w,z)]transformação sobre as coordenadas
)2,2()],[(),( zwzwTyx w
z
x
y
Transformações Afins
• Realizam escalonamento, rotação, translação ou cisalhamento de um conjunto de pontos, dependendo da seguinte matriz T:
1t
0tt
0tt
1] z [w T 1] z [w 1]y x [
3231
2221
1211
t
Exemplo 1: Transformação identidade
z y
wx
100
010
001
T
Exemplo 2: Transformação de escalonamento
z
ws
s
T y
x
y
x
s y
s x
100
00
00
100
020
003
T
Exemplo 3: Transformação de rotação
cos seno y
seno-cos x
100
0cos
0cos
zw
zwseno
seno
T
100
045cos45
04545cos
00
00
seno
seno
T
Exemplo 4: Transformação de cisalhamento horizontal
z wx
100
01
001
zy
T
100
012
001
T
Exemplo 5: Transformação de cisalhamento vertical
z w
wx
100
010
01
yT
100
010
021
T
Exemplo 6: Transformação de translação
z
wx
1
010
001
y
x
yT
yx
11020
010
001
T
Transformações lineares conformes
• Transformações afins com preservação de formas e ângulos • Consiste de um fator de escala, de translação e ângulo de rotação
1
0cos s seno s-
0 scos
yx senos
T
Exemplo:
13020
045cos 0.5 45seno 0.5-
045 0.545cos 5.0 seno
T
• O mapeamento direto (w,z) (x,y) pode ser tal que pontos no novo espaço(x,y) podem não ter nenhum ponto do espaço (w,z) associado a eles, enquantooutros podem ser mapeados por vários pontos de (w,z).
Problemas:
Exemplo: Imagem 3x3
A B C
D E F
G H I0
0
origem
1 2
1
2
• Rotação de 45º (anti-horário):
22z)(w y
22z)-w(x
100
022
22
022
22
100
045cos45
04545cos
00
00
seno
seno
T
Ponto (w,z) (x,y) arredondamento
A (0,2) (-1,1) B (1,2) (-1,2)C (2,2) (0, 3)D (0,1) (-1,1)E (1,1) (0,1)F (2,1) (1,2)G (0,0) (0,0)H (1,0) (1,1)I (2,0) (1,1)
)2,2(
)223,22()22 ,0(
)22,22()2,0(
)223,22()0,0(
)22,22(
2) ,2(
(0,2) ???
A B C
D E F
G H I0
0
1 2
1
2
Mapeamento:
C
B ? F
A,D E H.I
G
0-1 1
0
1
2
3
T
Alternativa: transformação inversa
• Percorre-se os pontos (x,y) da nova imagem f, aplicando-se a transformação inversa e detectando-se, no espaço original g,os valores correspondentes da transformação.1T
(x,y)(w’,z’)
nova imagem f(x,y)1T
vizinho mais próximo de (w’,z’)
espaço original g(w,z)
• Um nível de cinza é atribuído a (x,y) dependendo do nível de cinza dos vizinhos de (w’, z’) interpolação
)','()],([),( 1 zwgyxTgyxf
A B C
D E F
G H I0
0
1 2
1
2
Mapeamento:
C
B ? F
A,D E H.I
G
0-1 1
0
1
2
3
T
Exemplo:
nova imagem f
espaço original g
?
?
T = rotação de 45º no sentido anti-horário
´)´,()],([),( 1 zwgyxTgyxf
= rotação de 45º no sentido horário
22x)-(y z´
22y)x(w´
100
022
22
022
22
100
045cos45
04545cos
00
00
1
seno
seno
T
Ponto de f Ponto inv. em g Ponto mais próximo nível de cinza(0,0) (0,0) (0,0) G(0,1) (1,1) E(0,2) (1,1) E(0,3) (2,2) C(1,1) (1,0) H(1,2) (2,1) F(-1,1) (0,1) D(-1,2) (1,2) B
)22,22()2,2(
)223,223()0,2(
)22,223()2,0(
)223,22(
interpolação de ordem zero
1T
C
B ? F
A,D E H.I
G
0-1 1
0
1
2
3
nova imagem f anterior
C
B E F
D E H
G
0-1 1
0
1
2
3
nova imagem f após transformação inversa
Interpolação bilinear
• Interpola um valor de nível de cinza na posição (w´,z´), ao invés de considerarapenas o valor do vizinho mais próximo nesta posição (interpolação de ordem zero).
Sejam w e z as partes inteiras de w’ e z’, tal que o ponto (w’, z’)é circundado por seus quatro pontos de coordenadas inteiras:
z' e 'w
),1(),(
)','(
)1,1()1,(
zwzw
zw
zwzw
Sejam as partes fracionárias de w’e z’ dadas por:
'' ww 1,0 ; '' zze
O nível de cinza atribuído ao ponto (x,y) na interpolação bilinear é dado por:
)1,1(),1()1()1,()1(),()1)(1( zwgzwgzwgzwg
),1(),(
)','(
)1,1()1,(
zwzw
zw
zwzw
(x,y)
f(x,y) = g(w’,z’) =
)1,1(),1()1()1,()1(),()1)(1( zwgzwgzwgzwg
),1(),(
)','(
)1,1()1,(
zwzw
zw
zwzw
(x,y)
Assim para:
• Se w’ é um inteiro 0 e (w’, z’) está no segmento de linha entre (w,z) e (w,z+1)
e o valor da interpolação é )1,(),()1( zwgzwg • Se z’ é um inteiro 0 e (w’,z’) é colinear com (w,z) e (w+1,z) e tem nível de
),1(),()1( zwgzwg cinza
• Se w’ e z’ são inteiros 0 e o ponto (w’, z’) = (x,y) tem nível de cinza g(w,z).
?
Ponto de f Ponto inv. em g Níveis viz. próximos nível de cinza(0,0) (0,0) 0,0 G G(0,1) 0.7,0.7 D,E,G,H 0.1G+0.2(D+H)+0.5E(0,2) 0.4,0.4 B,C,E,F 0.4E+0.2(B+F)+0.2C(0,3) 0.1,0.1 C,--,--,-- 0.8C(1,1) 0.4,0 H,I 0.6H+0.4I(1,2) 0.1,0.7 F,I,--,-- 0.3I+0.6F(-1,1) 0,0.4 D,A 0.6D+0.4A(-1,2) 0.7,0.1 A,B,--,-- 0.3A+0.6B
)22,22()2,2(
)223,223()0,2(
)22,223()2,0(
)223,22(
,
A B C
D E F
G H I0
0
1 2
1
2
espaço original gC
B E F
D E H
G
0-1 10
1
2
3
nova imagem f após transformação inversa
interpolação bilinear
interpolação de ordem zero
100
012.0
001
T
g f
T
Registro de Imagens
• Alinhamento de duas ou mais imagens da mesma cena
• Considera duas imagens: imagem de base ou referência e imagem de entrada
• O objetivo é alinhar a imagem de entrada com a imagem de base através de transformações espaciais aplicadas à imagem de entrada
seleciona-se pontos de controlenas duas imagens
Aplica-se uma função de transformação em função dos pontos de controle
e da imagem de entrada
entrada base
Registro de Imagens
image registrada(alinhada)
Pontos de controle
entrada base
(x’,y’) (x,y)
x’= r(x,y)y’= s(x,y)
A transformação projetiva mapeia quadriláteros para quadriláteros.
1cc
ccc
ccc
1]y [x h] z w[
63
852
741
e
h
wx '
h
zy ',
1'
87
321
ycxc
cycxcx
1'
87
654
ycxc
cycxcy
ou
,
Transformação espacial
Outro exemplo: Modelar a distorção da região do quadrilátero por equações bilineares do tipo:
4321),( cxycycxcyxr
8765),( cxycycxcyxs ou
4321' cxycycxcx
8765' cxycycxcy
Os coeficientes , representando o modelo da distorção geométricano quadrilátero, podem ser obtidos a partir do conhecimento dos 8 pontos de controle.
1,2,...8 i , ic
Um ponto (x,y), na imagem sem distorção, leva a um ponto (x’,y’) na imagem de entrada(com distorção). O valor do pixel f(x,y) na imagem sem distorção correponderá ao valorg(x’,y’) na imagem de entrada.
Exemplo 1:
Base Entrada
Pontos de controle
Entrada (distorcida) Registrada
Base Registrada
Superposição (base + registrada)
Exemplo 2: Registro baseado em correlação (template matching)
Casamento de padrão:
ts ts xy
ts xy
ftysxfwtsw
ftysxfwtswyx
, ,
22
,
]),([]),([
]),(][),([),(
Coeficiente de correlação:
Original Correlação
Registro:
Transformação T relativa à translação:
1
010
001
yx
T