В обработке изображений преобразование grassfire представляет собой вычисление расстояния от пикселя до границы области. Его можно описать как «поджигание» границ области изображения для получения дескрипторов, таких как скелет области или медиальная ось . Гарри Блюм представил эту концепцию в 1967 году. [1]
Скелет региона может быть полезным дескриптором, поскольку он описывает такие вещи, как симметрия региона, а также его подчасти, углубления и выступы. [2] Он также предоставляет способ соотнесения внутренней части региона с формой границы. В преобразовании grassfire скелет формируется в точках региона, где встречаются «пожары». В литературе это описывается как локус встречи волновых форм. [2]
Другим преимуществом использования результата преобразования grassfire в качестве дескриптора является то, что он обратим. Если предположить, что информация о том, когда медиальная ось или скелет создается путем встречи волновых форм, сохраняется, то скелет может быть восстановлен путем излучения наружу. [1]
Алгоритм ниже — это простой двухпроходный метод вычисления расстояния Манхэттена от границы региона. Конечно, есть несколько других алгоритмов для выполнения преобразования grassfire.
для каждой строки на изображении слева направо для каждого столбца на изображении сверху вниз if ( пиксель находится в области ) { установить пиксель на 1 + минимальное значение северных и западных соседей } else { установить пиксель на ноль } } } для каждой строки справа налево для каждого столбца снизу вверх if ( пиксель находится в области ) { установить пиксель на min ( значение пикселя , 1 + минимальное значение южных и восточных соседей ) } else { установить пиксель на ноль } } }
Ниже представлен результат этого преобразования. Важно отметить, что наиболее интенсивные линии составляют скелет.
Преобразование grassfire может быть абстрагировано для решения различных вычислительных задач. Было показано, что его можно расширить за пределы контекста изображений до произвольных функций. [3] Это включает приложения в задачах минимизации энергии, таких как те, которые обрабатываются алгоритмом Витерби , распространение убеждений максимального продукта, распределение ресурсов и методы оптимального управления. [3]
Его также можно использовать для вычисления расстояния между регионами, установив фон в качестве региона.