nn::camera::CTR::StereoCameraCalibrationData

nn::camera::CTR::StereoCameraCalibrationData Structure

Syntax

struct StereoCameraCalibrationData
{
   struct nn::camera::CTR::StereoCameraCalibrationData::Flags flags;
   f32 scale;
   f32 rotationZ;
   f32 translationX;
   f32 translationY;
   f32 rotationX;
   f32 rotationY;
   f32 angleOfViewRight;
   f32 angleOfViewLeft;
   f32 distanceToChart;
   f32 distanceCameras;
   s16 imageWidth;
   s16 imageHeight;
   u8 reserved[16];
};

Description

A structure that gives calibration information for the stereo cameras.

The left and right cameras are designed to be placed horizontally on the CTR system, 35 mm apart, but small errors in the precision of the camera placement occur during manufacturing. These placement errors cause the left and right camera images to be shifted relative to each other. This structure gives information used to correct discrepancies between the left and right images.

The correction values scale, rotationZ, translationX, and translationY give the scale, optical axis rotation, and translation, respectively, to make the left camera image match the right camera image. You could also say that this is the amount by which the right image has been shifted from the left image.

Given that the cameras are only separated from the measurement chart by distanceToChart and the image size is imageWidth by imageHeight, the horizontal and vertical translations of the left and right images on the measurement chart are indicated by translationX and translationY, respectively. The values of translationX and translationY include shifts in the images caused when the optical axis is tilted horizontally and vertically. In addition to the horizontal image shift caused by errors in the left and right camera placement, translationX includes the parallax caused by the separation of the left and right cameras.

The rotationX and rotationY regions are reserved for storing the rotations about the horizontal and vertical axes necessary to make the left camera image match the right camera image. In the future, flags.isValidRotationXY will be true when the measured values are stored in rotationX and rotationY. When flags.isValidRotationXY is false, rotationX and rotationY are set to default data instead of the measured values.

Structures

nn::camera::CTR::StereoCameraCalibrationData::Flags A flag used to distinguish between the current format and new formats when they are extended in the future.

Member Variables

Extended information
flags struct nn::camera::CTR::StereoCameraCalibrationData::Flags A flag used to distinguish between the current format and new formats when they are extended in the future.
Corrected Value
scale f32  The scale value required to make the left camera image match the right camera image. This is a value greater than 0.0 and less than or equal to 1.0.
rotationZ f32 The rotation about the optical axis required to make the left camera image match the right camera image. This is measured in degrees.
translationX f32 The horizontal translation required to make the left camera image line up with the right camera image on the measurement chart. This is measured in pixels.
translationY f32 The vertical translation required to make the left camera image line up with the right camera image on the measurement chart. This is measured in pixels.
rotationX f32 A reserved region for future extensions.
rotationY f32 A reserved region for future extensions.
angleOfViewRight f32 The diagonal angle of view for the right camera. This is measured in degrees.
angleOfViewLeft f32 The diagonal angle of view for the left camera. This is measured in degrees.
Measurement Conditions for Correction Values
distanceToChart f32 The distance between the cameras and the measurement chart. This is measured in millimeters. It has a fixed value of 250.0f.
distanceCameras f32 The planned distance between the left and right cameras. This is measured in millimeters. It has a fixed value of 35.0f.
imageWidth s16 The width of the image captured when taking a measurement. This is measured in pixels. It has a fixed value of 640.
imageHeight s16 The height of the image captured when taking a measurement. This is measured in pixels. It has a fixed value of 480.
Other Functions
reserved u8 A reserved region for future extensions.

Revision History

2010/05/01
Initial version.

CONFIDENTIAL