Skip to content

Extrinsic Transformation#

The Extrinsic Transformation feature allows you to transform the pose of a blaze camera, i.e., the position and orientation of the camera's coordinate system.

This is useful if you want to transform the camera's output data into a coordinate system that fits your application.

Using the Feature#

How It Works#

The position and orientation of a blaze camera's coordinate system is fixed. Its origin is the optical center of the camera, with the z axis pointing away from the camera. This coordinate system is called the anchor coordinate system.

The blaze camera allows you to transform the anchor coordinate system into a transformed coordinate system as required by your application.

Transformations use Cartesian coordinates in the x, y, z notation. The transformation values define the transformation from the anchor to the transformed coordinate system.

The first image below shows a depth map colored based on the distances in the anchor coordinate system. The second image shows a depth map based on the distances in the transformed coordinate system.

The transformed coordinate system is chosen so that the z axis is perpendicular to the surface on which the boxes are placed. That way, the boxes all have the same z value.

Depth Map Based on the Anchor Coordinate System

Depth Map Based on the Transformed Coordinate System

Another use case is to simplify the matching and fusion of data from multiple cameras by transforming their individual coordinate systems into a common coordinate system.

The transformation from the anchor to the transformed coordinate system is done by performing a rotation and then a translation.

The rotation is defined by the rotation angles around the x, y, and z axes. The translation is defined by the displacement ThX, ThY, ThZ to the new origin.

The coordinate transformation is therefore defined by a total of six parameters.

The effect of the transformation differs depending on the component:

Component Effect of the Transformation
Range For point clouds, i.e., the PixelFormat is set to Coord3D_ABC32f, the transformation is applied completely.
For depth maps, i.e., the PixelFormat is set to Coord3D_C16 or Mono16, the transformation is not applied.
Intensity Not applied.
Confidence Not applied.

Performing an Extrinsic Transformation#

  1. Set the Scan3dCoordinateSystemReference parameter to Transformed.
  2. Set the Scan3dCoordinateTransformSelector parameter to the desired transform value.

    Use the TranslationX/Y/Z values for tranlastion and the RotationX/Y/Z values for rotation.

  3. Set the Scan3dTransformValue parameter to the desired value.

    The value for translations is expressed in the distance unit of the system. The value for rotations is expressed in degrees.