Obtenga coordenadas 3D del píxel de imagen 2D si se conocen parámetros extrínsecos e intrínsecos
Estoy haciendo calibración de cámara desde tsai algo. Tengo matriz intrensica y extrínseca, pero ¿cómo puedo reconstruir las coordenadas 3D a partir de esa anomalía?
1) Puedo usar la eliminación gaussiana para encontrar X, Y, Z, W y luego los puntos serán X/W , Y/W , Z / W como sistema homogéneo.
2) puedo usar el
Documentación OpenCV enfoque:
Como yo sé u
, v
, R
, t
, puedo calcular X,Y,Z
.
Sin embargo, ambos métodos terminan en resultados diferentes que no son correctos.
¿Qué estoy haciendo mal?
1 answers
Si tienes parámetros extrínsecos entonces tienes todo. Eso significa que usted puede tener Homografía de la extrínseca (también llamada CameraPose). Pose es una matriz de 3x4, homografía es una matriz de 3x3, H definida como
H = K*[r1, r2, t], //eqn 8.1, Hartley and Zisserman
Con K siendo la cámara intrínseca de la matriz, r1 y r2 siendo las dos primeras columnas de la matriz de rotación, R; t es el vector de translación.
Luego normaliza dividiendo todo por t3.
¿Qué pasa con la columna r3, no la usamos? No, porque es redundante ya que es el producto cruzado de las 2 primeras columnas de pose.
Ahora que tienes homografía, proyecta los puntos. Sus puntos 2d son x, y. Añádalos a z=1, por lo que ahora son 3d. Proyéctelos de la siguiente manera:
p = [x y 1];
projection = H * p; //project
projnorm = projection / p(z); //normalize
Espero que esto ayude.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-18 22:54:45