繁体   English   中英

使用 openCV 查找图像中“丢失”的对象

[英]Finding “Missing” objects in image using openCV

请看下面的2张图片

图 1

在此处输入图片说明

图 2

在此处输入图片说明

在图像 1 中,您可以看到墙上有一个垫子,而在图像 2 中,垫子丢失了。 现在,我将插入 Image1 作为第一张图像,插入 Image2 作为第二张图像,然后查找缺少的内容。 然后,我需要在丢失的对象上方绘制一个矩形。

在我的程序中,我将在我们的每一个程序中检查这一点。

除了“图像差异”之外,我想不出别的东西,即“absDiff()”方法。 但是我在同一个应用程序中使用这种技术进行运动检测,所以我不确定同样的技术是否适合“寻找丢失的物体”(因为在这种情况下,这与运动检测有什么不同”?

关于如何找到这样丢失的对象的任何想法?

嗯,这也是一种运动检测,因为你可以认为垫子已经移出了场景。 如果您的图像是对齐的(即如果相机放置在同一位置),则图像减法是一个很好的开始方法。 有了这个,您就可以知道哪些物体出现或消失了。 请注意,如果您允许 Mat 出现在图像中但位于不同的位置,则此技术不适用。

另一方面,如果您正在观看某个 Mat,则可以进行物体检测,这样如果您无法检测到图像中的物体,则可以假设该物体已被盗。 您可以通过从对象的图像(例如 SURF)中提取特征并将这些特征与从网络摄像头图像中提取的特征进行匹配来实现这一点。 如果黑色垫子必须始终在白墙上,那么检测具有这些颜色的斑点也可能很有用。

您可以尝试在两个图像上寻找兴趣点,然后查看图片之间不匹配的点的区域。

虽然我回答这个问题晚了 7 年,但由于我现在正在努力寻找解决这个问题的最佳方法,我想我会在 pyimagesearch 上分享 Adrian Rosebrock 的这个很棒的解决方案 他使用两幅图像之间的结构相似性指数 (SSIM) 来找到明显的差异(我需要什么),并根据计算出的差异,找到轮廓以在识别为“不同”的区域周围放置矩形。 我发现与黄金图像相比,它对于“模板匹配”或识别图像中的“异常”非常有效,黄金图像也能够处理丢失的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM