linux下的大图查看器(>100 MP彩色图像)

osg*_*sgx 10 linux image-viewer images

我有很多 50-100 MP 的彩色图像,我想在 linux 上查看。

例如,10000x17000 大小是典型的,但大多数图像查看器会因内存不足而失败。

文件格式为 png 或 jpg。

我想要的是能够部分和整体查看此类图像,并能够滚动图像。内存消耗低,因此没有完整的图像解压缩到内存中的位图。

Mec*_*ail 7

格温维尤

这是默认的 KDE 图像查看器。我刚刚在 128 兆像素的彩色 JPEG(我的操作系统是 32 位)上进行了尝试。Gwenview 加载图像大约 1 秒。

  • 它加载最初缩小的图像。该进程只使用了 55.8 MB 的内存,所以很明显它没有加载完整的未压缩图像数据。

  • 在 100% 缩放时,平移图像时非常活泼。该进程现在使用 520 MB 内存,比未压缩的 32 位图像占用的 489 MB 略多。

但是,对于您描述的大小的图像,在最近的计算机上可以将整个内容加载到内存。(Linux 上的 32 位寻址限制为 3 GB。)

图像魔术师

ImageMagick支持处理巨大的图像,而无需将其全部存储在内存中。

为此,请使用

display -limit memory 256mb huge_img.png
Run Code Online (Sandbox Code Playgroud)

(替换256mb为您要使用的内存量)。ImageMagick 会将剩余的像素数据存储在磁盘 ( /tmp/magick-12345678) 上,因此它不必将其全部保存在内存中。

它似乎比 Gwenview 慢,但如果您不想安装 Gwenview 的所有 KDE 依赖项,或者资源严重受限,您可能更喜欢它。


小智 1

压缩后的 jpg 可能只有 50 兆,但纯光栅大约有 700 兆。给定的 32 位操作系统在一个进程中只能访问 2 或 3 GB 内存……随着操作系统负载和图形程序的增加,可能没有空间。

问题是您正在使用的图像工具是否在内部处理光栅。要进行窗口查看,工具需要一点一点地访问 jpg 数据。我不知道这是否可能。

您可以在具有 8 或 16 GB 内存的 64 位操作系统上尝试一下吗?如果它在那里工作,那么你就知道他们正在扩展 jpg。