OpenCV Rodrigues And RVECS

Based On my understanding

RVECS - Provide the axis angle representation lets say of the object in the world coordinate system.In short they provide rotation of an angle about an arbitrary axis passing through the origin.

Now when I call cv::Rodrigues opencv docs say rvecs are converted into rotation matrices, but are these rotation matrices are they in X,Y,Z plane ? I.e Is the rodrigues rotation matrix chain of the
Rx = [1 0 0][0 cosx -sinx] [0 sinx cosx]

,similary RY and RZ is the rodrigues given rotation matrix of rvec a chaining of such form?

Rodrigues() gives you one rotation matrix. it rotates around the rvec, by the angle that is equal to the vector’s length.

no Euler angles are involved.

So I could use any one representation to get roll,pitch and yaw
Using the conventions in the below image

I use the below function to get the rvecs cv::solvePnP(objectPoints,markerCorners.at(i),matrixCoefficients,distortionCoefficients,rvec,tvec,false,cv::SOLVEPNP_IPPE_SQUARE);

The issue is my x rvec sometimes fluctuates between -3 and +3 due to this sign change my final calculations are being affected. What could be the issue or solution for this?