2011-12-02 46 views
1

我正在寻找一个很好的解决方案,以便如何在视频流中分割opencv中类似灰色阴影的大片区域。opencv:提取区域的方法

这是我的示例图像:

enter image description here

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

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

enter image description here

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

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

提前THX

+0

那么超级像素怎么样? – DorinPopescu

回答

1

分割出这样的区域将构建可应用于图像的Gabor滤波器组,检查各的Gabor滤波器的响应,在一个集体反应的好方法靠近每个Gabor滤波器周围的区域,可以找出想要的部分。

1-不同方向和大小的Builde Gabor滤波器 2-将它们应用于图像, 3-测量每个滤波器的响应。 4,在附近的每个过滤器的响应应该合理地彼此接近。 5-35然后做分割。

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

+0

嗨,谢谢为了你的回答,尽管我更多的思考了一些opencv函数,但没有发现关于gabor滤波器的任何内容。 – Ojtwist

+0

你将不得不自己构建gabor滤镜。初学者会很棘手。 – 2011-12-06 09:55:30

0

好,最终你可能想使用给定的图像如何嘈杂的陈& Vese(和其他类似)的工作。但是现在我们可以坚持使用OpenCV中实现的基本形态学操作符。

从形态闭合开始删除一些小细节,我在这里使用了9x9的方形。然后执行形态渐变以突出有趣的边缘,并通过简单的if value > mean + std/2, then 1, else 0进行分割。如果你放弃小部件,并做使用垂直结构元素(假如你希望加入垂直近段)另一收盘,这是我们最终用:

enter image description here

0

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