Halcon - 从 XLD 中提取直边

Halcon - Extract straight edge from XLD

我有一个 XLD 边缘,如下面示例图片中的红色边缘。

我需要提取 start/endpoint 条代表它的直线。霍夫线在某种程度上适用于此,但结果并不是真正可复制的。轮廓的微小变化会产生意想不到的结果。

如何将轮廓提取为直线? (蓝色)有开始和结束坐标? 短于指定长度的行不应计为单独的行。

需要使用以下函数将轮廓转换为多边形:

gen_polygons_xld (Object, Polygons, 'ramer', 25.0)

唯一可调整的参数是决定近似阈值的 alpha (25.0)。