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?

introduzca la descripción de la imagen aquí

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:

introduzca la descripción de la imagen aquí

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?

Author: Kevin Katzke, 2011-10-20

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.

 25
Author: Jav_Rock,
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