【发布时间】:2011-05-20 06:22:57
【问题描述】:
我正在使用 Python 中的 PIL 库,我想知道如何确定给定 JPG 图像的质量。我尝试打开 JPG 图像对其进行处理并以原始质量再次保存。 Image.save 让我确定所需的质量:
im.save(name, quality = x)
但我看不到任何提取原始文件的方法。现在我只是猜测并尝试通过对“质量”参数进行二进制搜索来获得与输入大小相同的输出文件,但这是不可接受的长期解决方案:)
我也尝试过使用:Image.info,但我的大多数图像都没有任何有用的信息(例如:'adobe'、'icc_profile'、'exif'、'adobe_transform')
救命!
【问题讨论】:
-
一般来说,不可能恢复用于压缩 JPEG 文件的精确质量值,因为有多种不同的方法可以减少存储的信息,并且质量值只是编码器的指导,但是,如@unutbu 指出,有些软件可以做出大胆的猜测。
-
值得一提的是,JPEG 是一种有损格式,因此即使“质量”选项设置为相同的值,打开和保存图像也会降低图像质量。