圆弧测量的过程和直线测量类似,都是:
1. 先生成测量弧,得到测量句柄
2. 使用方法measure_pos进行测量
3. 关闭测量句柄
关键函数说明:
//准备提取垂直于环形弧的直边(生成测量弧)
gen_measure_arc
CenterRow:弧中心点的行坐标
CenterCol:弧中心点的列坐标
Radius:弧半径
AngleStart:弧起始角度
AngleExtent:弧的角度范围
AnnulusRadius:测量弧的半宽
Width:随后要处理的图像的宽度
Height:随后要处理的图像的高度
Interpolation:要使用的插值类型
//圆弧上两点之间的直线距离
distance_pp
Row1:第一个点的行坐标
Column1:第一个点的列坐标
Row2:第二个点的行坐标
Column2:第二个点的列坐标
Distance:两点之间的距离
//计算特定角度对应的椭圆上的点的坐标
get_points_ellipse
Angle:结束点对应的弧度
Row:椭圆中心点的行坐标
Column:椭圆中心的列坐标
Phi:椭圆主轴的方向(单位为弧度)
Radius1:长半轴的长度
Radius2:短半轴的长度
RowPoint:圆弧上该点的行坐标
ColPoint:圆弧上该点的列坐标
//在窗口中显示圆弧
disp_arc
WindowHandle:窗口句柄
CenterRow:中心点的行坐标
CenterCol:中心点的列坐标
Angle:圆弧开始位置到结束位置的角度(单位为弧度)
BeginRow:圆弧上开始点的行坐标
BeginCol:圆弧上开始点的列坐标
说明:
关于measure_arc.hdev这个例子中,有一个地方需要说明:
measure_pos计算出来的距离,是弧长;而distance_pp计算出来的距离,是两点之间的距离。各位在运行该示例代码的时候,注意观察这两个值,会发现,distance_pp计算的距离,小于measure_pos获得的弧长。
更多halcon和六轴机械臂算法干货公众号: