1

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

例如,这是我的图像:

在此处输入图像描述

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

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

在此处输入图像描述

我也试过精明。但结果也很糟糕。

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

提前谢谢

4

3 回答 3

1

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

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

希望这可以帮助。您可以在此处
找到有关 Gabor 过滤器的更多信息

于 2011-12-02T12:24:21.677 回答
0

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

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

在此处输入图像描述

于 2013-01-24T16:37:00.370 回答
0

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

于 2013-01-26T00:20:45.297 回答