halcon如何识别硬币?
前言
最近一直在学习halcon,在此做了一个案例,分享给大家,效果图如下:
1.思路分析
通过观察,发现1元,5角,1角,它们在面值的文字描述不一样,硬币显示的花纹不一样,如果我们通过模板匹配,那我们需要考虑2个因素,正/反面完全不一样。
换个思路,找到不变的因素【硬币外圈大小】,用最小的变量作为我们判断的基准,从而降低问题的复杂度。
2.代码逻辑分析
- 我们首先指定3个模板【硬币的圆圈大小】
- 读取原图片
- 使用模板匹配
- 标注不同的硬币
3.代码实现
3.1 创建模板
3.2 模板匹配
4.效果展示
效果1:
效果2:
5.总结
我在这里偷了懒,只是取了外圈大小,来确定不同硬币的识别,如果图片中存在不是硬币,但是大小一样,这样一定会误检,这也是我们的这个方案不严谨的地方,这是案例,我们以学习为主,如果你有更好的方式,请不吝赐教!