Skip to main content

Standard Camera Calibrations

The Camera calibration format is based on OpenCVs format and this paper. The different camera types supported are: PINHOLE, FISHEYE, KANNALA, PRINCIPALPOINTDIST, and FUSEDCYLINDRICAL. If your calibration model is not supported, you can also provide a custom camera calibration where you provide the implementation in the form of a WebAssembly module.

Camera Calibrations commonality

Common

All camera calibrations have the following attributes

KeyValueParameters
rotation_quaternionA RotationQuaternion objectw, x, y, z
positionA Position objectx, y, z
camera_matrixA CameraMatrix objectfx, fy, cx, cy
image_widthIntegerNA
image_heightIntegerNA
field_of_viewFloatNA

Pinhole

The PINHOLE camera model expands the common model with:

KeyValueParameters
distortion_coefficientsA DistortionCoefficients objectk1, k2, p1, p2, k3
examples/calibration/create_pinhole_calibration.py
loading...

Fisheye

The Fisheye camera model expands the PINHOLE model with the following

KeyValueParameters
xiFloatNA
examples/calibration/create_fisheye_calibration.py
loading...

Kannala

The KANNALA camera model changes and expands the PINHOLE with the following

KeyValueParameters
distortion_coefficientsA KannalaDistortionCoefficients object. The distortion parameters k3, k4, if available, can be assigned to p1 and p2 respectively. That is p1=k3 and p2=k4.k1, k2, p1, p2
undistortion_coefficientsA UndistortionCoefficients object.l1, l2, l3, l4
examples/calibration/create_kannala_calibration.py
loading...

Principal point distortion

The principal point distortion model consists of the common attributes plus

KeyValueParameters
principal_point_distortion_coefficientsA PrincipalPointDistortionCoefficients objectk1, k2
lens_projection_coefficients (optional. Default to values for model SF806)A LensProjectionCoefficients objectc1, c2,c3, c4,c5, c6
distortion_centerA DistortionCenter objectx, y
principal_pointA PrincipalPoint objectx, y
examples/calibration/create_principal_point_distortion_calibration.py
loading...

Fused cylindrical

The fused cylindrical model consists of the common attributes plus

KeyValueParameters
cut_angles_degreeA CutAngles object. Note these angles should be expressed in degrees.upper, lower
vertical_fov_degree (optional. Default 72.5 degrees)Float. Note this angle should be expressed in degrees.NA
horizontal_fov_degree (optional. Default 93 degrees)Float. Note this angle should be expressed in degrees.NA
max_altitude_angle_degree (optional. Default 90 degrees)Float. Note this angle should be expressed in degrees.NA
examples/calibration/create_fused_cylindrical_calibration.py
loading...

Cylindrical

The cylindrical model consists only of the common attributes. There are no extra attributes to set for this model.

examples/calibration/create_cylindrical_calibration.py
loading...

Principal point fisheye

The principal point fisheye model consists of the common attributes plus

KeyValueParameters
principal_point_fisheye_coefficientsA PrincipalPointFisheyeCoefficients objectalpha_l, alpha_r, beta_u, beta_l
examples/calibration/create_principal_point_fisheye_calibration.py
loading...