33 votos

Cómo encontrar la posición de la cámara y de la rotación de una matriz de 4x4?

Para encontrar el valor intrínseco y extrínseco de los parámetros de I calibrado y el software me dio los parámetros extrínsecos como una matriz 4 x 4. Este parece ser un 4x4 matriz de transformación homogénea.

Los valores son como sigue

$$ \left( \begin{array} 0.211 & -.306 & -.928 & .789 \\ .662 & .742 & -.0947 & .147 \\ .718 & -.595 & .360 & 3.26 \\ 0 & 0 &0 & 1 \\ \end{array} \right) $$ También tengo los parámetros intrínsecos de la cámara como de la longitud focal, punto principal, sesgar, coeficientes de distorsión, etc.

¿Cómo puedo extraer la posición de la cámara y la rotación en el mundo de la co-coordina el uso de esta matriz?

EDITAR:

cam image

En la izquierda me han demostrado una cam y su visualización de un objeto en 3d, y me tome una foto de este objeto 3D a partir de la cam. El derecho es lo que quiero. Quiero conseguir el mundial de posición/rotación de la leva y el mundo la posición de la rotación y el tamaño real de la imagen en el espacio 3d.

30voto

Rob Dickerson Puntos 758

Asumiendo que la matriz es un extrínseca parámetro de la matriz de la clase descrita en el artículo de la Wikipedia, es una asignación de coordenadas universales a coordenadas de la cámara. Así que, para encontrar la posición $C$ de la cámara, se resuelve

$$\begin{align*}0 &= RC + T\\ C &= -R^T T \approx (-2.604, 2.072, -0.427).\end{align*}$$

La orientación de la cámara se da simplemente por $R^T.$ Así que si el "en" el eje es el eje z, por ejemplo, entonces el vector que apunta en la dirección en que apunta la cámara está

$$R^T \left[\begin{array}{c}0\\0\\1\end{array}\right] = (0.718, -0.595, 0.36).$$

6voto

Ashlocke Puntos 478

No estoy lo suficientemente familiarizado con este dominio para saber lo que las convenciones son, pero me puede dar algo de contexto general.

Un $4 \times 4$ homogéneo de la cámara de la matriz de transformaciones de coordenadas de espacio en el mundo para el espacio de la cámara. Al parecer, esta matriz hace no incluir una perspectiva de proyección, por lo que realmente estamos hablando de una transformación afín. La matriz puede decir donde la cámara se encuentra en el espacio en el mundo y en qué dirección está apuntando, pero no te puedo decir otra cosa-que necesita de otros parámetros de la cámara para que.

Porque estamos hablando de una transformación de aquí, tenemos convenios para hablarnos de la cámara. Los convenios que estoy acostumbrado a que el espacio de la cámara, la cámara se encuentra en el origen, y ha ejes que se parecen a esto:

camera axes

En otras palabras, la cámara está mirando a lo largo del eje Z positivo, y el eje y hacia arriba. En este sistema, usted puede transformar el vector $\left[0, 0, 1\right]$ por la transformación inversa para llegar a la cámara de visión del vector en el espacio del mundo, y el punto de $\left[0, 0, 0\right]$ para obtener la posición de la cámara en el espacio del mundo.

La forma general de esto es que la posición de la cámara es $M^{-1} \, \left[\begin{array}{c} 0 \\ 0 \\ 0 \\ 1 \end{array} \right]$ y la cámara de visión del vector es $M^{-1} \, \left[\begin{array}{c} 0 \\ 0 \\ 1 \\ 0 \end{array} \right]$, pero si usted tiene una matriz que parece

$$\left[\begin{array}{cccc}\phantom{M}&&&\ \\ & R & & T \\ &&& \\ 0 & 0 & 0 & 1 \end{array} \right]$$

donde $R$ $3 \times 3$ matriz y $T$ es un vector, entonces la posición de la cámara es sólo $-R^T T$ y de visión de la cámara en dirección a es $R^T \, \left[\begin{array}{c} 0 \\ 0 \\ 1 \end{array} \right]$.

Esto le dice a usted tanto como usted puede conseguir posiblemente de la matriz. Todo lo demás depende de las otras propiedades de la cámara.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X