gpt4 book ai didi

image - 使用 Imagemagick 压缩非常大分辨率的图像文件

转载 作者:行者123 更新时间:2023-12-01 22:40:34 24 4
gpt4 key购买 nike

我有一些分辨率为 20400x28056 的扫描图像。我希望使用 imagemagick 来压缩它们。我试过convert ToBeCompressed.jpeg -quality 70 output.jpeg 但这个命令使我的笔记本电脑崩溃了。我认为它无法处理这么大的分辨率。如有任何建议,请。

最佳答案

需要检查一些事项...您的图像对应于大约 1.6GB 的原始数据,因此您可能会发现您需要运行 64 位环境,而不是 32 位。如果您使用的是 Windows,则可能需要在 NTFS 文件系统而不是 FAT 上运行,因为 FAT 文件系统虽然最大可达 130GB,但无法支持大于 2GB 的单个文件,如果幸运的话,可能无法支持大于 4GB 的单个文件。

最后,您是否可以考虑调整图像大小而不是降低其质量,如果您在读取图像时即时调整图像大小,您可能会做得更好因为它的资源密集程度较低。因此,假设您决定接受每边长度一半的图像(原始区域的 1/4)

convert input.jpg[50%x50%] -quality 70 output.jpg

根据您之后实际想要对图像执行的操作,您可以使用 ImageMagick 的 stream 实用程序将图像分割成 block 。它一次读取一行图像,因此只使用很少的内存。因此,要将图像的两半转换为原始格式,您可以这样做

stream  -extract 20400x14028+0+0     ToBeCompressed.jpg tophalf.rgb
stream -extract 20400x14028+0+14028 ToBeCompressed.jpg bottomhalf.rgb

然后,如果您想将这些原始 RGB 文件转换为 JPG,您可以这样做

convert -depth 8 -size 20400x14028 tophalf.rgb tophalf.jpg

您可以追求的另一个途径可能是vips,描述为 here .

因此,如果您的图像名为 BigBoy.jpg,您可以执行此操作将质量设置为 60,例如:

vips jpegsave BigBoy.jpg BB60.jpg --Q=60

这会导致我的系统出现这种情况

ls -l Bi* BB60.jpg
-rw-r--r-- 1 mark staff 270283175 19 Mar 14:17 BB60.jpg
-rw-r--r-- 1 mark staff 997198223 19 Mar 14:07 BigBoy.jpg

关于image - 使用 Imagemagick 压缩非常大分辨率的图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29139520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com