QQ登录

只需一步,快速开始

halcon spatial_relation函数介绍

[ 复制链接 ]
spatial_relation(Regions1, Regions2 : : Percent : RegionIndex1, RegionIndex2, Relation1, Relation2)
spatial_relationship按百分比 Percent选择位于“左”、“右”、“上”或“下”的其他区域的区域。
Regions1和Regions2包含要比较的区域。


Regions1可以有三种状态:
Regions1包含一个空对象元组,即, count_obj返回0:

这种情况下,将对Regions2中的所有区域进行置换检查,以确定是否存在邻域。



Regions1包括一个区域:

将Regions2中的区域与Regions2中的所有区域进行比较。



Regions1由与Regions2相同数量的区域组成:

检查Regions1和Regions2是否有相邻关系。



百分比Percent 的解释是,
第二个区域的面积必须位于第一个区域的左/右或上/下区域边界的位置,至少要达到Percent
然后,满足至少一个条件的区域的索引保存在输出参数RegionIndex1和RegionIndex2中。
Relation1和Relation2与RegionIndex1, RegionIndex2元素索引相同。
Relation1和Relation2的可能值是:
Relation1:‘above', 'below'
Relation2: 'left', 'right'


RegionIndex1和RegionIndex2的元素值,
可以作为索引调用copy_obj访问Regions1, Regions2区域。

例程:
read_image (Image, 'fabrik')
regiongrowing (Image, Regions, 1, 1, 3, 400)
select_obj (Regions, ObjectSelected, 12)
spatial_relation (ObjectSelected, Regions, 50, RegionIndex1, RegionIndex2, Relation1, Relation2)


for i := 0 to |RegionIndex2| - 1 by 1
  dev_set_color ('white')
  select_obj (Regions, ObjectSelected, RegionIndex2)
endfor
stop()
select_obj (Regions, ObjectSelected1, 6)
select_obj (Regions, ObjectSelected2, 24)
*ObjectSelected2百分百位于ObjectSelected1右边,所以Relation2为right
spatial_relation (ObjectSelected1, ObjectSelected2, 100, RegionIndex1, RegionIndex2, Relation1, Relation2)
*ObjectSelected2约百分88位于ObjectSelected1下边,所以传递89,Relation1值为空
spatial_relation (ObjectSelected1, ObjectSelected2,89, RegionIndex1, RegionIndex2, Relation1, Relation2)

  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

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







回复

使用道具 举报

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