迷宫图像处理,修剪空白

时间:2015-01-19 09:09:20

标签: java algorithm image-manipulation maze

maze http://i60.tinypic.com/1491gzn.jpg

我遇到的问题是2像素宽度路径(白色部分)。

在图像的左上角(较暗的黑色部分),我手动浏览了宽度/高度为2像素的白色部分;

有两种解决方案(我能想到)。

  1. 以编程方式对其进行编辑,使路径为1x1;
  2. 找到一种处理大于1x1的路径的方法。
  3. 任何建议,迷宫解决算法(tremaux)我已经实现了1x1路径的工作,但我试图使它适应这个更大的迷宫。

    最好寻找适合迷宫的解决方案,其中路径宽度可以是任何大小,因为我已经编写了一个工具,我可以拍摄图像并将其转换为单色int [] []数组,用于迷宫解决

    只是寻找正确方向的提示/步骤,因为我不确定我是否正确地看到了这一点,或者我是否朝着正确的方向前进(没有双关语意图) )。

    由于

3 个答案:

答案 0 :(得分:1)

因此,您的网格有效地重复(1,2)= 3个像素,1个墙2路径。只需删除每隔3行。然后删除每第3列。

答案 1 :(得分:0)

将图像视为分为3x3块,左上角始终为墙,顶行和左列为可选墙,其余为路径,如下所示:

W w w
w P P
w P P

W = always wall
w = possible wall
P = always path

您需要将每个3x3块转换为2x2块,如下所示:

W w
w P

答案 2 :(得分:0)

如果您试图简化路径只是为了使迷宫更容易解决,那么您就无需打扰。使用BFS在迷宫中找到最短路径的速度几乎与任何路径稀疏算法一样快(除了删除每N行和每列),并且将生成没有任何额外曲折的路径。