开启左侧

这个例子里计数为什么是24?

[复制链接]
无助的云 发表于 2020-9-25 15:01:25 | 显示全部楼层 |阅读模式
WeChat Image_20200925150004.png 请问这里的计数成了24个是怎么来的?
Criss 发表于 2020-9-26 00:14:23 | 显示全部楼层
因为你代码写错了,没有做面积筛选!参考总结新手学习开发Halcon程序的几个问题点
https://www.51halcon.com/forum.p ... d=512&fromuid=3
 楼主| 无助的云 发表于 2020-9-26 09:58:19 | 显示全部楼层
Criss 发表于 2020-9-26 00:14
因为你代码写错了,没有做面积筛选!参考总结新手学习开发Halcon程序的几个问题点
https://www.51halcon.co ...

谢谢回复!代码是HALCON自带的说明书里的。难道说明书有错?
 楼主| 无助的云 发表于 2020-9-26 09:59:30 | 显示全部楼层
Criss 发表于 2020-9-26 00:14
因为你代码写错了,没有做面积筛选!参考总结新手学习开发Halcon程序的几个问题点
https://www.51halcon.co ...

因为没有做筛选,所以统计出来的数字是随机的吗?
Criss 发表于 2020-9-26 10:48:47 | 显示全部楼层
无助的云 发表于 2020-9-26 09:59
因为没有做筛选,所以统计出来的数字是随机的吗?
不是随机的,是你图像上还有一些很小的区域也被阈值分割处出来了,参考你图像中那些小点。
如果想要计算回形针的数量,需要做下面积大小的筛选,只提取回形针的区域再计算即可。
无标题.png
我们可以看到,大部分回形针面积都在7944 到 12018 区间,那么我们直接设置7900 到 12000 即可。
我们在你之前的代码后面修改成下面的代码:
  1. read_image (Image, 'clip')
  2. dev_set_colored(12)
  3. threshold (Image, Dark, 0, 150)
  4. count_obj (Dark, NumThresholded)
  5. dev_display (Dark)
  6. connection (Dark, ConnectedRegions)
  7. count_obj (ConnectedRegions, NumConnected)
  8. dev_display (ConnectedRegions)
  9. *提取回形针部分 可以根据特征直方图查找面积范围
  10. select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 7900, 12000)
  11. count_obj (SelectedRegions, NumSelected)
  12. dev_display (Image)
  13. dev_display (SelectedRegions)
复制代码
就可以得到当前的回形针是13个!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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