工控编程吧

标题: halcon sort_region函数介绍 [打印本页]

作者: qq263946146    时间: 2019-5-15 21:19
标题: halcon sort_region函数介绍
sort_region(Regions : SortedRegions : SortMode, Order, RowOrCol : )
操作符sort_region根据区域的相对位置对区域进行排序。
除“character”排序方式外,所有排序方法都使用该区域的一个点。
在参数RowOrCol = 'row'的帮助下,这些点将根据它们的行进行排序,然后再执行列排序
通过使用“column”,将首先使用列值排序。
参数SortMode可用以下值:


character
这些区域将被视为一行中的字符,并将根据它们在直线的顺序进行排序:
如果两个区域水平重叠,将根据它们的列值对它们进行排序,
否则将根据它们的行值对它们进行排序。
为了能够正确地对一直线上的区域进行排序,一行中的所有区域必须垂直重叠。
此外,相邻行中的区域不能重叠。


first_point
区域第一行中列值最低的点。


last_point
区域最后一行中列值最高的点。


upper_left
最小外接矩形左上角点

upper_right
最小外接矩形 右上角点

lower_left
最小外接矩形左下角点

lower_right
最小外接矩形右下角点。

参数Order决定排序顺序是递增还是递减:
使用“true”表示排序顺序递增,使用“false”表示排序顺序递减。


排序后的结果存储在SortedRegions

例程:
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 140, 255)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 25000, 100000)
select_obj (SelectedRegions, ObjectSelected, 1)
sort_region (SelectedRegions, SortedRegions, 'upper_left', 'true', 'column')
select_obj (SortedRegions, ObjectSelected1, 1)


执行例程后排序前提取第一个区域为ObjectSelected
按X方向从左向右排序后,提取第一个区域为ObjectSelected1,
从而可以查看sort_region 执行的效果

[halcon]1[/halcon]








欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4