Unit of objectPoints in solvePnP()

asked 2013-10-20 18:03:09 -0500

Dave gravatar image

updated 2013-10-20 18:06:34 -0500


I'm currently playing with OpenCV to build an AR application. I'm using the findChessboardCorners() function to detect the chessboard and then estimate the pose with solvePnP(). After this I display a 3D cube with OpenGL. The rotation and translation seem to be correct.

The problem right now is, that even though the translations are in the right direction, the distance is not correct. What I discovered is, that the size (distance between two points) of the objectPoints argument given to solvePnP() influences the results of solvePnP().

At the moment I have two things I don't understand:

  • What are the units of these object points?
  • How are they related to other numbers (world, image, intrinsics)?
  • How can I determine the correct size of a square on the chessboard (to build objectPoints)?

I hope you can give me some hints to point me in the right direction!

edit retag flag offensive close merge delete