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

Reply via email to