使用Pillow从CMYK到RGB的转换与Photoshop的不同

gra*_*sof 9 python photoshop rgb image-conversion pillow

我需要在python中将图像从CMYK转换为RGB.我用这种方式使用Pillow:

img = Image.open('in.jpg')
img = img.convert('RGB')
img.save('out.jpg')
Run Code Online (Sandbox Code Playgroud)

该代码有效,但如果我用Photoshop转换相同的图像,我会得到不同的结果,如下所示: -

一个

在photoshop中完成的唯一操作是将方法从CMYK更改为RGB.为什么两个RGB图像之间存在这种差异?它可能是颜色配置文件问题?

gra*_*sof 11

解决了

问题是Pillow不知道输入的ICC配置文件,而photoshop有一个默认设置.

Photoshop用于

CMYK:美国网络涂层(SWOP)v2

RGB:sRGB IEC61966-2.1

所以我用这种方式解决了:

img = Image.open('in.jpg')
img = ImageCms.profileToProfile(img, 'USWebCoatedSWOP.icc', 'sRGB Color Space Profile.icm', renderingIntent=0, outputMode='RGB')
img.save('out.jpg', quality=100)
Run Code Online (Sandbox Code Playgroud)

在Windows上,可以在这些文件夹中找到(如果已安装)配置文件:

C:\Windows\System32\spool\drivers\color\USWebCoatedSWOP.icc
C:\Program Files (x86)\Common Files\Adobe\Color\Profiles\Recommended\USWebCoatedSWOP.icc
C:\Program Files (x86)\Adobe\Acrobat DC\Resource\Color\Profiles\Recommended\USWebCoatedSWOP.icc

C:\Windows\System32\spool\drivers\color\sRGB Color Space Profile.icm
C:\Program Files (x86)\Common Files\Adobe\Color\Profiles\Recommended\sRGB Color Space Profile.icm
C:\Program Files (x86)\Adobe\Acrobat DC\Resource\Color\Profiles\Recommended\sRGB Color Space Profile.icm
Run Code Online (Sandbox Code Playgroud)

  • 我将随意添加这些配置文件的路径。希望没关系。 (2认同)