So here's the scenario, I've got a wide gamut Matrix (RGB) profile and a small gamut Matrix (RGB) profile and I want to do a perceptual gamut mapping. The obvious route is to create a transform with the INTENT_PERCEPTUAL rendering intent as follows:
hTransform = cmsCreateTransform( hWideGamut, TYPE_RGB_16, hSmallGamut, TYPE_RGB_16, INTENT_PERCEPTUAL, nFlags ); However (correct me if I'm wrong), my understanding is that in order to actually do a perceptual gamut mapping the profile(s) must actually contain an A2B (and B2A??) table for the Perceptual intent. Otherwise in the case of Matrix profiles that contain no A2B or B2A tables you will actually get a Relative Colorimetric conversion rather than a Perceptual conversion. And with Relative Colorimetric this results in out of gamut colors getting clipped. And that's what I'm currently seeing when converting a wide gamut image to a smaller gamut - it appears the saturated colors in the source image are getting clipped in the destination image which appears to result in hue shifts and loss of color detail. So my question is, how do I perform a perceptual gamut mapping for this scenario? Does LCMS provide support for this? If not, is there an algorithm or some other tool I can use to do the gamut mapping? Thanks for any help. Cheers Dave Thorup ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user