halcon 获取轮廓数量
时间: 2023-08-09 15:10:36 浏览: 145
要获取 HDevelop 中图像中轮廓的数量,可以使用 gen_contours_polygon 函数生成轮廓的多边形表示,然后使用 get_contour_info 函数获取轮廓的信息,其中包括轮廓的数量。以下是一个示例代码:
```
read_image (Image, 'image.jpg')
threshold (Image, Region, 128, 255)
gen_contours_polygon (Region, Contours, 'border')
get_contour_info (Contours, 'num_contours', NumContours)
```
在上面的代码中,首先读取图像并进行二值化处理,然后使用 gen_contours_polygon 函数生成轮廓的多边形表示。最后,使用 get_contour_info 函数获取轮廓的数量并将其存储在变量 NumContours 中。
相关问题
halcon获取匹配轮廓的坐标
要获取匹配轮廓的坐标,可以使用Halcon中的gen_contour_region_xld函数将匹配结果转换为轮廓,并使用get_contour_xld和get_contour_global_xld函数获取轮廓的坐标信息。具体的代码示例如下:
```python
# 获取匹配轮廓的坐标
match_result = find_shape_model(image, model_image, 0, 0, 0.5, 1, 0.5, 'use_polarity')
contours = gen_contour_region_xld(match_result)
x, y = get_contour_global_xld(contours, 'centroid')
row, col = get_contour_xld(contours)
```
其中,find_shape_model函数用于进行模板匹配,返回匹配结果;gen_contour_region_xld函数将匹配结果转换为轮廓;get_contour_global_xld函数获取轮廓的中心点坐标;get_contour_xld函数获取轮廓的所有点坐标。
halcon获取闭合轮廓的最短距离
要获取闭合轮廓的最短距离,可以使用Halcon中的distance_cc函数。该函数用于计算两个闭合轮廓之间的最短距离。具体使用方法如下:
1. 使用gen_contour_region函数生成闭合轮廓区域对象。
2. 使用distance_cc函数计算两个闭合轮廓之间的最短距离。
例如,假设我们有两个闭合轮廓contour1和contour2,可以使用以下代码计算它们之间的最短距离:
```
gen_contour_region (Contour1, 'border', 1, 'outer')
gen_contour_region (Contour2, 'border', 1, 'outer')
distance_cc(Contour1, Contour2, 'distance', 'no_sort')
```
其中,'distance'是输出参数,表示两个轮廓之间的最短距离。'no_sort'表示不需要对轮廓进行排序。
注意:要使用distance_cc函数,必须保证两个轮廓都是闭合的。如果轮廓不是闭合的,可以使用close_contour_xld函数将其闭合。