Back to Adaptive Vision Library website

You are here: Start » Function Reference » Camera Calibration » CalibrateCamera_Telecentric

CalibrateCamera_Telecentric


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

Header:AVL.h

Syntax

C++
C#
 
void avl::CalibrateCamera_Telecentric
(
	const atl::Array<atl::Array<avl::Point3D> >& inObjectPoints,
	const atl::Array<atl::Array<avl::Point2D> >& inImagePoints,
	int inImageWidth,
	int inImageHeight,
	bool inUseRationalModel,
	bool inUseTangentialModel,
	bool inUseThinPrismModel,
	avl::Matrix& outCameraMatrix,
	avl::LensDistortion& outDistortion,
	atl::Optional<float&> outError = atl::NIL
)

Parameters

Name Type Range Default Description
inObjectPoints const Array<Array<Point3D> >& Array, for each view: array of 3D points of the calibration pattern.
inImagePoints const Array<Array<Point2D> >& Array, for each view: array of corresponding 2D points in the picture.
inImageWidth int 1 - Image width, only used to initialize camera matrix, not used when inInitialCameraMatrix present.
inImageHeight int 1 - Image height, only used to initialize camera matrix, not used when inInitialCameraMatrix present.
inUseRationalModel bool False Estimate radial denominator coefficients k4, k5, k6
inUseTangentialModel bool True Estimate tangential distortion coefficients p1, p2
inUseThinPrismModel bool True Estimate thin prism distortion coefficients s1, s2, s3, s4
outCameraMatrix Matrix&
outDistortion LensDistortion&
outError Optional<float&> NIL Final reprojection RMS error

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

  • AnnotateGridPoints – Select a subset of the given points that forms a grid and assign world plane coordinates to them.
  • CreateUndistortionMap – Computes a spatial transform map for undistorting images from a calibrated camera.
  • DetectChessboardGrid – Detects a chessboard on the image, and returns the points where 4 chessboard squares meet.