使用opencv缩小走廊和路径

时间:2012-12-24 01:32:26

标签: opencv javacv

我的图像最好被描述为迷宫。重要的特征是他们拥有我称之为走廊或路径的东西。

我正试图缩小这些走廊/路径而不完全关闭它们。我对加工走廊的狭窄程度没有任何严格的要求,我只需要将它们缩小一点。但是,我从不完全关闭一个。

这是一张未经处理的图片

unprocessed image

这是应用高斯模糊后的图像  cvSmooth(img, img, CV_GAUSSIAN, 9);

with guassian blur

结果非常好,但我不知道我的走廊在入射的图像中有多宽,并且它们不一定会有这样直的规则角度的墙壁,也没有一致的走廊宽度,所以这样一个天真的解决方案肯定会完全阻挡了一些走廊。

我一次想到一点点模糊,在图像上运行寻路算法,以确保我没有关闭走廊,但我认为这会太慢。

所以,我正在寻找一种快速缩小走廊的方法,而不会有完全关闭走廊的风险。

1 个答案:

答案 0 :(得分:1)

你可以尝试这两个......

  1. 在图像上使用3×3 Mat::ones(3,3,CV_8UC1)的掩模进行扩张...扩张模糊比高斯模糊工作更快...通过扩张你知道你已经将图像扩展了一个像素级别......
  2. 要检查白色路径区域的连通性,您可以使用连接组件标签...使用一个扫描连接组件以加快标签...
  3. 您还可以使用白色路径的轮廓作为连接检查... 那就是我现在能想到的所有...... !!