Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Using solvePnP with fixed center of rotation

We're using solvePnP to determine the attitude of an object with its center of rotation fixed relative to the camera (object has some aruco markers on it). And I know for a fact that coordinates of the center of the object are constant. Those coordinates are in tvec returned from solvePnP. I just need the object's rotation rvec, but solvePnP doesn't seem to provide a way to tell it that there's no need to optimize tvec because I already know it. The optimization process would have been easier, faster and most importantly more accurate if we had a way to do that, but judging by the code of cvFindExtrinsicCameraParams2 function it's not the case. At least not for SOLVEPNP_ITERATIVE algorithm that we're using.

So is there a way to use solvePnP to only optimize rotation if I already know tvec? I know that I can provide it as initial guess, but I want to exclude it from optimization altogether.