solvePnP not giving identity
Hi,
I'm trying to understand how solvePnP really works. I use a kinect camera to get SIFT keypoints and the corresponding 3D points. I give the 2D/3D couples to solvePnP and I expect it to give me the identity matrix as this is equivalent to stare at the same scene without moving.
Result : though the rotation part is the identity, I get a strange translation vector : [0.05, 0.1, 0.8]. These values seem too large, and I can't understand why the Z part is so big compared to the others.
Overall the result is wrong as I get a huge translation along Z.
Any idea as to why this happens ?
example code ? mock data ? please help us help you.
The whole problem was due to calibration issues. The kinect with factory calibration (rgb intrinsic and rgb/ir registration) has a huge reprojection error.