【发布时间】:2021-05-13 18:01:00
【问题描述】:
我正在使用python Pillow库做一个简单的图像格式转换。
这里有一些简单的代码来演示我在做什么
im = Image.open("images/filename.tiff", mode="r")
im.save("images/filename.png", optimize=True)
这导致尺寸平均增加 98%。这是我正在尝试创建的输入 tiff 的数据:
<image mode=1 size=2544x2230>
当我显式转换它时(通过调用 .convert(),大小平均只增加了 87%,但仍然很糟糕。为什么大小膨胀这么多?
这是我尝试过的?
- 在 .save() 上使用“质量”参数似乎效果不大
- 将“mode”参数显式传递给保存命令效果不大
- 使用 .convert("L") 对转换后的整体大小影响不大
编辑
这是一个示例图像,它通过了我上面描述的内容,生成了一个大 87% 的 png 文件、大 907% 的 jpeg 和大 907% 的 jpg。
https://share.getcloudapp.com/YEuR9LqP
Pillow 最新版本:8.2
Python 版本:3.8
在 MacOS 上运行:10.15.7
我是否遗漏了一些明显的东西,或者这只是我对图像库的工作原理缺乏了解?
【问题讨论】:
-
我没有看到任何明显的东西,所以建议你向
pillow的维护者报告一个错误。 -
请分享您的输入和输出图像的链接。
-
感谢您的回复。不幸的是,我不能,因为它们是机密图像。我们获得的大多数图像只是扫描的黑白文档。我可以尝试任何明显的事情吗?
-
当有人说“一个你看不到的图像在平台上变成另一个你也看不到的图像时,很难猜出问题是什么我没有提到使用未指定版本的 PIL"
-
很公平,你是对的。我编辑了问题,并在转换后包含了其中一张图像及其大小。也许你可以把它放在你的枕头上,看看你得到了什么结果?感谢您的帮助
标签: python python-imaging-library image-conversion