What are tvecs and rvecs?
When obtaining the camera calibration parameters using calibrateCamera
I get back two C++ vectors of matrices tvecs
and rvecs
. It seems that these are the extrinsic parameters of the camera, i.e. the parameters that describe the location and rotation of the camera. If I'm understanding it correctly, the rotation matrix rotates the scene so that the optical axis of the camera is aligned parallel to the Z-axis and the translation vector then moves the scene by the negative camera position vector, so that it is located at the origin. Am I understanding this correctly?
Bonus question: Is it possible to reproject (u, v) points from the camera image back to world coordinates? It seems to be impossible in the general case because cameraMatrix
performs a central projection so that the depth information is lost.
Up :) I'd like to understand too. I get these via Arucos however I don't see what it refers to. To my understanding :
However it seems that I'm missing something there. When I print the values of rvecs with :
Well it seems that values are correlated...
Yes, I think you are correct. Also, no: you cannot reproject from camera to world space exactly because z is lost. Given the plane z coordinate, then you can map from camera to world space.