gpt4 book ai didi

python - 为什么 PIL 生成的 JPEG 图像质量那么差?

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

使用 PIL (1.1.7) 创建的 JPEG 图像质量很差。这是一个例子:

输入:https://s23.postimg.cc/8bks3x5p7/cover_1.jpg

输出:https://s23.postimg.cc/68ey9zva3/cover_2.jpg

输出图像是使用以下代码创建的:

from PIL import Image
im = Image.open('/path/to/cover_1.jpg')
im.save('/path/to/cover_2.jpg', format='JPEG', quality=100)

红色的文字看起来很糟糕。使用 GIMP 或 Photoshop 保存图像甚至不会接近 PIL 创建的质量差。有人知道为什么会发生这种情况以及如何解决吗?

最佳答案

JPEG 质量有两个部分。第一个是 quality 设置,您已将其设置为可能的最高值。

JPEG 也使用 chroma subsampling ,假设色调变化不如亮度变化重要,并且可以安全地丢弃一些信息。不幸的是,在要求苛刻的应用程序中,这并不总是正确的,您最容易在红色边缘注意到这一点。 PIL 没有公开记录的设置来控制这方面。

Pascal Beyeler 编辑:

我刚刚找到了一个禁用子采样的选项。您可以设置subsampling=0保存图像时,图像看起来更清晰!感谢您的帮助标记!

im.save('/path/to/cover-2.jpg', format='JPEG', subsampling=0, quality=100)

再次编辑:

subsampling 选项终于记录在案了,但我不知道这种情况持续了多久。看起来您可以选择整数参数或字符串;我还是推荐0如上图。

https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html#jpeg

另请注意,文档声称 quality=95 是最佳质量设置,应避免超过 95。这可能与早期版本的 PIL 有所不同。

关于python - 为什么 PIL 生成的 JPEG 图像质量那么差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19303621/

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