格温维尤

格温维尤

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

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

文件格式为png或jpg。

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

答案1

格温维尤

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

  • 它最初加载的是缩小的图像。该过程仅使用了 55.8 MB 的内存,因此显然它尚未加载完整的未压缩图像数据。

  • 在 100% 缩放时,平移图像非常灵敏。该过程现在占用 520 MB 内存,略高于未压缩的 32 位图像占用的 489 MB。

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

图像魔术师

图像魔术师支持处理巨幅图像而不将其全部存储在内存中。

为此,使用

display -limit memory 256mb huge_img.png

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

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

答案2

压缩的 jpg 可能只有 50 MB,但纯光栅大约有 700 MB。鉴于 32 位操作系统在一个进程中只能访问 2 或 3 GB 的内存... 由于操作系统负载和图形程序,可能没有空间。

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

您可以在具有 8 或 16 GB 内存的 64 位操作系统上尝试此操作吗?如果可以,则说明他们正在扩展 jpg。

相关内容