Trabalho 2 MELHORANDO A IMAGEM CAPTURADA Gabriel Tavares Malizia Alves Manuel
Trabalho 2
MELHORANDO A IMAGEM CAPTURADA
Gabriel Tavares Malizia Alves
Manuel
Creative WebCam Pro
640x480 (VGA) color CMOS Sensor
USB 1.1 Interface
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
Resultados
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çãoSem correção
Com correção radiométricaCom correção radiométrica
Sem correçãoSem correção
Com correção radiométricaCom correção radiométrica
Sem correçãoSem correção
Com correção radiométricaCom correção radiométrica
Sem correçãoSem correção
Com correção radiométricaCom 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)
(16, 238)
(24, 457)
(285,210)
(Ox , Oy ) = (285,210) , em pixel da imagem
(611, 13)
(620, 237)
(610, 457)(319, 471)
(319, 4)
(-261, 195)
(-269, -28)
(-261, -247)
(0,0)
(34, 208) (326, 197)
(335, -27)
(325, -247)(34, -261)
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 = xd
2 + yd2
Em P2:xd = (xim2-ox)sx
yd = -(yim2-oy)sy
r22 = xd
2 + yd2
Em P3:xd = (xim3-ox)sx
yd = -(yim3-oy)sy
r32 = xd
2 + yd2
x de P1 é igual a x de P2: [(xim1-ox)sx](1+k1 r1
2+k2 r14) = [(xim2-ox)sx](1+k1 r2
2+k2 r24)
y de P1 é igual a y de P2: [(yim1-oy)sy](1+k1 r1
2+k2 r14) = [(yim3-oy)sy](1+k1 r3
2+k2 r34)
Considerando k20
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çãoSem correção
kk11=4,5=4,5••1010-5-5
Com correçãoCom correção
kk11=2,3=2,3••1010-5-5
Com correçãoCom correção
Sem correçãoSem correção
kk11=2,3=2,3••1010-5-5
Com correçãoCom correção
Sem correçãoSem correção
kk11=2,3=2,3••1010-5-5
Com correçãoCom 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 r2
4)
y = yd (1+k1 r32+k2 r3
4)
Vale para ambos:
x = (xim - ox) sx
y = (yim - oy) sy
xd = x (1+m1 r22+m2 r2
4)
yd = y (1+m1 r32+m2 r3
4)
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çãoSem correção
Com correção radiométrica e radialCom correção radiométrica e radial
Sem correçãoSem correção
Com correção radiométrica e radialCom correção radiométrica e radial