工控编程吧

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

作者: qq263946146    时间: 2019-5-17 11:41
标题: halcon select_region_spatial函数介绍
select_region_spatial(Regions1, Regions2 : : Direction : RegionIndex1, RegionIndex2)
select_region_spatial从Regions2中选择对相邻关系Direction 满足条件的区域。
要检查的区域必须在Regions1或Regions2中传递。
Regions1可以有三种不同的状态:


Region1为空
将对Regions2中的所有区域进行置换检查,以确定是否存在邻域。


Region1含一区域
将Region1中的区域与Region2中的所有区域进行比较。


Region1 ,Region2区域相同
两区域内子区域一一成对对比


Direction 取值有如下:
'left':
Regions2 在 Regions1左边

'right':
Regions2在Regions1右边

'above':
Regions2 在Regions1上边

'below':
Regions2在Regions1下边

select_region_spatial计算要比较的区域的中心,
并根据中心直线与x轴的夹角决定是否满足方向关系。
这个关系是在坐标轴周围-45度到+45度的区域内完成的。
因此,可以这样理解方向关系:第二区域的中心必须位于第一区域中心的左(或右、上、下)。
满足方向关系的区域的索引为RegionIndex1和RegionIndex2的对应区域索引,
即,索引为RegionIndex2[n]的区域与索引为RegionIndex1[n]的区域满足Direction 关系。
通过索引访问区域可以通过函数copy_obj完成。

例程
read_image (Meningg6, 'meningg6')
gauss_filter (Meningg6, ImageGauss, 7)
watersheds (ImageGauss, Regions, Watersheds)
select_shape (Regions, Reference, ['row','column'], 'and', [250,250], [260,260])


select_region_spatial (Reference, Regions, 'left', RegionIndex1, RegionIndex2)
dev_set_color ('red')
select_obj (Regions, ObjectSelected, RegionIndex2)
select_region_spatial (Reference, Regions, 'right', RegionIndex1, RegionIndex2)
dev_set_color ('green')
select_obj (Regions, ObjectSelected, RegionIndex2)
select_region_spatial (Reference, Regions, 'above', RegionIndex1, RegionIndex2)
dev_set_color ('blue')
select_obj (Regions, ObjectSelected, RegionIndex2)
select_region_spatial (Reference, Regions, 'below', RegionIndex1, RegionIndex2)
dev_set_color ('cyan')
select_obj (Regions, ObjectSelected, RegionIndex2)


例程通过将一图像区域分割后,提取一指定位置的区域,

再选择此区域上下左右四个方向的区域。

[halcon]1[/halcon]








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