Leaper Vision Toolkit
Data Structures | Enumerations
LPVCalibLib Module Reference

LPV Calibration Library, provide classes for camera calibration. More...

Data Structures

interface  ILCalib
 This interface provide basic functionalities of the calibration object. More...
 
interface  ILCalibBoard
 This interface provide functionalities of the calibration board. More...
 
interface  ILCalibCustom
 This interface provide functionalities of the custom camera model. More...
 
interface  ILCalibFFD
 This interface provide functionalities of the FFD camera model. More...
 
interface  ILCalibNPoints
 This interface provide functionalities of the n-points camera model. More...
 
interface  ILCalibPinHole
 This interface provide functionalities of the pinhole camera model. More...
 
interface  ILCalibPointPairs
 This interface holds a collection of image and world point pairs. More...
 
interface  ILCalibRotation
 This interface provide functionalities of the rotation center calibration and alignment task. More...
 
interface  ILCameraArray
 This interface provide functionalities of camera array generation, calibration and image stitching. More...
 
interface  ILFlatField
 This interface provide functionalities of flat field calibration and correction. More...
 
class  LCalibBoard
 
class  LCalibCustom
 
class  LCalibFFD
 
class  LCalibNPoints
 
class  LCalibPinHole
 
class  LCalibPointPairs
 
class  LCalibRotation
 
class  LCameraArray
 
class  LFlatField
 

Enumerations

enum  LPVCalibBoardType {
  LPVChessBoard = 0 , LPVCircleGrid = 1 , LPVDistCharucoBoardLarge = 2 , LPVDistCharucoBoard = LPVDistCharucoBoardLarge ,
  LPVEMCircleGrid = 4 , LPVDistCharucoBoardMiddle = 6 , LPVDistCharucoBoardSmall = 7
}
 This enumeration represents the type of calibration board. More...
 
enum  LPVCalibModel { LPVCalibPinHole = 1 , LPVCalibNPoints = 2 , LPVCalibCustom = 3 , LPVCalibFFD = 4 }
 This enumeration represents the calibration model. More...
 
enum  LPVCalibOutlierRemovalPolicy {
  LPVCalibOutlierRemovalNone = -1 , LPVCalibOutlierRemovalByPHCalib = 0 , LPVCalibOutlierRemovalByLinearFitting = 1 , LPVCalibOutlierRemovalByParabolicFitting = 2 ,
  LPVCalibOutlierRemovalBy4PolyFitting = 4
}
 This enumeration represents the policy used in LCalibBoard for outlier removal and evaluation. More...
 
enum  LPVDistortionModel {
  LPVDistortionRadial = 0 , LPVDistortionRationalRadial = 1 , LPVDistortionThinPrism = 2 , LPVDistortionTangential = 4 ,
  LPVDistortionAll = LPVDistortionRadial + LPVDistortionRationalRadial + LPVDistortionThinPrism + LPVDistortionTangential
}
 This enumeration represents the distortion model used in pine-hole camera model, see ILCalibPinHole. You can combine multiple distortion models. More...
 
enum  LPVFixImageMode { LPVFixImageNone = 0 , LPVFixImageUndistort = 1 , LPVFixImageUndistortAndUntilt = 2 }
 This enumeration represents the mode to control image fixing after calibration. More...
 

Detailed Description

LPV Calibration Library, provide classes for camera calibration.

This library provides classes for camera calibration. To include the definitions of the library's classes, use the following directive:

Example Code

Enumeration Type Documentation

◆ LPVCalibBoardType

This enumeration represents the type of calibration board.

Enumerator
LPVChessBoard 

Use the classic chessboard calibration board.

LPVCircleGrid 

Use the classic symmetric circle grid calibration board.

LPVDistCharucoBoardLarge 

Use the distributed Charuco calibration board of large size, with at most 31 blocks and 12 corners per block horizontally and vertically, totally at most 372 possible x and y positions. Note: It is required to have at least one complete block in the calibration image.

LPVEMCircleGrid 

Use the circle grid calibration board with an empty mark indicating its axes' directions.

LPVDistCharucoBoardMiddle 

Use the distributed Charuco calibration board of middle size, with at most 11 blocks and 10 corners per block horizontally and vertically, totally at most 110 possible x and y positions. Note: It is required to have at least one complete block in the calibration image.

LPVDistCharucoBoardSmall 

Use the distributed Charuco calibration board of middle size, with at most 2 blocks and 8 corners per block horizontally and vertically, totally at most 110 possible x and y positions. Note: It is required to have at least one complete block in the calibration image.

◆ LPVCalibModel

This enumeration represents the calibration model.

Enumerator
LPVCalibPinHole 

Pinhole camera model (ILCalibPinHole), represented as intrinsic parameters(cx, cy, fx, fy) and extrinsic parameters(rotation and translation) with distortion.

LPVCalibNPoints 

N-Points model (ILCalibNPoints), using rigid/affine/homo transform matrix built from provided point pairs, with no distortion.

LPVCalibCustom 

Custom model (ILCalibCustom), using user-defined x/y scale, center and rotation, with no distortion.

LPVCalibFFD 

FFD model(ILCalibFFD), using free-form deformation, with any distortion indicated in position mapping.

◆ LPVCalibOutlierRemovalPolicy

This enumeration represents the policy used in LCalibBoard for outlier removal and evaluation.

Enumerator
LPVCalibOutlierRemovalNone 

No out-lier removal

LPVCalibOutlierRemovalByPHCalib 

Try camera calibration using pinhole camera model, using those point pairs. Evaluation error is calculated as the RMS back-projection error of those images points. Out-liers are removed based on the distances between the image points and their corresponding world points' back-projected position.

LPVCalibOutlierRemovalByLinearFitting 

Try to do linear fitting per row / column, using those point pairs. Evaluation error is calculated as the RMS fitting error of those fitting result. Out-liers are removed based on the distances between the image points and their fitting positions.

LPVCalibOutlierRemovalByParabolicFitting 

Try to do parabolic fitting per row / column, using those point pairs. Evaluation error is calculated as the RMS fitting error of those fitting result. Out-liers are removed based on the distances between the image points and their fitting positions.

LPVCalibOutlierRemovalBy4PolyFitting 

Try to do quadratic polynomial fitting per row / column, using those point pairs. Evaluation error is calculated as the RMS fitting error of those fitting result. Out-liers are removed based on the distances between the image points and their fitting positions.

◆ LPVDistortionModel

This enumeration represents the distortion model used in pine-hole camera model, see ILCalibPinHole. You can combine multiple distortion models.

Enumerator
LPVDistortionRadial 

Default setting, modeling the lens distortion as radial distortion, works for most cameras.

LPVDistortionRationalRadial 

Modeling the lens distortion as rational radial distortion, works for "fish-eye" camera or if you want very high precision.

LPVDistortionThinPrism 

Modeling the lens distortion as thin prism distortion, works for sensor and lens are not slightly parallel.

LPVDistortionTangential 

Modeling the lens distortion as slight tangential distortion, works for sensor and lens are decentering.

LPVDistortionAll 

Combination of all distortion models.

◆ LPVFixImageMode

This enumeration represents the mode to control image fixing after calibration.

Enumerator
LPVFixImageNone 

Do nothing, original image captured by camera is used

LPVFixImageUndistort 

Undistorted image is used.

LPVFixImageUndistortAndUntilt 

Undistorted, and then camera tilt is fixed.