halcon的select_contours_xld 算子设置多个选择条件
时间: 2023-12-09 08:07:01 浏览: 130
对于Halcon的`select_contours_xld`算子,您可以使用多个选择条件来过滤轮廓。您可以使用`gen_contours_select_closed`函数生成一个选择轮廓的模型,并使用`concat_obj`函数将多个选择条件连接在一起。然后,将生成的模型作为选择条件传递给`select_contours_xld`算子。
以下是一个示例代码,演示如何设置多个选择条件:
```python
contours := read_contour('contours')
select := gen_contours_select_closed(contours, 'area', 'and', [100, 500]) // 第一个选择条件:轮廓面积在100到500之间
select := concat_obj(select, gen_contours_select_closed(contours, 'width', 'and', [20, 50])) // 第二个选择条件:轮廓宽度在20到50之间
selectedContours := select_contours_xld(contours, select)
```
请注意,上述示例中只设置了两个选择条件,您可以根据需要添加更多条件。
相关问题
halcon select_contours_xld
Halcon中的select_contours_xld函数用于从输入的XLD轮廓集合中选择或排除符合给定条件的轮廓。该函数的语法如下:
```select_contours_xld (Contours : ContoursSelected : Num : MeasureHandle : Condition : Min : Max)```
其中,参数含义如下:
- Contours:输入的XLD轮廓。
- ContoursSelected:输出的XLD轮廓,符合条件的轮廓被选择后输出。
- Num:选择的轮廓数目。
- MeasureHandle:轮廓特征的句柄。
- Condition:条件,可选项为:“area”、“row1”,“col1”,“row2”,“col2”,“width”和“height”。
- Min:最小值。
- Max:最大值。
例如,以下代码将选择面积在100到500之间的轮廓:
```select_contours_xld (Contours, ContoursSelected, Num, 'area', 100, 500)```
select_contours_xld算子
select_contours_xld算子是一种用于选择轮廓的HALCON算子。它可以根据给定的条件从一组轮廓中选择符合条件的轮廓。在这个例子中,引用、和都是使用select_contours_xld算子进行轮廓选择的示例。
引用中的代码select_contours_xld(ContoursSplit, SelectedContours, 'maximum_extent', 70, 1220, -1, -1)表示选择ContoursSplit中最大范围在70到1220之间的轮廓,并将结果存储在SelectedContours中。
引用中的代码select_contours_xld(ContoursSplit, SelectedContours, 'maximum_extent', 120, 1220, -1, -1)表示选择ContoursSplit中最大范围在120到1220之间的轮廓,并将结果存储在SelectedContours中。然后使用clear_window(3600)清除窗口,并使用disp_xld(SelectedContours, 3600)在窗口中显示选定的轮廓。
引用中的代码select_contours_xld(ContoursSplit, SelectedContours, 'contour_length', 20, 200, -1, -1)表示选择ContoursSplit中轮廓长度在20到200之间的轮廓,并将结果存储在SelectedContours中。然后使用clear_window(3600)清除窗口,并使用disp_xld(ContoursSplit, 3600)在窗口中显示ContoursSplit中的轮廓。
阅读全文