Просмотр огромных изображений под Linux (> 100 Мп цветных изображений)

2427
osgx

У меня есть много 50-100 Мп цветных изображений, которые я хотел бы посмотреть на Linux.

Например, типичный размер 10000x17000, но большинству средств просмотра изображений не хватает памяти.

Формат файла - PNG или JPG.

Что я хочу, так это возможность просматривать такое изображение частично и полностью, с возможностью прокручивать изображение. Низкое потребление памяти, поэтому полное изображение не распаковывается в растровое изображение в памяти.

7
Похоже, что работа идет в этом - см. [LinuxJournal статья о LIMP] (http://www.linuxjournal.com/article/3492). new123456 12 лет назад 0
Это с 64-битным Linux? Ken 12 лет назад 0
Нет, это 32-битная версия. Изображение PNG очень сильно сжато, до нескольких мегабайт. JPEG 20-50 мб. osgx 12 лет назад 0

2 ответа на вопрос

6
Mechanical snail

Gwenview

This is the default KDE image viewer. I just tried it on a 128-megapixel color JPEG (my OS is 32-bit). Gwenview loaded the image about 1 second.

  • It loads the image zoomed out initially. The process is using only 55.8 MB of memory, so clearly it hasn't loaded the full uncompressed image data.

  • At 100% zoom, it is quite snappy when I pan the image. The process is now using 520 MB of memory, which is slightly more than the 489 MB the uncompressed 32-bit image would take up.

However, with images of the size you described, loading the whole thing in memory is tractable on a recent computer. (The 32-bit addressing limit is 3 GB on Linux.)

ImageMagick

ImageMagick supports processing huge images without storing it all in memory.

To do this, use

display -limit memory 256mb huge_img.png 

(replace 256mb with however much memory you want to use). ImageMagick will store the remainder of the pixel data on disk (/tmp/magick-12345678), so that it doesn't have to hold it all in memory.

It seems to be slower than Gwenview, but you might prefer it if you don't want to install all of Gwenview's KDE dependencies, or are heavily resource-constrained.

1
Nelson Asinowski

Сжатый JPEG может быть только 50 мегабайт, но чистый растр будет около 700 мегабайт. Данные 32-битные ОС могут получить доступ к 2 или 3 гигабайтам памяти в процессе ... При загрузке ОС и графической программе может не быть места.

Вопрос в том, работают ли инструменты изображений, которые вы используете, с внутренним растром. Для оконного просмотра инструментам необходим побитовый доступ к данным jpg. Я не знаю, возможно ли это.

Можете ли вы попробовать это на 64-битной ОС с 8 или 16 гигабайтами памяти. Если это работает там, то вы знаете, что они расширяют JPG.

Вопрос заключался в том, чтобы найти программы, которым не нужно хранить полный (детализированный) растр в памяти. Когда я просматриваю часть изображения, распаковывается только эта часть (и некоторый растровый файл); если перейти на другую часть, я буду ждать новой распаковки. При просмотре полного изображения растр можно уменьшить сразу после распаковки. Я думаю, [OpenEV] (http://openev.sourceforge.net/) является примером такой программы - и мои изображения - это геопространственные данные. osgx 11 лет назад 0

Похожие вопросы