Hello Roger!
As Graeme wrote, it's wrong to interpret these data as final CMYK and
Lab values because final values can be influenced by input & output
curves and matrix too.
Only in the case of input & output curves and matrix are linear, these
data can be considered as "real values" of relative colorimetric
conversion table from CMYK to Lab.
As I understand, you are searching for the method to decode these data.
It's quite simple. You can find the description in official ICC
Specification. E.g. ICC.1:2010 (Profile version 4.3.0.0)
https://www.color.org/specification/ICC1v43_2010-12.pdf
pages 51 and 52.
So L column can be decoded just by the following expression:
L*(100+(25500/65280)).
The first L value 0.9961089494 is decoded as 100, that corresponds to
ideal relative colorimetric paper white.
A and B columns can be decoded by the following expression:
X*(2^16-1)/256-128.
The first A value 0.5000076295 is decoded as -2.8E-09, that corresponds
to almost ideal relative colorimetric paper white.
CMYK columns can be decoded by the following expression:
X*(100/(GridSize-1)).
The last K value 15 is decoded as 100.
Something like that...
Best regards,
Alexey Gribunin.
On 19/04/2022 21:30, graxx@xxxxxxxxxxxx wrote:> I need to explore the
encoding of the A2B1 tag (CMYK to Lab).
> I used the following command line :
> iccdump -v3 -t A2B1 "myProfile.icc" > A2B1.txt
> Works great, except, I’m having difficulty interpreting the data.
> Here are the first 15 lines of the CLUT table (grid size = 16) :
> CLUT table:
> 0 0 0 0: 0.9961089494 0.5000076295 0.5000076295
> 0 0 0 1: 0.9387197681 0.5011062791 0.4956588083
> 0 0 0 2: 0.8852063783 0.5021438926 0.4917830167
> 0 0 0 3: 0.8352941176 0.5031052110 0.4883649958
> 0 0 0 4: 0.7951628901 0.5039902342 0.4869916838
> 0 0 0 5: 0.7548180362 0.5048905165 0.4856183719
> 0 0 0 6: 0.7142290379 0.5057907988 0.4842298009
> 0 0 0 7: 0.6598306249 0.5077286946 0.4827649348
> 0 0 0 8: 0.6050812543 0.5096971084 0.4812695506
> 0 0 0 9: 0.5499809262 0.5116960403 0.4797589075
> 0 0 0 10: 0.4975814450 0.5110093843 0.4805981537
> 0 0 0 11: 0.4439612421 0.5102922103 0.4814068818
> 0 0 0 12: 0.3890287633 0.5095750362 0.4822156100
> 0 0 0 13: 0.3252460517 0.5079118029 0.4876173037
> 0 0 0 14: 0.2596475166 0.5062790875 0.4931868467
> 0 0 0 15: 0.1916075380 0.5046768902 0.4990005341
> I take it that the first four digits of each line represent the CMYK
> value.
> I can’t tell whether the order in which the data is dumped here
> matches the order in which the data is encoded in the tag?
> For the first line of data, If I follow my intuition, I get 0c 0m 0y
> 0k.
> In other words, this would be the unprinted media color (RelCol),
> which should be Lab = 100, 0, 0. Right?
> How do I interpret the corresponding Lab values :
> 0.9961089494 0.5000076295 0.5000076295
> The first number, L*, seems awfully close to L = 100.
> But how do I interpret the a* and b* values? The second and third
> numbers?
> Do they have to be subtracted from some constant value? They can’t be
> just multiplied by 100?
> Kindest regards / Roger