Re: [Lcms-user] Missing PCS black point adjustment for perceptual transforms between version-2 and
An ICC-based CMM for color management
Brought to you by:
mm2
From: Maurice L. <mau...@gm...> - 2019-10-04 14:15:48
|
Hi Marti, Thank you for your quick reply again. Completely avoiding V2 is still difficult these days, given that many standard profiles are still V2 (e.g. AdobeRGB and the various offset standard profiles for GRACoL and Fogra). In my experience with other CMMs (ACE, SampleICC) these version-2 to version-4 (and vice versa) perceptual black point conversions are automatically handled without having to enable BPC, so I expected LCMS2 to do that as well. Anyway, I now realize that I can change the behavior myself using a plugin, if I would need to. I'm still in the process of getting familiar with LCMS2... With kind regards, Maurice Op vr 4 okt. 2019 om 15:48 schreef <Mar...@li...>: > > > Hello, > > You should activate black point compensation when mixing V4 and V2 > profiles on perceptual or saturation intents. > > In some cases, lcms detects the situation and performs BPC > automatically, for example V2->V4, this is a common case > of embedded profiles. On others scenarios, like V4->V2, you need to > explicitly set the BPC flag. This is because some V2 printer profiles > are broken on black point, so making the detection automatic would > prevent any operation with those profiles. > > Anyway your best option is avoid V2 entirely, those are really > outdated (even V4 is actually outdated!) and many are buggy. > > For lcms keeping some compatibility is on, but this is low in the > priorities. > > I tried your sample activating BPC and works as expected. > Regards > Marti. > > Quoting Maurice Luttmer <mau...@gm...>: > > > Hi, > > > > I've been looking through the internals of LCMS2, in particular function > > DefaultICCintents() which converts the array of profiles, intents etc. > into > > a cmsPipeline. > > > > But I'm a bit puzzled, since I would expect to see a conversion being > > introduced in case of a transformation with a perceptual rendering intent > > between a version-2 profile and a version-4 profile (or vice versa) in > > order to handle the difference in PCS black points of version-2 and > > version-4 profiles. > > > > In order to verify this, I did a test with a floating point conversion of > > RGB (0, 0, 0) from the version-4 sRGB_v4_ICC_preference.icc profile to > the > > version-2 sRGB2014.icc profile (and I multiplied the output values by > 255). > > > > If everything is fine, I would expect the result to also have RGB = (0, > 0, > > 0). > > If there is a black point mismatch, I would expect the RGB value to > > correspond to the version-4 black point (which has a lightness of about > > 3.1). > > The resulting RGB value (times 255) that I got was (11.311, 11.311, > > 11.311), which indeed corresponds to the lightness of the version-4 PCS > > black point. > > > > This suggests that adjustments between the version-2 and version-4 > > perceptual PCS black points (and vice versa) are indeed missing. > > Or am I misunderstanding something? > > > > With kind regards, > > Maurice > > > |