使用PIL进行图像调整会剧烈改变颜色。

11

我正在使用以下代码使用PIL调整图像大小

img = Image.open("in.png")
resized = ImageOps.fit(img, (200, 200), method=Image.ANTIALIAS)
resized.save("out.png")

但输出的图像颜色看起来非常不同。以下是它们的比较,大的是原始图像:

输入图像描述 输入图像描述

更奇怪的是,当我在Ubuntu中使用图像查看器打开它们时,它们看起来相同。但在Windows或MacOS中不同。


1
这里的颜色对我来说看起来都一样。这是使用Python 2.x吗?如果您使用其他图像格式(例如jpg)进行操作,是否遇到了相同的问题? - Levon
1
@Levon:右边的图像更亮更红。如果没有工作的颜色校正系统,你将无法分辨。 - Dietrich Epp
1个回答

7
较大的图像使用Adobe RGB颜色配置文件。在较小的图像中被省略,这意味着颜色校正系统将使用一些默认值(可能是sRGB),其色域可能更小。这会导致颜色看起来更加暗淡。
解决方案1:使用sRGB而不是Adobe RGB创建原始图像。
解决方案2:将较大图像的颜色配置文件复制到较小的图像中。
大多数Linux系统不支持颜色校正,至少在OS X或Windows上的范围内不支持。因此,在Ubuntu的图像查看器中它们看起来相同实际上是图像查看器程序的限制,该程序无法理解颜色配置文件。

好的,谢谢!你有什么办法可以将一个图像的颜色配置文件复制到另一个图像中吗? - Juan Enrique Muñoz Zolotoochin
1
请参见以下链接:https://dev59.com/mmYr5IYBdhLWcg3wcJx0 - Erik Forsberg

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