# Revision history [back]

Sebastian,

#### 1. About finding the correct parameters

##### Focal length + Principal point:

A is called a camera matrix, or a matrix of intrinsic parameters. (cx, cy) is a principal point (that is usually at the image center), and fx, fy are the focal lengths expressed in pixel-related units. In "calibration_rgb.yaml" (for example), you can see the following lines:

camera_matrix:
rows: 3
cols: 3
data: [ 526.37013657, 0.00000000, 313.68782938, 0.00000000, 526.37013657, 259.01834898, 0.00000000, 0.00000000, 1.00000000 ]

##### Skew coefficient:

Skew coefficient: The skew coefficient defining the angle between the x and y pixel axes is stored in the scalar alpha_c. In your case, it should be 90 degrees or PI/2 radians.

##### Distortions:

Distortions: The image distortion coefficients (radial and tangential distortions) are stored in the 5x1 vector kc. In "calibration_rgb.yaml" (for example), you can see the following lines:

distortion_coefficients:
rows: 1
cols: 5
data: [ 0.18126525, -0.39866885, 0.00000000, 0.00000000, 0.00000000 ]


#### 2. About openni and factory calibration

I don't know this driver much. I once heard that it might be reading the factory calibration from the device but I cannot say if this is true or not.

When I check the file openni_camera/launch/openni_kinect.launch, I see that the openni_node needs calibration information contained in a yaml file. So I tend to believe that it reads it from a file, not directly from the device, but this is only an assumption:

<rosparam command="load" file="\$(find openni_camera)/info/openni_params.yaml" />


This is as far as my knowledge goes on the subject. For more information, you might want to explore the kinect and openni mailing lists.

I hope it helps,

Raph