Leaper Vision Toolkit
中文 / English 2.x
结构体 | 枚举
LPVCalibLib 模块参考手册

LPV 相机标定模板,提供相机标定相关功能 更多...

结构体

interface  ILCalib
 该接口类为标定对象的基类,提供基本标定功能对应的接口。 更多...
 
interface  ILCalibBoard
 该接口提供标定板相关的功能。 更多...
 
interface  ILCalibCustom
 该接口对应一个自定义标定模型。 更多...
 
interface  ILCalibFFD
 该接口对应一个 FFD 相机标定模型。 更多...
 
interface  ILCalibNPoints
 该接口对应一个多点变换相机标定模型。 更多...
 
interface  ILCalibPinHole
 该接口对应一个小孔相机标定模型。 更多...
 
interface  ILCalibPointPairs
 该接口对应一组图像和物理点对的集合。 更多...
 
interface  ILCalibRotation
 该接口提供旋转中心标定和对位的功能。 更多...
 
interface  ILCameraArray
 该接口提供相机阵列生成、联合标定和图像拼接等功能。 更多...
 
interface  ILFlatField
 该接口提供平场标定和校正等功能。 更多...
 
class  LCalibBoard
 
class  LCalibCustom
 
class  LCalibFFD
 
class  LCalibNPoints
 
class  LCalibPinHole
 
class  LCalibPointPairs
 
class  LCalibRotation
 
class  LCameraArray
 
class  LFlatField
 

枚举

enum  LPVCalibBoardType {
  LPVChessBoard = 0 , LPVCircleGrid = 1 , LPVDistCharucoBoardLarge = 2 , LPVDistCharucoBoard = LPVDistCharucoBoardLarge ,
  LPVEMCircleGrid = 4 , LPVDistCharucoBoardMiddle = 6 , LPVDistCharucoBoardSmall = 7
}
 该枚举表示标定板的类型 更多...
 
enum  LPVCalibModel { LPVCalibPinHole = 1 , LPVCalibNPoints = 2 , LPVCalibCustom = 3 , LPVCalibFFD = 4 }
 该枚举表示相机标定模型 更多...
 
enum  LPVCalibOutlierRemovalPolicy {
  LPVCalibOutlierRemovalNone = -1 , LPVCalibOutlierRemovalByPHCalib = 0 , LPVCalibOutlierRemovalByLinearFitting = 1 , LPVCalibOutlierRemovalByParabolicFitting = 2 ,
  LPVCalibOutlierRemovalBy4PolyFitting = 4
}
 该枚举表示 LCalibBoard 用于坏点剔除和评价的策略 更多...
 
enum  LPVDistortionModel {
  LPVDistortionRadial = 0 , LPVDistortionRationalRadial = 1 , LPVDistortionThinPrism = 2 , LPVDistortionTangential = 4 ,
  LPVDistortionAll = LPVDistortionRadial + LPVDistortionRationalRadial + LPVDistortionThinPrism + LPVDistortionTangential
}
 该枚举表示小孔相机模型中使用的镜头畸变模型,查看 ILCalibPinHole. 可组合多个畸变模型。 更多...
 
enum  LPVFixImageMode { LPVFixImageNone = 0 , LPVFixImageUndistort = 1 , LPVFixImageUndistortAndUntilt = 2 }
 表示图像修正的模式 更多...
 

详细描述

LPV 相机标定模板,提供相机标定相关功能

该模块提供用于相机标定、坐标映射、畸变矫正等功能的算法类。使用该模块中的类和算法,需按照以下方式引用该模块:

示例代码

枚举类型说明

◆ LPVCalibBoardType

该枚举表示标定板的类型

枚举值
LPVChessBoard 

使用经典的棋盘格标定板

LPVCircleGrid 

使用经典的圆点阵标定板

LPVDistCharucoBoardLarge 

使用分散式二维码棋盘格标定板(大型), 横向和纵向分别支持最多 31 个标定块,每个标定块 12 个定位点,总计最多 372 个可能的 x 和 y 位置。 注意:标定图像中至少包含一个完整的标定块。如果视野无法满足,需使用更小尺寸的标定板。

LPVEMCircleGrid 

使用 EM 圆点阵标定板,带有用于指定坐标轴方向的空标记

LPVDistCharucoBoardMiddle 

使用分散式二维码棋盘格标定板(中型), 横向和纵向分别支持最多 11 个标定块,每个标定块 10 个定位点,总计最多 110 个可能的 x 和 y 位置。 注意:标定图像中至少包含一个完整的标定块。如果视野无法满足,需使用更小尺寸的标定板。

LPVDistCharucoBoardSmall 

使用分散式二维码棋盘格标定板(中型), 横向和纵向分别支持最多 2 个标定块,每个标定块 8 个定位点,总计最多 16 个可能的 x 和 y 位置。 注意:标定图像中至少包含一个完整的标定块。如果视野无法满足,需使用更小尺寸的标定板。

◆ LPVCalibModel

该枚举表示相机标定模型

枚举值
LPVCalibPinHole 

小孔相机模型(ILCalibPinHole),支持镜头畸变矫正, 使用相机的内参(cx, cy, fx, fy)和外参(旋转和平移矩阵)进行相机标定。

LPVCalibNPoints 

多点变换模型(ILCalibNPoints),使用硬变换/仿射变换/射影变换矩阵进行相机标定,需要提供多对图像和物理点对。不支持镜头畸变矫正。

LPVCalibCustom 

自定义模型(ILCalibCustom),使用用户输入的 x/y 缩放比例,中心位置和旋转。不支持镜头畸变矫正。

LPVCalibFFD 

FFD模型(ILCalibFFD),使用自由形变网格描述标定信息,坐标映射中隐含畸变矫正。

◆ LPVCalibOutlierRemovalPolicy

该枚举表示 LCalibBoard 用于坏点剔除和评价的策略

枚举值
LPVCalibOutlierRemovalNone 

不启用坏点剔除

LPVCalibOutlierRemovalByPHCalib 

尝试基于单帧点对进行小孔相机模型标定。 评价值按该标定结果下所有点对的反投影误差的 RMS 计算。 坏点剔除基于图像点与其对应物理点的反投影位置间的距离进行。

LPVCalibOutlierRemovalByLinearFitting 

尝试对每行每列的点分别进行线性拟合。 评价值为每行列拟合的 RMS 误差。 坏点剔除基于图像点与其拟合位置的距离进行。

LPVCalibOutlierRemovalByParabolicFitting 

尝试对每行每列的点分别进行抛物线拟合。 评价值为每行列拟合的 RMS 误差。 坏点剔除基于图像点与其拟合位置的距离进行。

LPVCalibOutlierRemovalBy4PolyFitting 

尝试对每行每列的点分别进行四次多项式拟合。 评价值为每行列拟合的 RMS 误差。 坏点剔除基于图像点与其拟合位置的距离进行。

◆ LPVDistortionModel

该枚举表示小孔相机模型中使用的镜头畸变模型,查看 ILCalibPinHole. 可组合多个畸变模型。

枚举值
LPVDistortionRadial 

径向畸变(默认),适用于大多数相机

LPVDistortionRationalRadial 

较大的径向畸变,适用于鱼眼镜头或较高的矫正精度要求

LPVDistortionThinPrism 

薄棱镜畸变,适用于不平行的传感器和镜头

LPVDistortionTangential 

轻微的切向畸变,适用于不同心的传感器和镜头

LPVDistortionAll 

组合所有畸变模型

◆ LPVFixImageMode

表示图像修正的模式

枚举值
LPVFixImageNone 

无修正,使用相机采集的原始图像

LPVFixImageUndistort 

修正镜头畸变

LPVFixImageUndistortAndUntilt 

修正镜头畸变和相机倾斜