Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Просмотр огромного изображения имеющего слои 
:(
    Опции темы
Saidin
Дата 24.6.2010, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 24.6.2010

Репутация: нет
Всего: нет



Доброго времени суток.
У меня стоит задача просмотра длинного изображения состоящего из слоёв. Каждый слой шириной до 1200 пикселей, переменной длиной (но обязательно очень длинная полоса), 2 байта на пиксель, 100 слоёв. Вся эта радость в сумме может весить до 64 ГБ.
Требуется:
    1) Общий обзор выбранного слоя ( обзорное изображение требуется сильно сжать )
    2) Детальный просмотр выбранного участка ( в каком-либо масштабе, либо в натуральную величину ).
    3) Переключение между слоями в первом и втором случае. ( в идеале динамично - пользователь перемещает ползунок - меняется слой )
Скажите пожалуйста в каком направлении копать? Как организовать файл изображения ( сейчас в качестве формата хранения выбран .tif )? Как организовать подгрузку изображения/слоя/?
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 24.6.2010, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: нет
Всего: 8



Файл, думаю, надо хранить в виде своего собственного бинарного формата. Сначала - некоторый заголовок, задающий число слоев и их длины в байтах (чтобы можно было быстро подсчитать адрес начала любого слоя в файле), далее - собственно содержимое слоев.
Данные - в виде тех же самых двух байтов на пиксел. Масштабирование делается с помощью явного задействования MMX-команд процессора. Эти команды как раз с байтовыми данными и работают. Надо будет просто считать средние значения для блоков в 2*2, 4*4, 8*8 пикселов (проще масштаб делать кратным двойке, чем какому-то совершенно произвольному числу процентов от размера изображения).
Подгружать данные из файла - с помощью проецируемых в память файлов (это виндовозная технология, для линукса м.б. такого нет). Там к нужному куску данных (с любого места из середины файла), длиной, правда, не более двух или четырех гиг в 32-разрядной винде (имеется в виду размер проецируемого куска файла, а не длина самого файла) можно получать доступ без организации специального выделенного буфера для чтения данных (как это происходит при обычных файловых операциях).
Вопчем, курите Вин32АПИ и ассемблер.

Это сообщение отредактировал(а) VictorTsaregorodtsev - 24.6.2010, 23:34
PM MAIL WWW   Вверх
Saidin
Дата 25.6.2010, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 24.6.2010

Репутация: нет
Всего: нет



Спасибо, есть много над чем курить...
PM MAIL   Вверх
Rpahut
Дата 26.6.2010, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 5
Всего: 7



Кури тогда ещё мипмаппинг и quadtree.
На здоровье.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0387 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.