Hi,
I need to adapt to a different white point quite quickly for a whole array
(image) of (floating point) Lab values. Usually that's performed by transform
objects on that buffer. For adapting to a different illuminant however, a von
Kries type transformation (mostly, and in lcms the Bradford transformation) is
performed. But the implementation only works on single XYZ values (using
cmsAdaptToIlluminant), or I can transform setting an alternative white point
using cmsLab2XYZ and cmsXYZ2Lab. This works all very fine, it is just slow if
it has to be applied pixel by pixel on a whole image buffer.
My (possibly naive) attempt to create a transform using the built in Lab
profile with different white points however failed. It didn't alter the values
at all. This is (in Pythony pseudo code) my attempt on how I did it:
standardLabProfile = cmsCreateLabProfile(NULL)
adaptedLabProfile = cmsCreateLabProfile(newWhitePoint_xyY)
myTransform = cmsCreateTransform(standardLabProfile, TYPE_Lab_DBL,
adaptedLabProfile, TYPE_Lab_DBL,
INTENT_PERCEPTUAL
cmsFLAGS_NOTPRECALC)
Using that myTransform didn't change anything ... :-(
So my question is now this: Can I use a transform object to perform a Bradford
chromatic adaptation transformation, and if so, how do I do it? If not, is
there any other more efficient way to do so?
Guy
--
Guy K. Kloss
Institute of Information and Mathematical Sciences
Te Kura Pūtaiao o Mōhiohio me Pāngarau
Room 2.63, Quad Block A Building
Massey University, Auckland, Albany
Private Bag 102 904, North Shore Mail Centre
voice: +64 9 414-0800 ext. 9585 fax: +64 9 441-8181
eMail: [email protected] http://iims.massey.ac.nz
------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Lcms-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lcms-user