1.需求:统计零件上的孔位数量。
2.解决思路:
我一开始看到这个问题的思路是:添加图像转换器工具,将图像从彩色图转换为黑白图;然后添加斑点工具,斑点工具的作用域是整张图像,我的想法是这样的,不是要找出图像中的几个孔嘛,对于上面这张图来说,就是找出4个孔,那么就可以用斑点工具直接根据面积过滤掉其他的不是孔的区域,感觉很完美是不是?但是实际效果是这样的:大孔的面积是1100多,小孔的面积是300多,而且图像中还有其他大大小小的斑点,也就是说,我无法根据面积刚好过滤出来4个孔,也许可以了,不过这种方式并不优雅。
视频中的解法是这样的:添加模板匹配工具,添加定位工具,然后添加斑点工具,是添加两个斑点工具,分别用来找小孔和大孔,也就是说两个斑点工具的作用域是只作用在小孔和大孔的区域。这就是为什么要添加模板匹配工具和定位工具了,想象一下,如果下一张图片旋转了,那么就会导致小孔和大孔不在斑点工具的作用域内了,是不是很尴尬。当然了,图像转换工具可添加可不添加,并不影响。
然后就是使用c#的简单脚本做一个求和的操作,因为脚本需要处理的事情很简单,所以使用简单脚本。
最后使用标签工具将求和可视化显示。
3.步骤:
添加模板匹配工具和定位工具。
需要注意的是,训练区域使用选择零件的下半部分即可,因为有的图像中,零件的上半部分看不到,所以选择整个零件进行训练,反而识别效果不好。
添加斑点工具。
根据面积过滤斑点工具识别到的对象。
提娜佳block工具,为其添加两个输入,分别代表大孔的数量和小孔的数量。
添加一个整形的输出,代表孔位的总数。
打开block,在里面创建c#简单脚本。
添加标签工具。
运行。