Hello,


I would like to know if there are some cases where using one transform using 
several profiles is different from using multiple transforms using one profile, 
except for speed or/and integer round-offs.



Here is a simple example, using double floating point values only, from printer 
RGB to screen RGB, using two profiles.





cmsSetAdaptationState(1.0);



double XYZ[3]={7.0360917484/100.,4.4965961091/100.,33.2055151947/100.};

cmsHPROFILE ScreenProfile=cmsOpenProfileFromFile("Eizo coloredge 
cg210-Spectral.icm","r");

cmsHPROFILE 
PrinterProfile=cmsOpenProfileFromFile("PrinterRGBProfile_D50.icm","r");

cmsHPROFILE XYZProfile = cmsCreateXYZProfile();



double In[3],OutXYZ[3],Out1[3],Out2[3];



cmsHTRANSFORM 
ScreenTrans=cmsCreateTransform(XYZProfile,TYPE_XYZ_DBL,ScreenProfile,TYPE_RGB_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);

cmsHTRANSFORM 
PrintTrans=cmsCreateTransform(XYZProfile,TYPE_XYZ_DBL,PrinterProfile,TYPE_RGB_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);

cmsHTRANSFORM 
PrintTransInverted=cmsCreateTransform(PrinterProfile,TYPE_RGB_DBL,XYZProfile,TYPE_XYZ_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);

cmsHTRANSFORM 
MultiTrans=cmsCreateTransform(PrinterProfile,TYPE_RGB_DBL,ScreenProfile,TYPE_RGB_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);



cmsDoTransform(PrintTrans,XYZ,In,1);                  // RGB printer value used 
as input



cmsDoTransform(PrintTransInverted,In,OutXYZ,1);

cmsDoTransform(ScreenTrans,OutXYZ,Out1,1);            // Printer RGB to Screen, 
two transforms

cmsDoTransform(MultiTrans,In,Out2,1);                 // Printer RGB to screen, 
one transform





With these profiles and the XYZ value (a pantone color) in D50, I get two 
different sets of values in Out1 (two transforms) and Out2 (one transform):



Out1 : [3.4669261286035180 74.062259048223495 140.61089247465134] (values are 
multiplied by 255)

Out2 : [4.4552528578788042 74.062259048223495 140.58754652738571]



Is this normal, due to some specific things, like chromatic adaptation, 
rendering intents mismatches or something ?

I can send the two profiles, but I don't know how or where. These are made with 
the future I1Profiler from XRite and are V4.





Jérôme.
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to