Trabalho 2
MELHORANDO A IMAGEM
CAPTURADA
Gabriel Tavares Malizia Alves
Manuel
Creative WebCam Pro
640x480 (VGA) color CMOS Sensor
USB 1.1 Interface
Resultados
Partindo dos dados calculados no primeiro trabalho,
utilizando as correções descritas nesta apresentação e o
método de tentativa e erro, encontramos os seguintes
valores para a câmera utilizada:
(ox, oy) = (314, 251) (em coordenadas da tela)
m1 = -2.2 * 10-5 mm-2
m2 = -2.0 * 10-9 mm-4
f = 100.0 mm (escolhido)
sx = 0.129 mm/pixel
sy = 0.120 mm/pixel
Primeira Parte: Correção Radiométrica
Descrição:
Utilizando os dados obtidos na primeira experiência,
realizamos correções radiométricas em algumas imagens.
Sem correção
Com correção radiométrica
Sem correção
Com correção radiométrica
Sem correção
Com correção radiométrica
Sem correção
Com correção radiométrica
Quarta Parte: Correção Radial
Descrição:
No primeiro trabalho calculou-se k1=7,3•10-7. Porém
considerou-se a distância em pixel da tela. Na prática é a
mesma coisa que considerar sx e sy iguais.
Para gerar as novas imagens utilizou-se (ox,oy)=(285,210) e
(sx,sy)=(0.129 , 0.127). Obtivemos k1=4,5•10-7.
Os resultados mostram que um melhor k1 seria igual a 2,3•10-7.
(24, 15)
(319, 4)
(285,210)
(611, 13)
(620, 237)
(16, 238)
(24, 457)
(319, 471)
(610, 457)
(Ox , Oy ) = (285,210) , em pixel da imagem
(-261, 195)
(34, 208)
(326, 197)
(0,0)
(335, -27)
(-269, -28)
(-261, -247)
(34, -261)
(325, -247)
Nova distribuição das coordenadas
P1=(xim1,yim1)
P2=(xim2,yim2)
P3=(xim3,yim3)
Em P1:
xd = (xim1-ox)sx
yd = -(yim1-oy)sy
r12 = xd2 + yd2
Em P2:
xd = (xim2-ox)sx
yd = -(yim2-oy)sy
r22 = xd2 + yd2
Em P3:
xd = (xim3-ox)sx
yd = -(yim3-oy)sy
r32 = xd2 + yd2
x de P1 é igual a x de P2:
[(xim1-ox)sx](1+k1 r12+k2 r14) = [(xim2-ox)sx](1+k1 r22+k2 r24)
y de P1 é igual a y de P2:
[(yim1-oy)sy](1+k1 r12+k2 r14) = [(yim3-oy)sy](1+k1 r32+k2 r34)
Considerando k20
k1=5*10-5
k1=5*10-5
k1=4*10-5
k1=4*10-5
Valores médios de k1 nos pontos extremos
da imagem capturada
Sem correção
-5
=4,5•10
k1
Com correção
-5
=2,3•10
k1
Com correção
Sem correção
-5
=2,3•10
k1
Com correção
Sem correção
-5
=2,3•10
k1
Com correção
Esta experiência mostrou alguns problemas:
Consideramos k2 desprezível, porém a experiência mostra que
esta consideração é errada, pois no canto da tela , onde as
distâncias até o centro da imagem são muito grandes, k2 passa
a ter uma contribuição tão significativa quanto k1.
As equações descrevem como levar um pixel da imagem
original até sua posição na imagem sem distorção. Porém esta
seria a correção ideal para câmeras com distorção
“pincushion”. A maioria das câmeras tem distorção do tipo
barril.
Como podemos ver, se tentarmos mapear todos os pixels da
imagem com distorção em barril para a imagem sem distorção,
irá faltar pixels na imagem sem distorção, pois alguns pixels
irão cair em cima de outros.
A solução é fazer uma função inversa que, para cada pixel da
imagem sem distorção, pega o pixel correspondente na
imagem com distorção em barril.
x = xd (1+k1 r22+k2 r24)
y = yd (1+k1 r32+k2 r34)
xd = x (1+m1 r22+m2 r24)
yd = y (1+m1 r32+m2 r34)
Vale para ambos:
x = (xim - ox) sx
y = (yim - oy) sy
Os resultados obtidos mostram que m1 e m2 tem ordem de
grandeza compatíveis com k1 e k2, porém com o sinal trocado.
A seguir temos imagens com as correções radiométricas e
radias já com os valores encontrados e utilizados no resto do
curso, porém sem interpolação. Versão com interpolação pode
ser encontrada em qualquer aplicação desenvolvida para o
curso.
Sem correção
Com correção radiométrica e radial
Sem correção
Com correção radiométrica e radial
Download

trabalho2 - PUC-Rio