Hello,
I experiment on a project. I use SolvePnP to find rotation vector on an object. Since the values are hard to understand, I used 3D software to define specific values that I am trying to find with OpenCV.
I've got a plane in the center on my scene. I apply rotations on X, Y or Z.
In example bellow, rotations are defined on :
x=30°
y=0°
z=30°
I've got good values for focalLength, fov, etc.
As you can see, the cv2.projectPoints works perfectly on my image.
When I call SolvePnP, the rvecs returns strange values.
For rotation X, I've got 28.939°
For rotation X, I've got 7.916°
For rotation Z, I've got 29.02031°
So when I try to map a plane with WebGL, I've got the result on image bellow (red plane)
So here is my question.
Why SolvePnP doesn't return x:30°, y:0° and z:30° !
It's very strange no ???
Do I have to use Rodrigues somewhere? If yes, how ?
Is there a lack of precision somewhere?
Thanks Loïc