HALCON 算子 find_marks_and_pose

HALCON的find_marks_and_pose算子用于从图像中提取2D校准标记,计算外部摄像机参数的初始值,为相机校准提供数据。它涉及到边缘检测、轮廓识别和椭圆拟合,以确定校准标记的中心点,并估计摄像机的初始姿态。
摘要由CSDN通过智能技术生成

find_marks_and_pose — Extract the 2D calibration marks from the image and calculate initial values for the exterior camera parameters.
从图像中提取2D校准标记并计算外部摄像机参数的初始值。

从图像中提取2D校准标记,并计算外部摄像机参数的初始值。
find_marks_and_pose 用于确定后续相机校准的必要输入数据(参见calibrate_cameras or camera_calibration):
首先,提取并排序输入图像CalTabRegion区域内的校准标记的2D中心点[RCoord,CCoord]。
其次,对外部摄像机参数(StartPose)进行粗略估计,
即,校准板相对于照相机坐标系的3D姿态(=位置和方向)(有关3D姿态的更多信息,请参阅create_pose)。
在输入图像图像中,边缘检测器被应用到区域CalTabRegion(参见edges_image, mode ‘lanser2’),
这可以通过应用算子find_caltab.来找到。
这种边缘检测的滤波器参数可以通过Alpha来调节。
使用较小的Alpha值来获得更强的平滑效果。
在边缘图像中搜索闭合轮廓:闭合轮廓的数目必须与校准板描述文件CalTabDescrFile 中描述的校准标记的数目相对应,
并且轮廓必须是椭圆形的。
丢弃比MinContLength短的轮廓,就像包围直径大于MaxDiamMarks(例如,校准板的边界)的区域的轮廓一样。
对于轮廓的检测,在边缘检测器的结果幅值上应用阈值算子。
选择具有高振幅的所有点(即,标记的边界)。
首先,将阈值设置为StartThresh。
如果搜索闭合轮廓或连续姿态估计失败,则通过DeltaThresh将该阈值连续降低到最小值MinThresh。
每一个找到的轮廓细化亚像素精度(见edges_sub_pix),并随后由椭圆近似。
这些椭圆的中心点表示校准标记中心点的期望2D图像坐标[RCoord,CCoord]的良好近似。
这两个元组中的值的顺序必须对应于校准板描述文件CalTabDescrFile中校准标记的3D坐标的顺序,
因为这修复了提取的图像标记和已知的模型标记之间的对应关系(由caltab_points给出)!
如果在板的角上用板描述文件定义三角形方向标记(见gen_caltab),
将检测该标记,并且以相对于所定义的板坐标系的(重心)负象限中的角标记开始的行主次序返回点顺序。否则,
如果没有定义方向标记,则中心点的顺序为从图像中的左上角标记开始的行主要顺序。
根据每个校准标记的椭圆参数,
最后对外部摄像机参数进行了粗略估计。为此目的,使用提取的图像标记和已知的模型标记之间的固定对应关系。
估计StartPose描述了根据算子camera_calibration的要求在照相机坐标系中校准板的姿态。

Parameters
Image
Input image.

CalTabRegion
Region of the calibration plate. 校准板的区域。

CalTabDescrFile
File name of the calibration plate description. 校准板的文件名说明。

Default value: ‘caltab.descr’
List of values: ‘caltab.descr’, ‘caltab_10mm.descr’, ‘caltab_30mm.descr’, ‘caltab_100mm.descr’, ‘caltab_200mm.descr’
File extension: .descr

StartCamParam
Initial values for the interior camera parameters.内部摄像机参数的初始值。

Number of elements: ((StartCamParam == 8) || (StartCamParam == 11)) || (StartCamParam == 12)

StartThresh
Initial threshold value for contour detection.用于轮廓检测的初始阈值。

Default value: 128
List of values: 80, 96, 112, 128, 144, 160
Restriction: StartThresh > 0

DeltaThresh
Loop value for successive reduction of StartThresh.循环值,用于连续减少启动阈值。

Default value: 10
List of values: 6, 8, 10, 12, 14, 16, 18, 20, 22
Restriction: DeltaThresh > 0

MinThresh
Minimum threshold for contour detection.轮廓检测的最小阈值。

Default value: 18
List of values: 8, 10, 12, 14, 16, 18, 20, 22
Restriction: MinThresh > 0

Alpha
Filter parameter for contour detection, see edges_image.用于轮廓检测的滤波参数,参见edges_image.

Default value: 0.9
Suggested values: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1
Typical range of values: 0.2 ≤ Alpha ≤ 2.0
Restriction: Alpha > 0.0

MinContLength
Minimum length of the contours of the marks.标记轮廓的最小长度。

Default value: 15.0
Suggested values: 10.0, 15.0, 20.0, 30.0, 40.0, 100.0
Restriction: MinContLength > 0.0

MaxDiamMarks
Maximum expected diameter of the marks.标记的最大预期直径。

Default value: 100.0
Suggested values: 50.0, 100.0, 150.0, 200.0, 300.0
Restriction: MaxDiamMarks > 0.0

RCoord
Tuple with row coordinates of the detected marks.具有检测到的标记的行坐标的元组。

CCoord
Tuple with column coordinates of the detected marks. 具有检测到的标记的列坐标的元组。

StartPose
Estimation for the exterior camera parameters.外部摄像机参数的估计。

Number of elements: 7

set_origin_poseHalcon中用来设置相机姿态的算子之一。在机器视觉领域,相机姿态是指相机在三维世界中的位置和方向,是进行立体视觉及三维重建等操作的基石之一。相机姿态的描述主要有两种方法:欧拉角和四元数。 在Halcon中,set_origin_pose算子所设置的相机姿态采用的是欧拉角的方式进行描述。其参数有六个,分别为x、y、z方向上的旋转角度和相机的平移向量(tx、ty、tz),这六个参数可以通过平移向量和旋转角度来描述相机在三维世界坐标系中的位置和方向。set_origin_pose算子可用于将相机从一个位置移到另一个位置,以及旋转相机的方向。 使用set_origin_pose算子需要先获取当前相机姿态,然后设置新的姿态。一般情况下,获取当前相机姿态使用的是get_cam_param算子,该算子返回相机的内外参数,包括焦距、畸变系数、旋转角度及平移向量等。根据当前姿态和设置的姿态,可以确定相机需要旋转的角度和平移的距离,最终将相机移动到新的位置和方向。 set_origin_pose算子主要用于相机标定、三维重建、机器人导航等方面。通过调整相机的姿态,可以使图像对应于不同位置和方向的三维场景,实现更精确的视觉测量和准确定位。在实际应用中,需要结合其他算子,如gen_cam_proj_matrix2算子、hom_mat3d_to_pose算子等,才能完成更复杂的相机姿态设置和获取任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值