Last Revision Date: 5/26/2014
By default, all Triclops library XYZ results are in the coordinate system of the reference (right) camera which is defined below:
- The origin of the system is the optical center of the lens of the reference camera.
- The X axis points to the right of the camera (from the camera's point of view - i.e. looking in the camera view direction).
- The Y axis points towards the ground.
- The Z axis points forward from the camera.
Note that the coordinate system is a virtual system and is not calibrated to the camera case. A good approximation to the coordinate system is to use the edges of the case as a directions of the axes and the center of the outside surface of the reference lens as the origin. However, if users require a more precise position of the coordinate system with respect to some other frame, they will need to perform their own optical registration.
Triclops API Functions Related to 3D Positions and Coordinate Frames
The use of the
triclopsRCDtoWorldXYZ commands allow users to modify the coordinate system to suit their needs.
Please note that you need to have the most recent Triclops and Digiclops for the following functions be available. See the downloads page for the latest version.
There is also a set of Triclops functions that use disparity information to
determine 3D positions in the camera coordinate frame:
If you want to change the coordinate frame for the XYZ positions there is a set of "World" functions:
These functions will perform a transformation between the camera frame and a user specified "world" coordinate frame and report the positions in that frame.
The functions to control the World coordinate frame are:
These allow you to set the transform (a 4x4 matrix – it is the user’s responsibility to ensure that the transform is truly homogenous). The
GetTriclopsToWorldTransformmethod will return the same matrix back to the user.
WriteTransformToFile method will allow the transform to be saved and
GetTransformFromFile allows the matrix to be loaded from a file. Once a correct transform is determined, the user can save and reuse it in future executions.
Users may also want to review the following functions for further information: