5.1相机标定过程 畸变矫正和图像坐标系向世界坐标系转换
九点标定:
gen _caltab(行个数, 列个数, 圆形之间的间距单位M, 圆的半径与圆心间距之间的比值, 生成的文件名称caltab.descr', 'caltab.ps') 生成标定板的描述文件进行保存
CameraParameters :=['area_scan_division',0.0329654,-636.32,3.66154e-006,3.7e-006,-142.019,404.59,1280,960] 外参
CameraPose := [0.058358,0.00577829,0.685376,0.381481,1.42986,0.194856,0] 内参
将图像坐标转成世界坐标进行测量 image_points_to_world_plane
测量:distance_pp, distance_pl
注意:计算像素/mm 比进行测量
.
畸变矫正
资源扩展: https://blog.csdn.net/Douhaoyu/article/details/128330952
算子change_radial_distortion_cam_par( : : Mode, CamParamIn, DistortionCoeffs : CamParamOut)
示例:change_radial_distortion_cam_par ('adaptive', CameraParameters, 0, CamParOut)
'adaptive'(输入控制参数1):矫正模式
CameraParameters(输入控制参数2):内部摄像机参数
0(输入控制参数3):失真系数
CamParOut(输出控制参数):输出已修改的内部摄像机参数
算子gen_radial_distortion_map( : Map : CamParamIn, CamParamOut, MapType : )
示例:gen_radial_distortion_map(Map, CameraParameters, CamParOut, 'bilinear')
Map(输出对象):包含映射数据的图像对像
CameraParameters(输入控制参数1):内部旧相机参数
CamParOut(输入控制参数2):新的相机参数
'bilinear'(输入控制参数3):映射的类型
算子:map_image(Image, Map : ImageMapped : : )
示例:map_image(Image, Map, ImageMapped)
Image(输入对象1):要映射的图像
Map(输入对象2):包含映射数据的图像
ImageMapped(输出对象):映射后的图像
将图像坐标转成世界坐标进行测量。
算子:image_points_to_world_plane( : : CameraParam, WorldPose, Rows, Cols, Scale : X, Y)
示例:image_points_to_world_plane (CameraParameters, CameraPose, Row1, Column1, 'mm', X1, Y1)
CameraParameters(输入控制参数1):相机内参
CameraPose(输入控制参数2):相机外参
Row1(输入控制参数3):要转换的点的行坐标
Column1(输入控制参数4):要转换的点的列坐标
'mm'(输入控制参数5):坐标系的单位尺寸
X1(输入控制参数6):在世界坐标系中的点的X坐标
Y1(输入控制参数7):在世界坐标系中的点的Y坐标
标签:Map,image,标定,Halcon,相机,畸变,控制参数,CameraParameters,输入 From: https://www.cnblogs.com/ksjqsj/p/17359895.html