![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
K_MANIAC |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Алихан Репутация: ![]() ![]() ![]() |
Есть карта (растровая) - разнородная местность - которая состоит из сегментов - каждый сегмент своего цвета - но цвет не одинаков в сегменте - при приближении видно - пиксел влево - цвет чуть изменяется... пиксел вправо - снова чуть изменяется - но не приближая (издалека) - видно что сегмент ориентировочно одного цвета... - какой-то сегмент красный...какой-то фиолетовый и т.д.
Так вот, необходимо сделать так, чтобы "щёлкнув" мышью в любом месте карты - выделился один из сегментов карты - тот, в который мы попали... Промучился почти 3 дня... не получилось ![]() Прошу помочь мне с данной проблемой... Заранее ОГРОМНОЕ спасибо!... |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Пример карты приаттачить сможешь? Хотелось бы видеть, насколько различны цвета внутри сегмента, и при этом насколько они отличаются от соседних сегментов...
|
K_MANIAC |
![]() ![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Алихан Репутация: ![]() ![]() ![]() |
Вот он...
но это только маленький фрагмент - а сама карта размерами 10175*6900-пикселей... еле мощностей хватает на моём стареньком друге (Pentium III 1120MHz) для работы с ней... ... Эскизы прикрепленных изображений ![]() |
hardcase |
![]()
Сообщение
#4
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Таким образом, мы имеем задачу растровой векторизации.
А ты не пробовал взять карту и отвекторизовать, например Адобом Стримлайном, а потом окучить её в какомнить графическом редакторе - полностью закрасить регионы. А потом уже с закрашенными регионами работать в программе. Ты ведь что-то вроде мини-ГИС пишешь? А я думаю, для работы с таким здоровенны файлом можно и некоторую оптимизацию заделать - разрезать на квадраты, в конце концов! Кстати насчёт издалека. Вот можно фсё это файло уменьшить раз эдак во много и посмотреть, что получили: т.е. при уменьшении при антиальязинге все регионы будут некоторого примерно однородного цвета, потом можно обработать это изображение и получить рисунок, в котором у нас будут регионы одного цвета (руками или в фотожопе - не знаю надо пикчу видеть). Далее на этой мини карте выделяем полигоны.... Сообщение отредактировано: hardcase - 7.01.2006 23:47 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
K_MANIAC |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Алихан Репутация: ![]() ![]() ![]() |
К сожалению не знаю значения данной аббревиатуры - "ГИС" - но хотел бы услышать её расширфровку от вас
![]() Кстати - почти так я сейчас и делаю - то есть - "полностью закрасить регионы. А потом уже с закрашенными регионами работать в программе." - только я делаю это на background'е - то есть пользователю не будет видно этой крашеной карты, а её массив пикселей будет в точности по порядку совпадать с массивом пикселей оригинальной карты - -вот учитывая цвета на бэкграундной карте я и хочу сопоставить сегменты к этой карте - попиксельно - что в принципе тоже пока не решённая задача - но представляется мне гораздо менее трудной... - но - этот вариант на случай если всё-таки у меня не выйдет с основной задачей - ведь желательно создать обработчик - такой, чтобы "тыркнув" мышью в любом месте карты - сегмент выделился - даже если мы эту карту заменим - на другую... О как! ![]() |
hardcase |
![]()
Сообщение
#6
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Видел карту и честно скажу.
Написать обработчик "тыкнул и выделилось" - глухо нетривиальная задача с текущими входными данными - вашей картой. А бэкграундная карта не обязательно должна быть тогоже размера, что и наша. Нам нужны только регионы (полигоны). Если прога схематично подсветит - уже неплохо. -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
K_MANIAC |
![]()
Сообщение
#7
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Алихан Репутация: ![]() ![]() ![]() |
Дааааа - когда я брался за задачку... - честно говоря даже мне она показалась не трудной...
Но в ходе решения... - многое прояснилось... больно уж карта сложжжжжная... да и тыркнул-выделилось - действительно - не получается... - просто принцип, которым можно реализовать - в голову не приходит - разьве что долгий поиск исключений областей на карте, которые не следует учитывать - а это вообще кошмар... В общем будем пробовать так как начал... - Спасибо БОЛЬШОЕ всем за ответы! |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 7:10 |