Leaper Vision Toolkit
LCalibBoard Class Reference
Inheritance diagram for LCalibBoard:
ILCalibBoard ILObject

Additional Inherited Members

- Public Member Functions inherited from ILCalibBoard
LPVErrorCode Detect (ILImage *img, ILCalibPointPairs **pointPairs)
 
LPVErrorCode DetectInRegion (ILImage *img, ILRegion *region, ILCalibPointPairs **pointPairs)
 
double Evaluate (ILCalibPointPairs *pointPairs, LPVCalibOutlierRemovalPolicy policy)
 
LPVErrorCode GeneratePointPairs (ILPoints *imgPoints, ILCalibPointPairs **pointPairs)
 
- Public Member Functions inherited from ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 
- Properties inherited from ILCalibBoard
double BoardThickness [get, set]
 The thickness of the calibration board, in the same unit as SquareSize.
It will help compensate the calibration error due to mismatch of plane of calibration and detection, when using the Pinhole calibration model.
 
LPVCalibBoardType CalibBoardType [get, set]
 The type of the calibration board.
 
int GridHeight [get, set]
 The height for the calibration board's grid, at least 3.
Not needed for the distributed Charuco board, as it's embedded in the calibration pattern.
 
int GridWidth [get, set]
 The width for the calibration board's grid, at least 3.
Not needed for the distributed Charuco board, as it's embedded in the calibration pattern.
 
BOOL GuessPartialBlock [get, set]
 Whether to enable guessing and detection of the corners in partial blocks, for the distributed Charuco board. It results in more corner results, but those guessed ones may be less accurate. By default, it's on.
 
BOOL InvertBlock [get, set]
 Whether to invert the block. Turn it on when you invert the source image captured. By default, it's off.
 
double MarkerSize [get, set]
 The marker size for the distributed Charuco board, in the same unit as SquareSize.
By default, it's 0 means the marker size is 80% based on the square size.
 
LPVCalibOutlierRemovalPolicy OutlierPolicy [get, set]
 Policy for outlier removal and evaluation. By default, it's set to LPVCalibOutlierRemovalNone.
 
double OutlierSigma [get, set]
 It's used to form the relative threshold to determine a outlier point by adding OutlierSigma x std-deviation to the mean distance between a image point and its back-projected position (or fitting position, depends on OutlierPolicy). Point pairs with a longer distance than this value will be treated as out-liers then removed.
By default, it's set to 0, means bypass the out-lier removal via relative threshold.
 
double OutlierThreshold [get, set]
 The fixed distance threshold in pixel between a image point and its back-projected position (or fitting position, depends on OutlierPolicy). Point pairs with a longer distance than this value will be treated as out-liers then removed.
By default, it's set to 0.1px. Set it to 0 or negative, to bypass the out-lier removal via fixed threshold.
 
double SquareSize [get, set]
 The square size for the calibration board.
For the chessboard or distributed Charuco board, it means the size of a black square.
For the circle grid board, it means the distance between the two nearby circle dots' centers.
 
BOOL StartFromCetner [get, set]
 Whether the start point is moved to the center position of the grid. By default, it's not enabled and the top-left corner is treated as start point.
 
double StartX [get, set]
 The x-coordinate world position for the first start point of the board. It is usually the top-left corner of the grid, or the center position if StartFromCetner is enabled.
For circle grid board with empty mark, it's the world position of the origin point.
For distributed Charuco board, this setting does not take any effect, as the world positions are completely dependent on the local patterns.
 
double StartY [get, set]
 The y-coordinate world position for the first start point of the board. The start point is usually the top-left corner of the grid, or the center position if StartFromCetner is enabled.
.
 
double StepX [get, set]
 The horizontal step used to generate the output world positions, applied before SwapXY. It is the moving distance in world coordinates from the start point and the point right to it in the image grid. It should be positive for x axis towards right and negative for left.
 
double StepY [get, set]
 The vertical step used to generate the output world positions, applied before SwapXY. It is the moving distance in world coordinates from the start point and the point below it(in the next row) in the image grid. It should be positive for y axis towards down and negative for up.
 
BOOL SwapXY [get, set]
 Whether to swap the x/y coordinate of the output world positions.
 
BOOL UseFittingMethod [get, set]
 Whether to use fitting method for sub-pix pattern corner detection. By default, it's off.
For the chessboard or distributed Charuco board, it uses the line-fitting method to find the chessboard corners. For the circle grid or EM circle grid board, it uses the ellipse-fitting method to find the dots' centers.
 

Detailed Description

This class implements the interface ILCalibBoard, and is used to create an instance of calibration board.