Python PIL JPEG 质量

15

我使用Python将JPEG图像以更小的质量保存。

im = Image.open(file)
im.save(cached_file, quality=80, optimize=True, progressive=True)

然而,在一些图像中,新图像的文件大小却比原图大。这是怎么回事?


提供一个相关的例子将会很有帮助。 - Mark Ransom
可能是Determining JPG quality in Python (PIL)的重复问题。 - Cees Timmerman
1个回答

8

原始图像有可能以质量 < 80 的方式保存吗?因此,您基本上是使用更多的空间来保存重建的伪影吗?


有没有办法确定原始图像的质量,并仅在其较小时继续处理过程? - Thomas
3
我刚刚查看了一些PIL文档-http://www.pythonware.com/library/pil/handbook/format-jpeg.htm,看起来默认质量为75,这意味着如果您读取一个没有指定质量的由PIL保存的图像,则可能发生我所假设的情况。显然,在读取JPEG时,并不知道其质量。我猜测预先了解关于JPEG编码的更多信息可能是唯一的方法。也许您可以将新保存的文件与原始文件进行比较,然后决定保留哪个? - user1245262
实际上,我已经考虑过你所建议的,并可能会采纳,但我想问一下是否有更优化的处理方式。谢谢。 - Thomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接