Для реализации описанного выше способа нам понадобятся две команды GRASS: и . Первая команда используется для создания фильтров и их последующего использования, вторая представляет собой мощный растровый калькулятор.
Предположим, что у нас уже , в которую загружен растр под именем test. Этот файл показан на рисунке:
2. Реализация в ГИС GRASS
А s2 обработкой аналогичной маской:
Из практических соображений, когда при вычислении частных производных используют метод скользящего окна, часто применяют оператор Собела. В этом случае s1 находят при помощи обработки маской 3x3:
здесь n1,n2 - координаты (измеренные в пикселах) на растровом изображении.
Однако, в чистом виде данная формула неприменима, поскольку она работает с частными производными, которые не существуют в точках разрыва функции, т.е. имеют смысл для непрерывных функций, но не дискретных. А так как поле яркости изображения в общем случае представляет собой фунцию двух переменных со множеством разрывов, то частные производные необходимо получить в виде оценок:
Поскольку нас не будет интересовать направление градиента, то ограничимся вычислением его модуля:
Как известно, градиент функции двух переменных вычисляется по формуле:
Следовательно, на участках с большим перепадом высот модуль градиента должен быть также большим, а на относительно плоских участках - приблизительно равным нулю. Таким образом, для выделения контуров объектов необходимо построить поле модуля градиента для функции яркости исходного изображения. Эта функция является функцией, зависящей от двух переменных - координат x и y.
Градиент - это вектор, ориентированный по направлению наиболее быстрого возрастания и имеющий длину, пропорциональную этой максимальной скорости.
Прежде, чем приступать к описанию решения задачи, дадим необходимое определение:
Растровое изображение представляет собой модель некоторой 2.5-мерной поверхности, где каждый элемент помимо положения имеет координату Z, собственно значение, которое может быть представлено в виде высоты. Таким образом, участки относительно однородного фона на растре представляют собой более или менее плоские участки на моделирумой поверхности, а области, расположенные непосредственно на границах объектов, являются областями перепадов функции яркости растра. Следовательно, задача поиска контуров объектов на растровых изображениях - это задача поиска участков с относительно резкими перепадами высот (значений) моделируемой растром поверхности. Задача такого рода - хорошо изученная задача математического анализа, которая решается дифференциальными методами.
Необходимо подчеркнуть, что задача получения векторного представления контуров объектов не ставится, в данном случаем нам достаточно построения растрового изображения, на котором контуры объектов будут подчеркнуты.
Комментариев 4
Предположим, что имеется растровое изображение, например, космоснимок, содержащее некоторое число "пятен" - объектов разной природы, расположенных на относительно однородном фоне. Объект выделяется на фоне изображения благодаря его большей или меньшей яркости относительно яркости фона. Таким образом, контур (граница) объекта характеризуется скачкообразным изменением функции яркости изображения. Требуется построить автоматизированную процедуру выделения контуров объектов по изменениям функции яркости.
В статье рассматривается теоретические основы и практическая реализация процедуры оконтуривания объектов, представленных на растровых изображениях.
Выделение растровых контуров объектов в GRASS
Географические информационные системы и дистанционное зондирование
GIS-Lab: Выделение растровых контуров объектов в GRASS
Комментариев нет:
Отправить комментарий