I have been using the Linearisation Modeling function, the Cone Mapping function and the XYZ to CIELAB conversion function in order to extract L*a*b* values from jpeg images in which I have the X-Rite ColorChecker Passport as standard. I have repeated the Linearisation and Cone Mapping a number of times with different settings, pictures/cameras, picture formats etc. but every single time my CIELAB values make no sense. For example, in green areas (for example the green square on the passport) the a* value should be negative but instead it is highly positive (ranging from -8 to +50 depending on model). The grey standards also have positive a* and b* values (30-50) instead of 0. In most models my linearisation results are great, R^2 values are always ~0,99 in both linearisation and cone mapping which confuses me. I doesnt seem to matter how good or bad the models are though, the results become nonsensical either way.

If anyone has encountered similar problems, please let me know! Below I list possible solutions I have tried:

  • Different cameras (smartphones and system camera)
  • Different light settings (outdoor sun/shadow D65 and indoor artificial light with custom reflectance spectrum) and exposures
  • Reinstall ImageJ & micaToolbox, using different computers
  • Using RAW images
  • Different Cone Mapping and image generation settings
CIELAB values that make no sense
Cedric van den Berg Changed status to publish March 17, 2023