Страница 1 из 2
Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 13:08
roma
В общем в рамках учебного процесса нужно реализовать растровую ГИС. Не могу разобраться как произвести распознавание объекта (выделение контура, изменение его цвета) при клике мышкой на одной из его точек. Подскажите хотя бы в какую сторону копать.
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 13:21
nadiopt
растровая ГИС - это что такое?
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 13:52
Александр Мурый
растровая ГИС -- ГИС, работающая с растрами

То есть не просто подгружающая его в виде подложки, а делающая растровый анализ. Вон, у GRASS 156 базовых модулей для работы с растрами.
вот ArcGIS и GRASS -- растрово-векторные, причем Arc* вроде были изначально векторные, а GRASS -- растровая, а потом добавили недостающий функционал и туда, и туда..
Примеры растровых ГИС -- ILWIS, SAGA
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 13:55
alexandr cherepanov
тут уже проще Гуглить
вот для примера
презентация и
ссылка
на чем реализуете и почему выбор пал именно на растровый вариант?
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 13:59
Александр Мурый
Не уверен, что где-то при клике на растровый слой он выделяется. Просто не слышал о таком.
Может показываться значение в точке, координаты.. Изменение цвета -- классификация по признаку или произвольный цвет RBG?
Как, на чем надо "реализовать"? Технические подробности в студию.
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 16:14
roma
реализовать надо на делфи , растровый вариант - такое задание. вообщем дана карта в bmp, я сделал на ее основе двумерный массив. при клике на каком-нибудь объекте(дом, дорога) надо выделить его границы, показать семантическую информацию связанную с этим объектом (жилой дом, 5 этажей, улица) + должна быть возможность изменения цвета выделенного объекта. я вообще не представляю, как можно, зная одну точку , принадлежащую объекту, получить остальные его точки и границы.
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 16:16
roma
по сути задача сводится к работе с этим двумерным массивом
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 17:14
Максим Дубинин
поговорите с тем, кто дал вам такое задание, это очень странный подход, все это делают в векторе.
Теоретически площадь растрового объекта тоже можно получить, но вам при каждом клике мышкой придется решать поисковую задачу для пикселей соответствующего цвета или производить некую предварительную кластеризацию. Смысл этих манипуляций от меня ускользает.
Как с вашими растровыми объектами связана семантика тоже непонятно.
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 17:51
Olga_@@@
nadiopt писал(а):растровая ГИС - это что такое?
Вот статья на эту тему:
Много буков, но интересно написано. Автор - Капустин Григорий Аронович
Растровые модели пространственных данных основаны на способах квантования пространства с помощью регулярных сеток, каждый элемент которых содержит идентификатор, к которому можно связать неограниченный по длине набор атрибутов. При этом важным свойством растра является неразрывная связь между пространственной и атрибутивной информацией в единой прямоугольной матрице, положение элементов которой определяется номерами строки и столбца. Такая структура представления позволяет в любой момент развернуть любой из привязанных к идентификатору атрибутов в слой с размерностью исходной сетки. С помощью такого способа представления данных возможна формализация пространственно-непрерывной информации, свойственной большинству природных и значительному числу антропогенных объектов.
..... Кроме того, существуют определенные виды пространственных данных, которые невозможно или чрезвычайно сложно отразить с необходимой степенью детальности в векторном формате. В частности информация об атмосферном давлении, облачности, высотах над уровнем моря, расстояниях от выбранной точки до всех остальных точек поверхности (поле расстояний) трудно представима явно в векторном виде.
Roma, посмотрите эти ссылки. Может быть подойдет, как пример готовой программы, которая работает с растровой моделью.
Описание на русском. Откройте все 4 раздела
Приём метеоснимков при помощи WxtoImg
Скачать программу Вы можете бесплатно на её официальном сайте:
http://www.wxtoimg.com/downloads/
Найдите книгу - Тикунов В. С. Геоинформатика. Растровая модель данных
http://geoknigi.com/book_view.php?id=847
Re: Распознавание объектов на растровом изображении.
Добавлено: 01 апр 2010, 19:13
Дмитрий Барышников
Вообще этот подход хорошо забытое старое - были такие программы CAD, которые работали с растровыми чертежами, но при клике мышью, элемент чертежа векторизовался(!) и его можно было изменять. Потом вектор так и оставался вектором в таком растрово-векторном формате. По мере работы с чертежом он все больше переходил из растрового вида в векторный. В связи с масштабным переходом на цифровые технологии, такие программы ушли в прошлое.
Re: Распознавание объектов на растровом изображении.
Добавлено: 02 апр 2010, 01:50
Boris
кто из нас плохо понял задачу. возможно, что тот, кто ее ставил. Растровые ГИС существуют, и к элементу растра можно "связать неограниченный по длине набор атрибутов". Что само уже удивляет. Неограниченный на сколько? Это атрибутивные данные переменной длины?
Но суть не в этом, такое (растровое) представление данных, адресует элеметарный объект растра - один пиксель. В этом подходе пиксели друг с другом не связаны и общей фигуры не образуют. За исключением случая, когда 1 объект = 1 пиксель. В противном случае, где-то уже хранится информация о том, что группа пикселей образует единый объект. Хотя бы в качестве некотрого общего атрибута. Но такое атрибутивное связывание - это уже элемент векторного представления данных. Немного не привычного тем, что вершины регулярны и квантованы, но тем не менее - это уже список вершин, составляющих объект.
Если я не путаю, то ArcGIS поддерживает атрибуты у растров. Только там такой подход не используют для поиска домов и дорог в реальном масштабе времени и без сохранения этой информации.
В описании - ползадачи - это создание векторизатора = выбор пикселей и их объединение в объект на основе некоторых общих признаков.
Вторая половина = сохранение объекта и привязка к нему атрибутивных данных - номер дома, название улицы и т.п.
Re: Распознавание объектов на растровом изображении.
Добавлено: 02 апр 2010, 08:19
JEY
Задача, в общем, непростая... Скажите, а Вам необходимо реализовать Вашу "растровую ГИС" на базе какого-либо готового программного продукта, или Вы реализуете только техническую часть?
В любом случае было бы неплохо пройтись по библиотекам, которые осуществляют базовые операции с растровыми данными в памяти. К коим я отношу
Anti-Grain Geometry.
AGG содержит в себе базовые операции работы с объектами: scanlines, scanlines anti-aliased, spans, span allocators и прочие, из которых строится любое растровое изображение. Эти алгоритмы входят в ядро многих программ, таких как Photoshop.
Re: Распознавание объектов на растровом изображении.
Добавлено: 02 апр 2010, 08:34
geodata
Гибридный редактор Spotlight
http://www.csoft.ru/catalog/soft/spotli ... ght-8.html
вроде поддерживает надстройки
Re: Распознавание объектов на растровом изображении.
Добавлено: 02 апр 2010, 08:43
JEY
В принципе SpotLight - это тоже выход, равно как и Raster Design, что, по своей сути, тоже самое. И то и другое не бесплатно.
Re: Распознавание объектов на растровом изображении.
Добавлено: 03 апр 2010, 14:25
roma
Boris писал(а):кто из нас плохо понял задачу. возможно, что тот, кто ее ставил. Растровые ГИС существуют, и к элементу растра можно "связать неограниченный по длине набор атрибутов". Что само уже удивляет. Неограниченный на сколько? Это атрибутивные данные переменной длины?
Но суть не в этом, такое (растровое) представление данных, адресует элеметарный объект растра - один пиксель. В этом подходе пиксели друг с другом не связаны и общей фигуры не образуют. За исключением случая, когда 1 объект = 1 пиксель. В противном случае, где-то уже хранится информация о том, что группа пикселей образует единый объект. Хотя бы в качестве некотрого общего атрибута. Но такое атрибутивное связывание - это уже элемент векторного представления данных. Немного не привычного тем, что вершины регулярны и квантованы, но тем не менее - это уже список вершин, составляющих объект.
Если я не путаю, то ArcGIS поддерживает атрибуты у растров. Только там такой подход не используют для поиска домов и дорог в реальном масштабе времени и без сохранения этой информации.
В описании - ползадачи - это создание векторизатора = выбор пикселей и их объединение в объект на основе некоторых общих признаков.
Вторая половина = сохранение объекта и привязка к нему атрибутивных данных - номер дома, название улицы и т.п.
В условиях задачи есть допущение о том, что смежные пиксели одинакового цвета как раз и образуют объект.
На вопрос, как получить все пиксели объекта, зная только один пиксель, ответ я нашел. Все ,вообще говоря , довольно-таки просто, рекурсивно надо обойти все соседние пиксели, имеющие одно значение цвета. Пойду стряпать рекурсию)