29

Estoy haciendo la calibración de la cámara desde tsai algo. Obtuve una matriz intrínseca y extrínseca, pero ¿cómo puedo reconstruir las coordenadas 3D de esa información?Obtener coordenadas 3D del píxel de la imagen 2D si se conocen parámetros extrínsecos e intrínsecos

enter image description here

1) puedo usar Gaussian Eliminación de hallazgo X, Y, Z, W y luego puntos habrá X/W, Y/W, Z/W sistema como homogénea.

2) puedo usar el enfoque OpenCV documentation:

enter image description here

que 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?

+0

Muy buena respuesta, por favor, si esa respuesta ayuda, marque como correcta – vgonisanz

Respuesta

25

Si tiene parámetros extrínsecos, entonces tiene todo. Eso significa que puede obtener una Homografía de los extrínsecos (también llamada CameraPose). Pose es una matriz 3x4, homografía es una matriz 3x3, H define como

    H = K*[r1, r2, t],  //eqn 8.1, Hartley and Zisserman 

con K siendo la matriz intrínseca cámara, r1 y r2 siendo las dos primeras columnas de la matriz de rotación , R; t es el vector de traducción.

Luego, normalice dividiendo todo por t3.

¿Qué sucede con la columna r3, no lo usamos? No, porque es redundante ya que es el producto cruzado de las 2 primeras columnas de pose.

Ahora que tiene homografía, proyecte los puntos. Tus puntos 2d son x, y. Agréguelos z = 1, entonces ahora son 3d. Proyecto de la siguiente manera:

 p   = [x y 1]; 
     projection = H * p;     //project 
     projnorm = projection/p(z);  //normalize 

Espero que esto ayude.

+2

¿Podría ser que usted haya escrito las columnas incorrectamente? ¿Quizás quiso decir columna (r12 r22 r32) y (r13 r23 y r33) en su lugar? – EliteTUM

+3

Corregí las columnas –

+1

¿No está suponiendo aquí que la pose es relativa a z == 0? Es posible que desee especificar eso. La tercera columna de la pose solo es redundante si las coordenadas entrantes siempre tienen z == 0. – Hammer

Cuestiones relacionadas