halcon 点到一条线的距离

*获取窗口句柄
dev_get_window (WindowHandle)
draw_point (WindowHandle, Row2, Column2)
gen_cross_contour_xld (Cross2, Row2, Column2, 6, 0.785398)
draw_line (WindowHandle, Row11, Column11, Row21, Column21)
gen_region_line (RegionLines, Row11, Column11, Row21, Column21)
*计算一个点和一条线之间的距离。
distance_pl (Row2, Column2, Row11, Column11, Row21, Column21, Distance1)

 

### Halcon计算到区域距离的方法 在 Halcon 中,可以通过 `distance_pnt_contour_xld` 或者 `distance_lr` 来实现到轮廓或区域的距离计算。对于更通用的情况,即计算一个到任意形状区域的距离,通常会先将该区域转换成轮廓形式再进行处理。 #### 使用 distance_pnt_contour_xld 函数 此方法适用于已经存在的XLD轮廓对象。通过给定的坐标以及指定的轮廓,能够返回最短路径上对应的另一个端位置及其间的欧几里得距离[^1]。 ```cpp * 假设已有一个名为Contour的对象表示边界线 gen_cross_contour_xld (Cross, 'center', Row, Column, 0, 0.785398) distance_pnt_contour_xld (Row, Column, Contour, DistanceMin, RowNearest, ColNearest) ``` 上述代码片段展示了如何创建交叉标记并找到最近邻近的位置和最小距离。 #### 利用 distance_point_region 函数 当面对的是二值图像中的连通域而非具体的轮廓线条时,则应该考虑采用 `distance_point_region` 。这个操作可以直接接收输入的一组像素级定义好的前景部分作为参数,并针对单个查询求解其至这些选定区域内任一间可能达到的最大/最小间距[^2]。 ```cpp * 设Region代表目标区域;PointRow 和 PointCol 表示待测定坐标的变量名 distance_point_region (Region, PointRow, PointCol, 'true', MinDistance, MaxDistance) ``` 这里需要注意最后一个布尔类型的选项决定了是否同时输出最大值最小值结果,默认情况下二者都会给出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值