设为首页收藏本站
授权版本:2024_07
开启左侧

求助: count_obj 如何去掉空区域干扰

[复制链接]
freekun139com 发表于 2023-9-7 22:20:49 | 显示全部楼层 |阅读模式
  1. *如下没有交集的区域求交集后count_obj 计算结果为1
  2. *union1合并后count_obj 计算结果为1
  3. *再connection打散后count_obj 计算结果为1
  4. *有什么办法能去掉这个空使count_obj结果为0吗
  5. *还是只能通过area_center的结果判断了,哪位大佬帮忙理解一下,感谢

  6. gen_rectangle1 (Rectangle,   30, 20, 100, 200)
  7. gen_rectangle1 (Rectangle1, 330, 20, 400, 200)
  8. intersection (Rectangle, Rectangle1, RegionIntersection)
  9. count_obj (RegionIntersection, Number1)
  10. union1 (RegionIntersection, RegionUnion)
  11. count_obj (RegionUnion, Number2)
  12. connection (RegionUnion, ConnectedRegions)
  13. count_obj (ConnectedRegions, Number3)
复制代码



奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
老老常 发表于 2023-9-8 08:28:05 | 显示全部楼层
Halcon中object为空时,count_obj是不准确的。建议使用area_center后通过面积大于0判定。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| freekun139com 发表于 2023-9-8 08:37:52 | 显示全部楼层
老老常 发表于 2023-9-8 08:28
Halcon中object为空时,count_obj是不准确的。建议使用area_center后通过面积大于0判定。
...

感谢,我当前使用了(|Area|>0 and sum(Area)>0)来判断是否为空了
打散后再筛选一下,是可以去掉空区域的,count_obj结果就正常了
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 1, 999999)
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-8 09:13:52 | 显示全部楼层
更简单的方法是调用set_system ('store_empty_region', 'false')
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| freekun139com 发表于 2023-9-8 09:33:31 | 显示全部楼层
halcon2016 发表于 2023-9-8 09:13
更简单的方法是调用set_system ('store_empty_region', 'false')

确实,确实,感谢
测试了一下,貌似也没啥负作用
如果没交集intersection的结果就是空集,不是空区域了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| freekun139com 发表于 2023-9-21 14:03:58 | 显示全部楼层
halcon2016 发表于 2023-9-8 09:13
更简单的方法是调用set_system ('store_empty_region', 'false')

这个方式还是有负作用的
比如在有多个区域的场景下求交集,如果中间出现空区域,最终区域的数目就会变化
对于依赖区域序列的场景,在这种情况下就会出现错位,从而筛选结果也就会错误
这里需要小心一下
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-21 14:45:05 | 显示全部楼层
freekun139com 发表于 2023-9-21 14:03
这个方式还是有负作用的
比如在有多个区域的场景下求交集,如果中间出现空区域,最终区域的数目就会变化
...

这个是可以在某段代码里面设置生效,用完后可以设置回去的
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| freekun139com 发表于 2023-9-21 17:19:33 | 显示全部楼层
halcon2016 发表于 2023-9-21 14:45
这个是可以在某段代码里面设置生效,用完后可以设置回去的

是的,双刃剑,用熟练了都好使
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表