我使用 ICC 配置文件检查器从带有查找表的 http://www.brucelindbloom.com/index.html?MunsellCalcHelp.html 中取出了一个 ICC 文件。 ICC文件应该将实验室转换为统一实验室。
它输出的文件包括标头、矩阵(3x3 单位矩阵(、输入和输出曲线以及查找表。 这些文件是什么意思? 它们与颜色转换有何关系?
标头内容为:
InputChan: 3
OutputChan: 3
Input_Entries: 258
Output_Entries: 256
Clut_Size: 51
输入曲线文件包含如下条目:
0 0 0 0
1 256 255 255
2 512 510 510
...
256 65535 65280 65280
257 65535 65535 65535
输出曲线文件包含如下条目:
0 0 0 0
1 256 257 257
2 512 514 514
...
254 65024 65278 65278
255 65280 65535 65535
查找表条目如下所示:
0 0 0 25968
1 0 0 26351
2 0 0 26789
...
132649 65535 65535 49667
132650 65535 65535 50603
我想了解输入 LAB 颜色如何映射到输出值。 我特别困惑,因为a
和b
值可能是负数。
我在浏览 http://www.color.org/specification/ICC1v43_2010-12.pdf 后理解了它是如何工作的
此解释可能会有一些偏差 1 的错误,但它通常应该是正确的。
输入值为LAB,L值使用第10.8节lut16Type中的表39和40进行映射。 然后,输入曲线中的 258 个值在 L、a 和 b 范围内均匀分布。 输出值为 16 位,因此为 0-65535。
CLUT也是如此。 有 51^3 个条目(51 个由 ICC 文件自动选择(。 每个维度(L,a,b(也在这个空间中均匀地划分。 所以0 = 0和50(注意0 - 50是51个条目(= 65535来自上一节。 前 51 行分别表示 L =0 和 a =0,但表示 b。 每 51 行,a
值增加 1,每 51*51 行,L 值增加 1。
因此,给定由输入曲线调整的 L、a 和 b 值,找出它们的索引 (0-50( 并在 CLUT (l_ind*51*51+a_ind*51+b_ind( 中查找它们,这将给你另外 3 个值。
现在输出曲线进来了。 这是另一组曲线,就像输入曲线一样工作。 然后可以使用表 39 和 40 中的相同值映射输出。