SASGIS

Веб-картография и навигация

Поиск фрагмента карты/рисунка

Обсуждение различной информации связанной с картографией в САСе, а также сторонние программные продукты для связки с САСом

Модератор: Tolik

Re: Поиск фрагмента карты/рисунка

Сообщение Parasite » 17 дек 2008, 18:14

vdemidov писал(а):Ну если не морочить голову с размерами изображения, тоесть если большой джепег можно распаковать целиком в память, и не писать красивый GUI, то готов написать. Даже с произвольным сдвигом окна. И время работы будет сравнимое со временм иросчета средней якркости и контрастности.

Ну так велкам! Кто там просил-то алгоритма, чего-то его давно не видать... :?:
PS: а как будем обрабатывать, если битмап не лезет в память полностью? Или - возьмем глобальней - если битмап во много раз больше размера ОЗУ?
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение vdemidov » 18 дек 2008, 01:37

Сам алгоритм бы я реализовал, но проблема в том что не приходилось работать с джепегом и не люблю рисовать пользовательский интерфейс. Я просто не знаю можно ли получить из джепега сколько-то строк изображения не распаковывая целиком все в память.
Что-то не слышно задававшего вопрос. Или он все понял, или это было не слишком нужно :)
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение Parasite » 18 дек 2008, 06:38

vdemidov писал(а):Я просто не знаю можно ли получить из джепега сколько-то строк изображения не распаковывая целиком все в память.

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

vdemidov писал(а):Что-то не слышно задававшего вопрос. Или он все понял, или это было не слишком нужно :)

Скорее всего второе. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение vdemidov » 18 дек 2008, 10:24

Только что чуть-чуть почитал про JPG. Там должно быть достаточно просто распаковывать полосками по 8 пикселей:
Цитата из Википедии:
Далее цветовые каналы изображения, включая черно-белый канал Y, разбиваются на блоки 8 на 8 пикселей. Каждый блок подвергается дискретно-косинусному преобразованию.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение Parasite » 18 дек 2008, 12:10

vdemidov писал(а):Только что чуть-чуть почитал про JPG. Там должно быть достаточно просто распаковывать полосками по 8 пикселей:
Цитата из Википедии:
Далее цветовые каналы изображения, включая черно-белый канал Y, разбиваются на блоки 8 на 8 пикселей. Каждый блок подвергается дискретно-косинусному преобразованию.

А теперь прочитайте написанное ДО и написанное ПОСЛЕ этих строк. :)

Было бы неверно судить о всем формате лишь по паре строчек из середины алгоритма упаковки оного. Разбиение на блоки - лишь одна из многих операций, не первая и не последняя - и она уже сделана кем-то, и Вы на этот процесс сейчас уже не можете повлиять, если у вас уже готовая картинка именно в ЖПЕГе, в которой картинке Вам и надо искать. Вам придется провести все обратные процедуры, чтобы поиметь все те исходные данные (за минусом потерь, разумеется). То есть - распаковать ЖПЕГ. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение vdemidov » 18 дек 2008, 12:19

Спорить не буду, но думаю получить картинку потоково по 8 строк я бы смог.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение Parasite » 18 дек 2008, 12:32

vdemidov писал(а):Спорить не буду, но думаю получить картинку потоково по 8 строк я бы смог.

Пробуйте. :)
PS: Вас не смущает, что даже приведенная Вами цитата оперирует понятием "блока", а не "линией" и уж тем более не "пикселем" - а далее идет общая упаковка всего этого добра? Намекните мне пожалуйста алгоритм выделения из ЖПЕГ-файла ПРЕДПОСЛЕДНИХ 8 линий (Y-16....Y-9 включительно) на 50% их длины (по 25 процентов в обе стороны от центра) без затрагивания\распаковки всего предыдущего\последующего массива (и в идеале - даже без обращения к ЖПЕГ-заголовку)? В БМП/РАВ это всё делается элементарно, например.
Спасибо.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение vdemidov » 18 дек 2008, 12:56

Все дело в том что мне то они и нужны последовательно. Просто вычисление нужно производить паралельно с распаковкой. Мне последние линии нужны только после распаковки предыдущих линий. Мне просто хранить все что выше них не обязательно.
Так что весь вопрос в наличии декодера, который может распаковывать постепенно не храня всю битмапку целиком. Другое дело, что готового я такого не знаю, а искать или писать самому просто не вижу смысла. К алгоритму поиска это отношения не имеет.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение Parasite » 18 дек 2008, 13:01

vdemidov писал(а):Так что весь вопрос в наличии декодера, который может распаковывать постепенно не храня всю битмапку целиком. Другое дело, что готового я такого не знаю, а искать или писать самому просто не вижу смысла.

Дак я же ранее и писал, что "...при этом придется писать свой обработчик, ибо общедоступные насколько я знаю не позволяют селективной распаковки отдельно взятого участка жпег-изображения..."

Впрочем, судя по всему - тема умерла, так как запросившего алгоритм уже давненько тут не видать. Предлагаю пока что закруглить тут с обсуждением, если вопрошающий вдруг появится и продолжит тему - мы все это заметим, и там уж видно будет...
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Поиск фрагмента карты/рисунка

Сообщение romangrom » 19 дек 2008, 15:20

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



Всем привет. Честно говоря, когда я задал вопрос, то не думал, что решение такое сложное; :( казалось бы, задача не такая уже и уникальная и нерешаемая: найти рисунок в большем рисунке. Понимаю, что это из области OCR, но ведь это же не новинка. Если действительно нет готового решения, то тогда всем спасибо.

P.S. Если все-таки у кого-нибудь это получится, буду весьма признателен.
romangrom
Новичок
 
Сообщения: 6
Зарегистрирован: 10 дек 2008, 02:54
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Пред.

Вернуться в Другие программы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1