2015-01-19 4 views
0

maze http://i60.tinypic.com/1491gzn.jpgЛабиринт Обработка изображения, обрезка пробельные

Проблема я имею является 2 ширина пикселя путей (белые части).

В левом верхнем углу изображения (более темная черная часть) я вручную переместил белые части размером 2 пикселя по ширине/высоте;

Есть два решения (о которых я могу думать).

  1. программно отредактировать его так, чтобы пути 1x1;
  2. , чтобы найти способ борьбы с путями, превышающими 1x1.

любые предложения, алгоритм решения лабиринта (тремокс), я реализовал работы для путей 1x1, но я пытаюсь адаптировать его к этому более крупному лабиринту.

желательно искать решение, адаптируемое к лабиринту, где ширина пути может быть любого размера, поскольку я уже написал инструмент, в котором я могу взять изображение и превратить его в монохромный массив int [] [] для лабиринта решение.

Просто ищите подсказки/шаги в правильном направлении, так как я не уверен, правильно ли я смотрю на это правильно, или если я направляюсь по правильному пути (каламбур не предназначен).

Благодаря

ответ

1

Так что ваша сетка эффективно повторять (1,2) = 3 пикселей, 1 стенка 2 дорожки. Просто удалите каждую 3-ю строку. Затем удалите каждый 3-й столбец.

0

Придумайте изображения, как быть разделено на 3х3 блоков, причем верхний левый угол всегда быть стена, верхний ряд, и левый столбец быть дополнительными стенками и остальное пути, как это:

W w w 
w P P 
w P P 

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

Вам необходимо преобразовать каждый из этих блоков 3x3 в блок 2x2 следующим образом:

W w 
w P