【问题标题】:opencv - Detecting multiple rectangles of the same color and getting their coordinatesopencv - 检测多个相同颜色的矩形并获取它们的坐标
【发布时间】:2015-11-10 14:44:09
【问题描述】:

我需要检测白色矩形并在相机输入上获取它们的坐标,如下所示:

我一直在阅读,我认为我需要放置一个 hsv 过滤器,然后将阈值应用于输入。但是,对于跟踪部分,我读到了三种方法:fincontours、houghline 和 cvblob。但我不太确定对于这种具有相同颜色的统一对象来说,哪一个是最好的/最简单的。具体来说,我需要知道边界的坐标,因为我需要知道另一个对象是在其中一条线(以及在哪条线)内还是在两条线的中间。任何建议表示赞赏。

编辑:

相机将只是街道的顶部,因此在应用程序中它们将是矩形。我只是没有在 google 中找到这样的图像。

【问题讨论】:

  • 这些不是矩形 :D

标签: opencv object-recognition


【解决方案1】:

正如@Miki 所说,这些不是矩形。它们是受透视变换影响的矩形。您应该寻找四边形检测。如果您希望它是通用的,这不是一件容易的事。

编辑:

根据您的编辑,要检测图像中的矩形,您需要进行一些其他测量。因为在您的情况下应用矩形检测算法会导致许多误报。

矩形检测:

  1. 应用 Canny 或任何其他边缘检测。
  2. 应用霍夫线。
  3. 找到它们之间的角度为 90 度(或几乎 90 +-5)的线对。
  4. 找出共同代表一个矩形的对。这并不难,您可能取决于线条的方向是否相反,并且它们相对于屏幕角落的角度相同。

隔离所需的矩形:

你会得到很多误报。所以,你需要过滤它们。从您提供的少量信息中,很难说出如何过滤它们。但是颜色应该可以正常工作。只需删除颜色不理想的矩形即可。

很多人还依赖于矩形的对齐方式。您可以隔离与其他矩形不垂直对齐的矩形

【讨论】:

    猜你喜欢
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 2019-07-04
    • 1970-01-01
    相关资源
    最近更新 更多