Найти - Пользователи
Полная версия: Обработка больших изображений при маленьком количестве ОЗУ
Начало » Python для экспертов » Обработка больших изображений при маленьком количестве ОЗУ
1 2
Romario
Итак по порядку :-)
BW: Уже изучаю структуру и opensource библиотеки, открывающие JPG. Надеюсь за праздники закрыть этот вопрос.
Igor.Kaist: Вектор убираем сразу - кто же мне карты даст, кроме openstreetmap.org? Просто изачальная ориентированноть на растровые карты связана с тем, что я часто участвую в вело-пеших походах. Мне не нужны шоссе - мне нужны тропинки (хотя и шоссе тоже хорошо :-) )
К сожалению векторных карт для этого еще нет. По этому - только растр.
Shiza: Вчера, понимая что с JPG это история долгая, решил написать обработчик для BMP. Перегнал километровку охватывающую Карельский перешеек (чуть больше) и получил милый файл объемом 422Мб. Это не допустимое решение.

Формат хранения я предполагаю следующий:
В заголовке хранится информация об адресах в этом же файле каждого сегмента 256х256 карта и степень его маштаба. Этот список загружается в память устройства. Далее я узнаю по позиции карты на экране дисплея, какие куски мне нужно открыть, и пробегаюсь по файлу, выцепляя, эти самые куски. Соответсвено для Series60 (208х208,320х240) - это максимум две последовательности (в каждой два квадрата. Для Series60 9.5 (c его 640х320) - 3 пробежки (вертикаль), в каждой - по 4 квадрата. Для N8x0 3 пробежки по 6. В каком виде хранить эти куски - придется решить, с учетом скорости распаковки JPG (если они в этом формате), или используя какой-либо еще. Но формат обязательно должен быть с сжатием
shiza
Romario
PNG это не BMP.
http://ru.wikipedia.org/wiki/Png


JPG для карт - очень странно решение. У вас что - карты с полутоновыми переходами? %)
bw
Если все карты проходят через твои руки, то почему бы их не подготовить заранее, разбить и упаковать необходимым способом?

..bw
Romario
Изначально обрабатывать JPG или BMP я буду, пототу что карт в формате OziExplorer *.ozf2 очень много, формат этот закрытый, но их можно сохранять как БМП. Еще раз повторюсь - все это - нужно для конвертации исходных карт(изображений) в мой формат. Мой же формат (точнее формат изображений в нем) будет выбираться опытным путем, исходя из библиотек и ресурсов различных платформ. Полутоны мне конечно не нужно, достаточно и 256 цветов (как я уже указывал выше).
igor.kaist
Ну тогда уж точно не jpg.. png здесь точно рулит! Насчет gif, насколько я знаю, у этого формата не все в порядке с лицензированием.. Вернее компания создатель gif вроде как требует отчисления. Можно забить конечно, но раз уж делаешь опен сурс..
bw
> для конвертации исходных карт(изображений) в мой формат
Где ты будешь эту конвертацию делать? На таблетке что-ли? А если нет, то что за проблемы с памятью (докупи оперативы, что-ли, она сейчас не такая дорогая)? Грузи всё в память и там разбивай на 256x256.

..bw
Dmitrij
Если же перед вами стоит учебная цель — научиться работать с растрами, то я умолкаю. Но если вы идете от конкретной задачи, то все будет выглядеть по другому.

Если плясать от задачи (не той, что в заголовке, а исходной):
Romario
Игорь, правильно угадал - карты

Всю эту гадость я затеял для того, чтобы создать кроссплатформенный и бесплатный аналог OziExplorer (кто не в курсе - это программа под Windows и Windows Mobile для работы с растровыми картами). Под Series60,80,UIQ такой аналог есть - это SmartComGPS, а вот под устройства на GNU/Linux - к сожалению не ничего даже близко стоящего. …
Это далеко не так. Под Linux есть столько разработок с открытым исходным кодом, позволяющих работать с картами, что в глазах рябит. Если вам нужна именно программа для отображения карт (не важно, векторных или растровых), то ищите в первую очередь здесь: http://www.freegis.org/ Там вы можете выбрать себе по вкусу или уже готовую программу, или библиотеки, поддерживающие работу с картами. Там же есть огромное число кроссплатформенных разработок, в том числе и на питоне — по сайту работает поиск, разберетесь.

Я лично советую смотреть в первую очередь в сторону qGIS (это лично мое предпочтение, на упомянутом сайте есть много очень достойных разработок, по возможностям куда превышающим и OziExplorer, и даже полноценные комерческие ГИС типа MapInfo, ArcView и др.). На основе библиотек qGIS можно собрать полностью свое приложение (если вас не устраивает исходная программа): со своим интерфейсом, со своими возможностями. Начала работы с этой стороной qGIS можно посмотреть здесь: http://gis-lab.info/qa/qgis-standalone.html работу по привязке растров можно смотреть здесь: http://gis-lab.info/qa/georef-qgis.html

Вообще, если вас интересует работа с картами, то стоит заглядывать на http://gis-lab.info/ там публикуется много материалов, среди которых есть и по открытым картографическим движкам.
Romario
2BW: Да, и на таблетке тоже. И на смартфоне. Не раз случалась ситуация, когда у кого-то есть отличная бумажная карта, нужной местности и было бы здорово в полевых условиях ее сфотографировать и перегнать под программу, отображающую карты и имеющую связку с ГПС (соответственно отпозиционировав). Конечно такие фотографии будут иметь размер 3-10Мб и формат JPG, но все же было бы здорово, если бы была возможность перегонять и изображения большего размера.
2Dmitrij: Спасибо за полезную информацию. Я сомневаюсь, что смогу (и буду) портировать qgis на S60, Maemo, но кое что ценное нашел.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB