Halcon相机标定及畸变矫正

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坐标

猜你喜欢

转载自blog.csdn.net/a296026640/article/details/130412481