Окрестности Мура - Moore neighborhood

Район Мура состоит из девяти ячеек: центральной и восьми ячеек, которые ее окружают.

В клеточные автоматы, то Окрестности Мура определена на двумерном квадратная решетка и состоит из центральной ячейки и восьми окружающих ее ячеек.

имя

Район назван в честь Эдвард Ф. Мур, пионер теории клеточных автоматов.

Важность

Это один из двух наиболее часто используемых типов соседства, второй - район фон Неймана. Хорошо известный Игра жизни Конвея, например, использует район Мура. Это похоже на понятие 8-связный пиксели в компьютерная графика.

Окрестность ячейки Мура - это сама ячейка и ячейки в Чебышевская дистанция из 1.

Концепция может быть расширена до более высоких измерений, например, образуя кубическую окрестность из 26 клеток для клеточного автомата в трех измерениях, как это использует 3D жизнь. В измерении d размер квартала 3d − 1.

В двух измерениях количество ячеек в расширенный Район Мура, учитывая его диапазон р есть (2р + 1)2.

Алгоритм

Идея формулировки окрестности Мура состоит в том, чтобы найти контур данного графа. Эта идея была большим вызовом для большинства аналитиков 18 века, и в результате алгоритм был основан на Граф Мура который позже был назван алгоритмом окрестности Мура.

Ниже приведено формальное описание алгоритма трассировки Мура-Соседа:

Ввод: Квадратная мозаика T, содержащая компонент P черных ячеек.Вывод: Последовательность B (b1, b2, ..., bk) граничных пикселей, то есть контура. Определите M (a) как окрестность Мура пикселя a. Пусть p обозначает текущий граничный пиксель. Пусть c обозначает текущий пиксель. находится на рассмотрении, т.е. c находится в M (p). Пусть b обозначает обратный путь от c (то есть соседний пиксель p, который был ранее протестирован) Начать  Набор B к быть пустым. От дно к верх и осталось к правое сканирование клеток T до тех пор обнаружен черный пиксель s матрицы P. Вставьте s в B. Набор текущая граничная точка p к s т.е. p = s Позволять b = пиксель, из которого s был введен во время сканирования изображения. Набор c будет следующим пикселем по часовой стрелке (от b) в M (p). В то время как c не равно s делать Если c является черная вставка c в B Позволять б = р Позволять р = с (возврат: переместить текущий пиксель c в пиксель, из которого был введен p)      Позволять c = следующий пиксель по часовой стрелке (от b) в M (p). еще      (переместите текущий пиксель c к следующему пикселю по часовой стрелке в M (p) и обновите обратный путь)      Позволять б = с Позволять c = следующий пиксель по часовой стрелке (от b) в M (p). конец Если  конец покаКонец

Условие прекращения

Первоначальным условием завершения было остановка после посещения начального пикселя во второй раз. Это ограничивает набор контуров, по которым алгоритм будет полностью проходить. Улучшенное условие остановки, предложенное Джейкобом Элиозоффом, - это остановка после второго ввода начального пикселя в том же направлении, в котором вы его изначально ввели.

Смотрите также

использованная литература

  • Вайсштейн, Эрик В. "Район Мура". MathWorld.
  • Тайлер, Тим, Район Мура в cell-auto.com