我想知道是否存在如何将特定CMYK色彩空间(简称FOGRA39)的颜色转换为CIEXYZ的方法。 我知道如何sRGB到CIEXYZ,因为有几十个如何'在互联网上。 但我从来没有为FOGRA39 (或任何其他印刷色彩空间)找到类似的转换方程式。 有人有经验与我分享? 谢谢。
答案 0 :(得分:1)
简短回答
这些颜色空间转换不是作为公式描述的,而是作为(大多数)ICC配置文件(.icc文件)中的查找表。
更长的答案
某些颜色空间中的颜色值通过相对简单的闭合表达式与其他颜色空间相关。众所周知的例子是XYZ和Lab之间的关系,以及你提到的sRGB和XYZ之间的关系。通常,相应的转换公式是从颜色理论考虑中获得的。
另一方面,对应于实际或理想化打印过程(例如FOGRA39)的色彩空间的特征在于执行实际打印实验。这是通过在受控设备上打印大量不同的色块(例如印刷机),并使用光谱仪测量所得印刷色块的颜色来完成的。
这些测量不会产生一个简单的颜色空间转换公式,而是一个包含大量颜色值对的表:已知的墨水量(例如CMYK)与测量值的关系颜色。然后,该颜色配置文件表通常以标准化(文件)格式存储:ICC profile。这是一个ICC profile for FOGRA39。 (实际上,虽然查找表是典型ICC配置文件的重要组成部分,但ICC配置文件还支持参数曲线和矩阵变换以进行色彩空间转换。)
对于大多数用户来说,ICC文件格式太复杂,无法解析和解释,而且色彩管理过于繁琐,无法从头开始实施。如果需要对ICC配置文件所代表的颜色空间执行颜色转换,则通常使用操作系统或第三方库提供的颜色管理功能。
目前使用的所有色彩管理系统(CMS)都支持ICC配置文件,其API支持使用ICC配置文件进行色彩转换。
主要平台Mac和Windows都有自己的颜色管理系统和API,您可以使用它们,也可以使用Linux开源解决方案(例如little cms)。然而,具体细节取决于一个目标平台,以及一个打算使用的编程语言。