Opencv识别相似对象之间的差异

Opencv identify difference between similar object

我正在做一个项目,找出两个对象之间的区别,并用正确的模型代码标记它们。

我需要有关如何使用 OpenCV 处理图像处理此类问题的建议,以下是图像

到目前为止,我尝试在执行二进制阈值后计算两个图像之间的黑色像素差异,还计算了垫圈上存在的孔数。

我也尝试过使用特征点,但效果不佳

还有什么可以改进检测?

谢谢

这些漏洞是非常好的特征,可以通过 blob 分析可靠地检测到。

首先,定位大圆并确定其圆心和半径。半径可能是第一判别特征。

接下来,围绕中心建立螺丝孔的配置。您可以使用到中心的距离、孔的数量以及它们围绕中心定义的角度。

如果这仍然不够,您可以注册垫圈并将它们与模型进行比较,方法是匹配螺孔、调整旋转,然后将像素与 SAD 或 SSD 等相似性度量进行比较。