Back to Aurora Vision Library website

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

CalibrateWorldPlane_Labeled_Deprecated


Header: AVL.h
Namespace: avl
Module: Calibration

Finds the image to world plane transformation matrix using sparse world coordinate information.

Applications: Image to world coordinates transformations.

Syntax

void avl::CalibrateWorldPlane_Labeled_Deprecated
(
	const atl::Array<avl::Point2D>& inGridImagePoints,
	const atl::Array<avl::Point2D>& inGridIds,
	const atl::Array<avl::Point2D>& inLabeledWorldPoints,
	const 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<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< float& > outMaxReprojectionError = atl::NIL,
	atl::Optional< atl::Array<avl::Segment2D>& > outReprojectionErrorSegments = atl::NIL
)

Parameters

Name Type Default Description
Input value inGridImagePoints const Array<Point2D>& Array of 2D points of the calibration pattern, in the picture.
Input value inGridIds const Array<Point2D>& Array of 2D indices of the calibration pattern, corresponding to the inGridImagePoints.
Input value inLabeledWorldPoints const Array<Point2D>& Sparse array of world coordinate points.
Input value inLabeledGridIds const Array<Point2D>& 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<Point2D>& > NIL 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 outMaxReprojectionError Optionalfloat& > NIL 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<Segment2D>& > NIL 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.

Optional Outputs

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

Read more about Optional Outputs.

Errors

List of possible exceptions:

Error type Description
DomainError Array inGridImagePoints and inGridIds sizes differ
DomainError Array inLabeledWorldPoints and inLabeledGridIds sizes differ