1.需求:找到图像中的这个玩意儿(不知道是什么-v-)。
2.解决思路:先选择一个图形进行模板训练,然后用训练的模板去进行匹配。
3.步骤。
添加CogPMAlignTool工具,这个工具已经多次用到了。
抓取训练图像,训练模板。别忘了勾选“忽略极性”。
设置运行参数。
设置查找概述为9.
取消勾选“计分时考虑杂斑”。
运行。
这张图不能很好地识别。
试着减小接受阈值和粗糙度阈值。
再次运行。
这次可以识别出来了。
但是这张图片识别有问题,会多识别出来一个。
这可怎么办呢,如果我调高阈值的话,这个图片是能正确识别了,但是别的图片又会少识别。
查看一下图片的匹配特征。
好乱啊!
冷静,我们从宏观上对图片进行分析。图片中,一共有6个物体,每个物体的形状都是近似正方形,每个图形的内部都是由很多密密麻麻的不规则的原点组成。那么我们就想啊,既然所有的物体都有一个共同的特征,正方形,那么我们能不能仅仅根据这一个特征来进行模板的训练和匹配呢?答案是可以的。
点击“图像掩膜编辑器”,关于图像掩膜的部分可以参见visionpro篇 PMAlign工具。
将中间不感兴趣的区域填充为红色。
再次训练模板。将接受阈值调为0.54。运行。
所有图片中的形状都可以识别出来了。
会发现添加图像掩膜后匹配特征只包含形状的最外面的一圈轮廓,而忽略了内部的特征。