# SolvePnP or SolveP3P with known translation vector

**URL:** <https://forum.opencv.org/t/solvepnp-or-solvep3p-with-known-translation-vector/11247>\
**Category:** Uncategorized\
**Tags:** calib3d, solvepnp\
**Created:** [December 7, 2022, 3:02pm UTC](https://forum.opencv.org/t/solvepnp-or-solvep3p-with-known-translation-vector/11247 "2022-12-07T15:02:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tester3D](https://avatars.discourse-cdn.com/v4/letter/t/ed655f/32.png) [@Tester3D](https://forum.opencv.org/u/Tester3D)\
**Post date:** [December 7, 2022, 3:02pm UTC](https://forum.opencv.org/t/solvepnp-or-solvep3p-with-known-translation-vector/11247/1 "2022-12-07T15:02:46Z")

</div>

Hey, I am trying to reconstruct camera pose from N pairs of 3D-2D points.  
Camera is calibrated and I have intrinsic matrix + dist coefs.  
This works really good with SolvePnP which returns both translation and rotation vectors.  
However now I actually know the exact position of the camera in 3D world. What SolvePnP returns is usually close to this but still - I think it just doesn’t make sense to use it.  
I could use _useExtrinsicGuess_ and pass initial t\_vec but still it would just use this for optimization.  
Is there a way to provide translation vector so that only rotation would be calculated? I think it will be much more accurate. It is not possible in “pure” SolvePnP but maybe there are other direct methods?

Thx in advance!
