You are here: Start » AVL.NET » 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
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, out float outError )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() | inObjectPoints | AvlNet.Point3D[][] | Array, for each view: array of 3D points of the calibration pattern. | ||
![]() | inImagePoints | AvlNet.Point2D[][] | Array, for each view: array of corresponding 2D points in the picture. | ||
![]() | inImageWidth | int | <1, INF> | Image width, only used to initialize camera matrix, not used when inInitialCameraMatrix present. | |
![]() | inImageHeight | int | <1, INF> | Image height, only used to initialize camera matrix, not used when inInitialCameraMatrix present. | |
![]() | inUseRationalModel | bool | False | Estimate radial denominator coefficients k4, k5, k6. Default value: False. | |
![]() | inUseTangentialModel | bool | True | Estimate tangential distortion coefficients p1, p2. Default value: True. | |
![]() | inUseThinPrismModel | bool | True | Estimate thin prism distortion coefficients s1, s2, s3, s4. Default value: True. | |
![]() | outCameraMatrix | AvlNet.Matrix | |||
![]() | outDistortion | AvlNet.LensDistortion | |||
![]() | outError | float | 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 |