0

我有最适合描述为迷宫的图像。重要的特点是他们有我所说的走廊或路径。

我正在尝试在不完全关闭它们的情况下缩小这些走廊/路径。我对处理过的走廊必须有多窄没有任何严格的要求,我只需要把它们缩小一点。但是,我永远无法完全关闭一个。

这是未处理的图像

未经处理的图像

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

高斯模糊

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

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

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

4

1 回答 1

1

你可以试试这两个...

  1. 在图像上使用带有 3 X 3 掩码的Mat::ones(3,3,CV_8UC1)扩张...扩张可能比高斯模糊更快...通过扩张,您知道您已经将图像扩大了一个像素级别...
  2. 要检查白色路径区域的连通性,您可以使用连接组件标记...使用一次扫描连接组件进行更快的标记...
  3. 您还可以使用白色路径的轮廓来检查连接性......这就是我现在能想到的......!!
于 2012-12-24T01:50:54.953 回答