【问题标题】:opencv: Ways to extract an areaopencv:提取区域的方法
【发布时间】:2012-01-11 11:19:48
【问题描述】:

我正在寻找一个很好的解决方案,如何在视频流中分割 opencv 中类似灰色阴影的大面积区域。

这是我的图片,例如:

为了得到这张图片,我已经做了直方图均衡。我想检测中间的那个区域。这是一个很大的灰色区域,但它的灰色阴影仍然不同。

应用阈值不是解决方案,因为该区域可以是浅灰色或深灰色,以及任何类型的灰色。但是该区域将在整个区域或多或少具有相同的灰色。 我在 opencv 中尝试过自适应阈值,但没有得到好的结果:

我也试过 canny 。但结果也很糟糕。

所以我的问题是如何在 opencv 中正确分割类似灰色的区域?

提前谢谢

【问题讨论】:

  • 超像素呢?

标签: c++ image-processing opencv image-segmentation threshold


【解决方案1】:

我正在使用 OpenCV 检测机器人曲棍球比赛中的蓝色、黄色或绿色物体。在这里你有一个类似的问题,冰球的“测量”颜色取决于光线和其他因素。通过将我的相机图像转换为 HSV 颜色空间,您可以很好地匹配这些条件(H = 色调,S = 饱和度)。因此,您可以将图像转换为 HSV,然后为您的灰色区域定义一个阈值。(例如,将 30,100,100 和 40,255,255 之间的所有像素设置为 1,其余像素设置为 0。

【讨论】:

    【解决方案2】:

    好吧,考虑到您的图像有多么嘈杂,您最终可能想要使用 Chan & Vese(以及其他类似作品)的作品。但目前我们可以坚持使用 OpenCV 中实现的基本形态算子。

    从形态闭合开始以去除一些小细节,我在这里使用了一个正方形 9x9。然后执行形态梯度以可能突出有趣的边缘,并通过简单的if value > mean + std/2, then 1, else 0 进行分割。如果您丢弃小组件并使用垂直结构元素进行另一次关闭(假设您要垂直连接近段),这就是我们的结尾:

    【讨论】:

      【解决方案3】:

      分割此类区域的一种好方法是构建一组可应用于图像的 Gabor 过滤器,检查每个 gabor 过滤器的响应,并在靠近周围区域的区域中进行集体响应每个 Gabor 过滤器,您都可以渴望得到想要的部分。

      1- 构建不同方向和大小的 Gabor 过滤器 2-将它们应用于图像, 3- 测量每个滤波器的响应。 4- 附近的每个过滤器的响应应合理地相互靠近。 5- 然后进行分割。

      希望这会有所帮助。
      你可以找到更多关于 Gabor 过滤器的信息Here

      【讨论】:

      • 您好,谢谢您的回答。虽然我更多地考虑一些opencv函数。我没有找到任何关于 gabor 过滤器的信息。
      • 您必须自己构建 gabor 过滤器。一开始会很棘手。
      猜你喜欢
      • 2018-05-15
      • 2011-12-07
      • 2017-09-28
      • 1970-01-01
      • 2014-01-29
      • 2018-06-15
      • 2012-04-27
      • 2013-09-22
      • 2018-05-05
      相关资源
      最近更新 更多