【问题标题】:Detecting Missing Objects检测丢失的对象
【发布时间】:2013-06-09 16:19:23
【问题描述】:

我想检测图像中丢失的对象。情况是这样的

  1. 您有一个房间的图像。房间里有个球。
  2. 您有同一个房间的另一张图片(光线条件类似)。唯一的区别是,球不见了。
  3. 现在我需要 opencv 来比较这 2 个图像并找出缺失的部分。

我知道这样做的第一步,那就是计算两个图像的直方图并比较它们。如果第二张图像中缺少某些内容,则直方图值会有所不同。

现在,如何检测“球”丢失了?使用模板匹配?

【问题讨论】:

  • 两张图是同一个角度吗?
  • 然后只需从另一张图像中减去一张图像并使用斑点检测。
  • @Blender:哇,有推荐文章的链接吗?
  • @Blender:mm,我不知道 blob 的情况。我需要先学习它.mmmmmm。我可以在丢失的东西上画一个矩形吗?
  • 你可以得到丢失的blob的边界框,所以确定。

标签: c++ image opencv image-processing artificial-intelligence


【解决方案1】:

如 cmets 中所述,您可以轻松减去这 2 个图像。 IIRC Mat 重载了 - [minus] 运算符。所以 sub = img1 - img2; 应该足够了,只要 imgs 是 cv::Mat 对象。

关于 blob,请查看 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

【讨论】:

  • 我不能认为这是非常可预测的?
  • 球就是一个例子。它可能是一个球、桌子或其他任何东西。好的,在实际情况下,这将通过相机发生。无论 5 秒之前存在但现在不需要识别的东西。这还有可能吗?无论如何,每隔 5 秒就会从相机中拍摄一张照片,因此不需要进行视频分析
  • 视情况而定。使用我建议的方法,您将收到通知,场景已更改。但是您没有得到信息,该对象缺少什么。 OpenCV 不知道图像中的明亮斑点是球或桌子或任何东西。您必须以其他方式添加此功能。
  • 很好。感谢您的帮助。我真的很感激:)
猜你喜欢
  • 1970-01-01
  • 2021-02-07
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多