IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Работа_с_картой_(загружаемой_в_timage1..., Необходимо выделить сегмент карты (карта разнородная) щёлкнув мышью в
K_MANIAC
сообщение 7.01.2006 16:35
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Алихан

Репутация: -  0  +


Есть карта (растровая) - разнородная местность - которая состоит из сегментов - каждый сегмент своего цвета - но цвет не одинаков в сегменте - при приближении видно - пиксел влево - цвет чуть изменяется... пиксел вправо - снова чуть изменяется - но не приближая (издалека) - видно что сегмент ориентировочно одного цвета... - какой-то сегмент красный...какой-то фиолетовый и т.д.
Так вот, необходимо сделать так, чтобы "щёлкнув" мышью в любом месте карты - выделился один из сегментов карты - тот, в который мы попали...
Промучился почти 3 дня... не получилось stop.gif
Прошу помочь мне с данной проблемой...
Заранее ОГРОМНОЕ спасибо!...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 7.01.2006 16:38
Сообщение #2


Гость






Пример карты приаттачить сможешь? Хотелось бы видеть, насколько различны цвета внутри сегмента, и при этом насколько они отличаются от соседних сегментов...
 К началу страницы 
+ Ответить 
K_MANIAC
сообщение 7.01.2006 17:05
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Алихан

Репутация: -  0  +


Вот он...
но это только маленький фрагмент - а сама карта размерами 10175*6900-пикселей...
еле мощностей хватает на моём стареньком друге (Pentium III 1120MHz) для работы с ней...
...


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hardcase
сообщение 7.01.2006 23:37
Сообщение #4


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Таким образом, мы имеем задачу растровой векторизации.
А ты не пробовал взять карту и отвекторизовать, например Адобом Стримлайном, а потом окучить её в какомнить графическом редакторе - полностью закрасить регионы. А потом уже с закрашенными регионами работать в программе.
Ты ведь что-то вроде мини-ГИС пишешь?

А я думаю, для работы с таким здоровенны файлом можно и некоторую оптимизацию заделать - разрезать на квадраты, в конце концов!


Кстати насчёт издалека. Вот можно фсё это файло уменьшить раз эдак во много и посмотреть, что получили: т.е. при уменьшении при антиальязинге все регионы будут некоторого примерно однородного цвета, потом можно обработать это изображение и получить рисунок, в котором у нас будут регионы одного цвета (руками или в фотожопе - не знаю надо пикчу видеть). Далее на этой мини карте выделяем полигоны....

Сообщение отредактировано: hardcase - 7.01.2006 23:47


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
K_MANIAC
сообщение 8.01.2006 0:31
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Алихан

Репутация: -  0  +


К сожалению не знаю значения данной аббревиатуры - "ГИС" - но хотел бы услышать её расширфровку от вас yes2.gif ...
Кстати - почти так я сейчас и делаю - то есть - "полностью закрасить регионы. А потом уже с закрашенными регионами работать в программе." - только я делаю это на background'е - то есть пользователю не будет видно этой крашеной карты, а её массив пикселей будет в точности по порядку совпадать с массивом пикселей оригинальной карты - -вот учитывая цвета на бэкграундной карте я и хочу сопоставить сегменты к этой карте - попиксельно - что в принципе тоже пока не решённая задача - но представляется мне гораздо менее трудной... - но - этот вариант на случай если всё-таки у меня не выйдет с основной задачей - ведь желательно создать обработчик - такой, чтобы "тыркнув" мышью в любом месте карты - сегмент выделился - даже если мы эту карту заменим - на другую... О как! yes2.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hardcase
сообщение 8.01.2006 0:43
Сообщение #6


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Видел карту и честно скажу.
Написать обработчик "тыкнул и выделилось" - глухо нетривиальная задача с текущими входными данными - вашей картой.
А бэкграундная карта не обязательно должна быть тогоже размера, что и наша.
Нам нужны только регионы (полигоны). Если прога схематично подсветит - уже неплохо.


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
K_MANIAC
сообщение 8.01.2006 1:06
Сообщение #7





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Алихан

Репутация: -  0  +


Дааааа - когда я брался за задачку... - честно говоря даже мне она показалась не трудной...
Но в ходе решения... - многое прояснилось... больно уж карта сложжжжжная... да и тыркнул-выделилось - действительно - не получается... - просто принцип, которым можно реализовать - в голову не приходит - разьве что долгий поиск исключений областей на карте, которые не следует учитывать - а это вообще кошмар...
В общем будем пробовать так как начал... - Спасибо БОЛЬШОЕ всем за ответы!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 26.07.2025 7:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"