检测缺失物体

3

我希望检测图像中缺失的物体。以下是情况:

  1. 你有一张房间的图片,里面有一个球。
  2. 你有另一张相同房间的图片(光照条件相似),唯一的区别是没有球了。
  3. 现在需要使用opencv比较这两个图像并找到缺失的内容。

我知道这样做的第一步是计算两个图像的直方图并进行比较。如果第二张图像中有什么东西缺失了,那么直方图值就会不同。

那么,如何检测“球”是否缺失?使用模板匹配吗?


然后只需从另一张图像中减去一张图像并使用斑点检测。 - Blender
@Blender:很酷。请将链接作为答案提供。 - PeakGen
@Blender:你能提供一下你的想法吗? - PeakGen
@Knight:自己做研究。谷歌不会咬人。 - Blender
@Blender:那我就理解为不行了。 - PeakGen
显示剩余9条评论
1个回答

3

如评论所述,您可以轻松地将这两个图像相减。如果我没记错,Mat已经重载了减号操作符。因此,只要img是cv :: Mat对象,sub = img1-img2;就足够了。

关于斑点,请查看OpenCV网站上的以下教程:

http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/find_contours/find_contours.html

http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/hull/hull.html

http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/bounding_rects_circles/bounding_rects_circles.html


我觉得这个不太可预测,你觉得呢? - user784435
球是一个例子。它可能是一个球,桌子或其他任何东西。在实际情况下,这将通过摄像头发生。需要识别的是5秒钟之前存在的任何物品,但现在不再存在。这仍然可能吗?每5秒钟,摄像头会拍摄一张照片,因此不需要进行视频分析。 - PeakGen
这要看情况。使用我提出的方法,您将收到通知,场景已发生变化。但是您无法获得缺失对象的信息。OpenCV 不知道图像中的明亮斑点是球还是桌子或其他物体。您需要通过其他方式添加此功能。 - jnovacho
好的。谢谢你的帮助。我非常感激 :) - PeakGen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接