You are here: Start » AVL.NET » AVL.CalibrateCamera_Telecentric

AVL.CalibrateCamera_Telecentric

Finds the telecentric camera intrinsic parameters from the input arrays of image and real-world coordinates. Uses telecentric camera model (affine camera).

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void CalibrateCamera_Telecentric
(
	AvlNet.Point3D[][] inObjectPoints,
	AvlNet.Point2D[][] inImagePoints,
	int inImageWidth,
	int inImageHeight,
	bool inUseRationalModel,
	bool inUseTangentialModel,
	bool inUseThinPrismModel,
	out AvlNet.Matrix outCameraMatrix,
	out AvlNet.LensDistortion outDistortion
)

Parameters

Name Type Range Default Description
inObjectPointsAvlNet.Point3D[][]Array, for each view: array of 3D points of the calibration pattern.
inImagePointsAvlNet.Point2D[][]Array, for each view: array of corresponding 2D points in the picture.
inImageWidthint<1, INF>Image width, only used to initialize camera matrix, not used when inInitialCameraMatrix present.
inImageHeightint<1, INF>Image height, only used to initialize camera matrix, not used when inInitialCameraMatrix present.
inUseRationalModelboolFalseEstimate radial denominator coefficients k4, k5, k6. Default value: False.
inUseTangentialModelboolTrueEstimate tangential distortion coefficients p1, p2. Default value: True.
inUseThinPrismModelboolTrueEstimate thin prism distortion coefficients s1, s2, s3, s4. Default value: True.
outCameraMatrixAvlNet.Matrix
outDistortionAvlNet.LensDistortion

Description

The coordinates of 3D object points and their corresponding 2D projections in each view must be specified. That may be achieved by using an object with a known geometry and easily detectable feature points. Such an object is called a calibration rig or calibration pattern. One example is a chessboard (see DetectChessboardGrid).

When camera matrix and distortion coefficients are calculated, one can create undistortion maps using CreateUndistortionMap function. These maps can be applied to images using RemapImage.

Performance of calibration can be measured by outError, which is a RMS of reprojection errors of all calibration points.

Errors

Error type Description
DomainError Empty input array
DomainError Input array sizes differ

See also