CalibrateWorldPlane_Multigrid
Finds the image to world plane transformation parameters using multiple grids, using sparse world coordinate information.
Applications:Covers cases where a single grid spanning whole working area on a world plane is not feasible. Also useful when high accuracy is desired.
Syntax
C++
C#
Python
def CalibrateWorldPlane_Multigrid( inImageGrids: list[ list[AnnotatedPoint2D] ], inLabeledWorldPoints: list[ list[AnnotatedPoint2D] ], outTransform: RectificationTransform, /, *, inCameraModel: AnyCameraModel | None = None, inGridSpacing: float | None = None, inGridThickness: float = 0.0, inInvertedWorldY: bool = False ) -> ( outGridWorldPoints: list[ list[AnnotatedPoint2D] ], outComputedGridSpacing: float | None, outRmsImageError: float, outRmsWorldError: float, outMaxReprojectionErrors: list[float], outReprojectionErrorSegments: list[ list[Segment2D] ], outGridRotations: list[float], outGridTranslations: list[Vector2D] )
Parameters
| Name | Type | Range | Default | Description | |
|---|---|---|---|---|---|
![]() |
inImageGrids | list[ list[AnnotatedPoint2D] ] | Array of annotated calibration grids. | ||
![]() |
inLabeledWorldPoints | list[ list[AnnotatedPoint2D] ] | Sparse array of world coordinate points. Annotations need to correspond to those in the inImageGrid input. | ||
![]() |
inCameraModel | AnyCameraModel | None | None | For undistortion of inGridImagePoints. If not supplied, the filter will assume that grids came from undistorted images. | |
![]() |
inGridSpacing | float | None | 0.000001 - ![]() |
None | World distance between grid indices. Used when spacing cannot be computed from supplied inLabeledWorldPoints. |
![]() |
inGridThickness | float | 0.0 | The world plane will be shifted by given amount in direction perpendicular to the grid to compensate for grid thickness. | |
![]() |
inInvertedWorldY | bool | False | Set to true if world coordinate system has right-handed orientation, also known as mathematical or standard. | |
![]() |
outTransform | RectificationTransform | |||
![]() |
outGridWorldPoints | list[ list[AnnotatedPoint2D] ] | For each grid: Array of world coordinates of the calibration grid points. | ||
![]() |
outComputedGridSpacing | float | None | World distance between grid indices. NIL when there is no enough information to compute the spacing. | ||
![]() |
outRmsImageError | float | RMS reprojection error of inImageGrids onto the image plane, in pixels. This is a partial error characterizing inaccuracies in perspective estimation, excluding the influence of world point labeling. | ||
![]() |
outRmsWorldError | float | 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. | ||
![]() |
outMaxReprojectionErrors | list[float] | For each grid: Maximum reprojection error of inImageGrids onto the image plane, in pixels. This is a partial error characterizing inaccuracies in perspective estimation, excluding the influence of world point labeling. | ||
![]() |
outReprojectionErrorSegments | list[ list[Segment2D] ] | For each grid: Array of segments connecting inImageGrid points to their reprojections. Note that these segments depict only inaccuracies in perspective estimation, excluding inaccuracies due to the world point labeling. | ||
![]() |
outGridRotations | list[float] | Grids' rotations on the world plane. | ||
![]() |
outGridTranslations | list[Vector2D] | Grids' positions on the world plane. |



