halcon拓展系列—判定二维点集顺逆时针算子judge_points_order

一、算子说明

judge_points_order( : : RowsCols : bClockwise)

** 功能:判断二维点集的顺逆时针排列顺序
** 输入
** Rows,Cols                          输入Contour的采样点
**
** 输出
** bClockwise                         顺逆时针:0:逆时针  1:顺时针  -1无法判定
** written by guke
**--------------------------------------------------------------------------------------

拓展系列—自动拟合非规则区域弧边算子fit_contour_base_region留了一个作业《如何判断闭合Contour中的points的排列顺序,顺时针还是逆时针》,这个拓展系列将解决这个问题

使用场景:

1、halcon像素点操作时,可能会遇到求解点A的法向量,法向量有两个方向,如果确定哪个方向,就需要知道点集的排列顺序,整体过程如下

1)判断二维点集排列顺序

2)求解二维点集在A的切线方向角度tangentAngle

3)根据二维点集的顺逆时针求解法向量,eg:

如果想求点集内侧的法向量,且点集时顺时针排列,则normalVectorAngle := tangentAngle-deg(90)  (halcon逆时针角度为正)

如果想求点集内侧的法向量,且点集时逆时针排列,则normalVectorAngle := tangentAngle+deg(90) 

 

你可能感兴趣的:(halcon学习)