Back to Aurora Vision Library website

You are here: Start » Function Reference » Computer Vision » Camera Calibration » CalibrateWorldPlane_Multigrid_Deprecated

CalibrateWorldPlane_Multigrid_Deprecated


Header: AVL.h
Namespace: avl
Module: Calibration

Finds the image to world plane transformation matrix using multiple grids.

Applications: Image to world coordinates transformations.

Syntax

void avl::CalibrateWorldPlane_Multigrid_Deprecated
(
	const atl::Array<atl::Array<avl::Point2D> >& inGridImagePoints,
	const atl::Array<atl::Array<avl::Point2D> >& inGridIds,
	const atl::Array<atl::Array<avl::Point2D> >& inLabeledWorldPoints,
	const atl::Array<atl::Array<avl::Point2D> >& inLabeledGridIds,
	const atl::Optional<const avl::AnyCameraModel&>& inCameraModel,
	const atl::Optional<float>& inGridSpacing,
	bool inInvertedWorldY,
	avl::RectificationTransform& outTransform,
	atl::Optional< atl::Array<atl::Array<avl::Point2D> >& > outGridWorldPoints = atl::NIL,
	atl::Optional< atl::Conditional<float>& > outComputedGridSpacing = atl::NIL,
	atl::Optional< float& > outRmsImageError = atl::NIL,
	atl::Optional< float& > outRmsWorldError = atl::NIL,
	atl::Optional< atl::Array<float>& > outMaxReprojectionErrors = atl::NIL,
	atl::Optional< atl::Array<atl::Array<avl::Segment2D> >& > outReprojectionErrorSegments = atl::NIL,
	atl::Optional< atl::Array<float>& > outGridRotations = atl::NIL,
	atl::Optional< atl::Array<avl::Vector2D>& > outGridTranslations = atl::NIL
)

Parameters

Name Type Default Description
Input value inGridImagePoints const Array<Array<Point2D> >& For each grid: Array of 2D points of the calibration pattern, in the picture.
Input value inGridIds const Array<Array<Point2D> >& For each grid: Array of 2D indices of the calibration pattern, corresponding to the inGridImagePoints.
Input value inLabeledWorldPoints const Array<Array<Point2D> >& For each grid: Sparse array of world coordinate points.
Input value inLabeledGridIds const Array<Array<Point2D> >& For each grid: Array of 2D indices of the calibration pattern, corresponding to the inLabeledWorldPoints.
Input value inCameraModel const Optional<const AnyCameraModel&>& NIL For undistortion of inGridImagePoints. If not supplied, the filter will assume undistorted inGridImagePoints.
Input value inGridSpacing const Optional<float>& NIL World distance between grid indices. Used when spacing cannot be computed from supplied inLabeledWorldPoints.
Input value inInvertedWorldY bool False Set to true if the world coordinate system has inverted y axis.
Output value outTransform RectificationTransform&
Output value outGridWorldPoints OptionalArray<Array<Point2D> >& > NIL For each grid: Array of 2D points of the calibration pattern, in the world coordinate plane.
Output value outComputedGridSpacing OptionalConditional<float>& > NIL World distance between grid indices. NIL when there is no enough information to compute the spacing.
Output value outRmsImageError Optionalfloat& > NIL RMS reprojection error of inGridIds onto the image plane, in pixels. This is a partial error characterizing inaccuracies in perspective estimation, excluding the influence of world point labeling.
Output value outRmsWorldError Optionalfloat& > NIL RMS reprojection error of inLabeledGridIds onto the world plane, in world units. This is a partial error characterizing inaccuracies with labeling of world coordinate system, excluding perspective estimation.
Output value outMaxReprojectionErrors OptionalArray<float>& > NIL For each grid: Maximum reprojection error of inGridIds onto the image plane, in pixels. This is a partial error characterizing inaccuracies in perspective estimation, excluding the influence of world point labeling.
Output value outReprojectionErrorSegments OptionalArray<Array<Segment2D> >& > NIL For each grid: Array of segments connecting inGridImagePoints to reprojected inGridIds. Note that these segments depict only inaccuracies in perspective estimation, excluding inaccuracies due to the world point labeling.
Output value outGridRotations OptionalArray<float>& > NIL Grids' rotations on the world plane.
Output value outGridTranslations OptionalArray<Vector2D>& > NIL Grids' positions on the world plane.

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outGridWorldPoints, outComputedGridSpacing, outRmsImageError, outRmsWorldError, outMaxReprojectionErrors, outReprojectionErrorSegments, outGridRotations, outGridTranslations.

Read more about Optional Outputs.

Errors

List of possible exceptions:

Error type Description
DomainError Array inGridImagePoints and inGridIds sizes differ
DomainError Array inGridImagePoints and inLabeledGridIds sizes differ
DomainError Array inGridImagePoints and inLabeledWorldPoints sizes differ
DomainError size at index 0
DomainError size at index 0