halcon提取圆弧边缘轮廓后,如何求这两段圆弧的半径?

halcon提取圆弧边缘轮廓后,如何求这两段圆弧的半径呢?
因为最后要求这个拟合出来的圆环的宽度

img

使用 fit_circle_contour_xld 函数对圆弧边缘轮廓进行拟合得到圆心和半径信息。
使用 gen_contours_polygon_xld 函数将圆弧边缘轮廓转换为多边形轮廓,
例如:

gen_contours_polygon_xld (Contours, ContoursPolygon, 'regression', 10);

然后,使用 fit_circle_contour_xld 函数对多边形轮廓进行圆拟合,
例如:

fit_circle_contour_xld (ContoursPolygon, 'algebraic', -1, 0, 0, Row, Column, Radius, StartPhi, EndPhi, PointOrder);

Row 和 Column是圆心的行坐标和列坐标,Radius 是拟合半径。
同一个方法求另一个即可。
 
如果答案对您有所帮助,望采纳。

该回答引用NewBing

您可以使用fit_circle_contour_xld算子来拟合圆环,该算子返回一个包含圆环半径的元组。如果您已经提取了圆弧边缘轮廓,则可以使用gen_circle_contour_xld算子来生成圆弧的轮廓,然后使用fit_circle_contour_xld算子来拟合圆弧并返回半径。请注意,如果您的圆弧不是完整的圆,则可能需要使用其他算子来拟合半径。请参阅Halcon文档以获取更多信息①②。


源: 与必应的对话, 2023/4/4

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^