gpt4 book ai didi

python - 如何使用 PIL 减小图像文件大小

转载 作者:IT老高 更新时间:2023-10-28 20:32:45 25 4
gpt4 key购买 nike

我正在使用 PIL 通过将较大的图像转换为较小的图像来调整图像的大小。是否有任何标准方法可以在不损失太多质量的情况下减小图像的文件大小?假设图像的原始大小为 100 kB。我想把它缩小到 5 或 10 kB,尤其是对于 PNG 和 JPEG 格式。

最佳答案

保存 JPEG 和 PNG 的内置参数是 optimize

 from PIL import Image

foo = Image.open('path/to/image.jpg') # My image is a 200x374 jpeg that is 102kb large
foo.size # (200, 374)

# downsize the image with an ANTIALIAS filter (gives the highest quality)
foo = foo.resize((160,300),Image.ANTIALIAS)

foo.save('path/to/save/image_scaled.jpg', quality=95) # The saved downsized image size is 24.8kb

foo.save('path/to/save/image_scaled_opt.jpg', optimize=True, quality=95) # The saved downsized image size is 22.9kb

optimize 标志将对图像进行额外的传递,以找到尽可能减小其大小的方法。 1.9kb 可能看起来不多,但超过数百/数千张图片,它可以加起来。

现在尝试将其缩小到 5kb 到 10kb,您可以在保存选项中更改质量值。在这种情况下,使用 85 而不是 95 的质量会产生:未优化:15.1kb优化:14.3kb使用 75 的质量(如果省略参数,则默认)将产生:未优化:11.8kb优化:11.2kb

我更喜欢带有优化的质量 85,因为质量受到的影响不大,而且文件大小要小得多。

关于python - 如何使用 PIL 减小图像文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10607468/

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