This forum is disabled, please visit https://forum.opencv.org

1 | initial version |

The function **solvePnp** (or **solvePnPRansac**) consider that the 3D points given are in absolute world coordinates, thus it will return a rotation and translation matrix of the *extrinsic matrix* of the camera. That is, a matrix that will convert 3D world coordinates to 3D coordinates relative to the camera centre. If you compute the inverse of said matrix, you will have the camera transform matrix, which will state the camera rotation and translation in relation to the "world".

Note that the rotation is given in Euler angles, so you will need use **cv::Rodrigues** to convert it to a 3x3 rotation matrix. The extrinsic matrix is then a 4x4 matrix in the form

```
R00 R01 R02 T0
R10 R11 R12 T1
R20 R21 R22 T2
0 0 0 1
```

you can just use **cv::Mat::inv()** to compute the inverse.

Copyright OpenCV foundation, 2012-2018. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.