QQ登录

只需一步,快速开始

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从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)





回复

使用道具 举报

快速回复 返回列表 客服中心 搜索