The short version: The issue I am having is that if I display an RGB value on the screen and measure it's Lab value, I should be able to feed that Lab value into LCMS, along with the monitor's profile, and get the original RGB value, or something very close to it visually. However, the RGB value I get back from LCMS is off, significantly, and lighter in almost every case.
The input profile I'm using is the built-in Lab4 profile. The output profile I'm using is created from the monitor's profile file. The transform I am doing is from Lab double to RGB 8, Absolute Colorimetrix Intent, with a No Precalc flag. What am I doing wrong? Thanks in advance for your help. Michael A. Litscher CTO, ColorMetrix Technologies, LLC The long version: Hardware: Dell 2005FPW LCD connected via DVI Nvidia 6600GT based video card GretagMacbeth EyeOne Pro, UV cut spectrophotometer Software: Microsoft Windows XP SP2 GretagMacbeth Eye-One Match version 3.6 GretagMacbeth MeasureTool version 5.02 LittleCMS version 1.0.17 The Excel spreadsheet, monitor profile, lcms.dll library, and readme file discussed can be downloaded from: http://files.colormetrix.com/lcms_test.zip Before opening the spreadsheet, copy the lcms.dll file to your system32 directory. This is most likely: C:\Windows\System32 When you open the spreadsheet, Excel will ask you if you want to enable Macros. Enable them if you want the spreadsheet to be able to call Little CMS from within Excel in order to perform the color calculations. All measurements and calibrations were done in a dark room on a warmed-up monitor within a 30 minute timespan using the same instrument and the same calibration plaque. First, I profiled monitor, generating a version 2 large (LUT) profile (some camera software I use doesn't like version 4 profiles), with a white point of 5K, a gamma of 2.2, and a luminance of 120. Once the monitor was profiled and the new profile installed as the default, I started up MeasureTool. The instrument configuration was verified to be set to eyeone, emission, spectral. I selected Measuring, Chart, LCD Monitor Reference 2.0.txt, which displayed a 99 swatch chart. I then used MeasureTool to measure each of those swatches. I then did File..., Save As... which saved the target RGB data along with the spectral measurement data from the instrument to a text file, which I then imported into Excel. In MeasureTool, I hovered the mouse pointer over each of the swatches, which showed the L*a*b* value of the measurement. I typed these numbers into Excel. I also calculated the L*a*b* numbers myself from the spectral data, just to double-check my typing, and that Gretag and I were on the same page, math-wise. In Excel, I then created some macros (Tools, Macro, Visual Basic Editor) to call into the Little CMS library in order to calculate RGB from Lab. To those interested in calling Little CMS from within Excel, feel free to take a look, though I'll warn you I made no effort to optimize the code. The issue I am having is that if I display an RGB value on the screen and measure it's Lab value, I should be able to feed that Lab value into LCMS, along with the monitor's profile, and get the original RGB value, or something very close to it visually. However, the RGB value I get back from LCMS is off, significantly, and lighter in almost every case. In the enclosed spreadsheet, columns A through C contain the RGB values displayed by MeasureTool, columns E through G contain the Lab values measured by MeasureTool using the EyeOne Pro spectrophotometer, colums I through K contain the RGB values LCMS produces from transforming the Lab values, and columns M through O contain the delta from the originally displayed RGB values to the LCMS RGB values. The input profile I'm using is the built-in Lab4 profile (the regular Lab 2 profile yields slightly different yet very similar results). The output profile I'm using is created from the monitor's profile file. The transform I am doing is from Lab double to RGB 8, absolute colorimetrix Intent, with a no precalc flag. The range of errors I'm getting back are: R -4 to +21, G -1 to +22, and B -0 to +28. What am I doing wrong? Thanks in advance for your help. Michael A. Litscher CTO, ColorMetrix Technologies, LLC ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user