我正在使用以下代码使用 PIL 调整图像大小
img = Image.open("in.png")
resized = ImageOps.fit(img, (200, 200), method=Image.ANTIALIAS)
resized.save("out.png")
但是输出的图像颜色看起来非常不同。在这里他们是为了比较,大的是原来的:
更奇怪的是,当我在 ubuntu 中使用图像查看器打开它们时,它们看起来是一样的。但不是在 Windows 或 MacOS 中。
我正在使用以下代码使用 PIL 调整图像大小
img = Image.open("in.png")
resized = ImageOps.fit(img, (200, 200), method=Image.ANTIALIAS)
resized.save("out.png")
但是输出的图像颜色看起来非常不同。在这里他们是为了比较,大的是原来的:
更奇怪的是,当我在 ubuntu 中使用图像查看器打开它们时,它们看起来是一样的。但不是在 Windows 或 MacOS 中。
较大的图像使用 Adobe RGB 颜色配置文件。它在较小的图像中被省略,这意味着色彩校正系统将使用一些默认值(可能是 sRGB),它可能具有较小的色域。这将导致颜色显得更暗淡。
解决方案 1:使用 sRGB 而不是 Adobe RGB 创建原始图像。
解决方案 2:将颜色配置文件从较大的图像复制到较小的图像。
大多数 Linux 系统不支持颜色校正,至少在 OS X 或 Windows 支持的范围内不支持。因此,它们在 Ubuntu 的图像查看器中看起来相同的事实实际上是图像查看器程序的限制,它无法理解颜色配置文件。