首页 > 解决方案 > 使用 Open CV 检测物体缺陷

问题描述

我尝试识别对象的变化。因此,我在使用该对象之前和之后拍照。目前,我正在处理两张图片的绝对差异并获取结果差异图像的轮廓。只要对象被完美定位并像之前的图像一样被捕获,它就可以正常工作。只是位置上的微小差异使我的方法毫无用处。

有人对 OpenCV 或 EmguCV 有不同的解决方案吗?我正在考虑检查其中一个相邻像素是否相同,那么应该没有检测到变化,但我不知道现有的高性能算法。

示例图片(图片与我的用例不匹配,但它们应该有助于说明我的问题): 之前 之后

标签: c#opencvimage-processingemgucv

解决方案


是的,有很多方法可以做到这一点。我喜欢以下内容:

  • 直方图匹配。获取前后的直方图并检查差异。对光线变化很敏感。如果您处于受控照明环境中,这是非常好的方法

  • 相关匹配。如果您使用 MatchTemplate,您可以获得匹配的“质量”。这可以被制成对光不那么敏感。但是对两个图像之间的旋转变化很敏感。

尝试实现一些,让我们看看你的代码。


推荐阅读