文章目录
- 算子
- 单相机标定
- 单相机标定畸变的矫正
算子
gen_caltab 生成标定文件
gen_caltab(::XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile :) 算子来制作一个标定板
XNum 每行黑色标志圆点的数量。
YNum 每列黑色标志圆点的数量。
MarkDist 两个就近黑色圆点中心之间的距离。单位是meter
DiameterRatio 黑色圆点直径与两圆点中心距离的比值。
CalTabDescrFile 标定板描述文件的文件路径(.descr),是保存文件的路径
CalTabPSFile 标定板图像文件的文件路径(.ps)
image_points_to_world_plane 图像坐标转换为世界坐标
image_points_to_world_plane( : : CameraParam, WorldPose, Rows, Cols, Scale : X, Y)
CameraParam (input_control): 内部相机参数。
WorldPose (input_control): 相机坐标系中世界坐标系的3D姿态。
Rows (input_control): 需要进行转换的点的行坐标。
Cols (input_control): 需要进行转换的点的列坐标。
Scale (input_control): 比例尺或尺寸,有多种可选单位。
X (output_control): 世界坐标系中点的X坐标。
Y (output_control): 世界坐标系中点的Y坐标。
change_radial_distortion_cam_par 矫正相机参数
change_radial_distortion_cam_par( : : Mode, CamParamIn, DistortionCoeffs : CamParamOut)
Mode (input_control): 模式选择,用于指定相机操作模式。默认adaptive
CamParamIn (input_control): 原始的内部相机参数。
DistortionCoeffs (input_control): 期望的径向畸变参数,可能包含1个或5个元素。默认:0
CamParamOut (output_control): 修改后的内部相机参数。
gen_radial_distortion_map 形成矫正映射
gen_radial_distortion_map( : Map : CamParamIn, CamParamOut, MapType : )
Map (output_object): 包含映射数据的图像对象。
CamParamIn (input_control): 旧的相机参数。
CamParamOut (input_control): 新的相机参数。
MapType (input_control): 映射类型,指定映射过程中使用的插值方式。 默认为:bilinear
map_image 矫正映射到图片
map_image(Image, Map : ImageMapped : : )
Image (input_object): 待映射的图像对象。
Map (input_object): 包含映射数据的图像对象。
ImageMapped (output_object): 映射后的图像对象。
单相机标定
生成标定板
生成的标定板文件
> 选择自动检测接口
点击实时图像就可以看到标定板参数
> 点击采集(采集 16-20 张图片即可,检测出品质问题也是可以的,只有失败才不能用)
各个角度都需要采集
设置参考位置可以设置为第一张图片,之后点击标定
品质问题百分数越低越好
采集完成后点击标定,标定好之后可以查看结果
相机参数为内参(内参直接决定畸变情况和像素和物理坐标之间的关系),摄像机位姿为外参,点击保存
> 生成模式选择为:标定函数 点击插入代码
> 标定文件选择为内外参数,并且实时采集图片
> 进行测量即可
单相机标定畸变的矫正
相机畸变↓
> 标定数据完成后,生成模式选择标定数据点击插入代码就可以获取相机的内外参数
点击采集助手,实时采集,生成代码
写入矫正函数