Hi,
> I wanna convert from RGB to Lab and back.
> What goes wrong with my data?
If you declare buffer as being WORD:
> unsigned short InputBuffer[3];
> unsigned short OutputBuffer[3];
Then you should use TYPE_RGB_16, TYPE_Lab_16 instead.
Also, you need to decode Lab to floating point by using
cmsLabEncoded2Float()
Of course, if you are using latest version, this is a lot easier, since
version 1.10 does accept double values directly:
// ----- sample using 1.10
#include "lcms.h"
int main(int argc, char* argv[])
{
cmsHTRANSFORM hTransform;
unsigned char InputBuffer[3];
double Lab[3];
cmsHPROFILE hLab = cmsCreateLabProfile(NULL);
cmsHPROFILE hsRGB = cmsCreate_sRGBProfile();
InputBuffer[0] = (unsigned char) atoi(argv[1]);
InputBuffer[1] = (unsigned char) atoi(argv[2]);
InputBuffer[2] = (unsigned char) atoi(argv[3]);
hTransform = cmsCreateTransform(hsRGB,
TYPE_RGB_8,
hLab,
TYPE_Lab_DBL,
INTENT_PERCEPTUAL, 0);
cmsDoTransform(hTransform, InputBuffer,
Lab,
1);
printf ("R=%d\tG=%d\tB=%d\n",InputBuffer[0], InputBuffer[1], InputBuffer[2]);
printf ("L=%d\ta=%d\tb=%d\n", Lab[0], Lab[1], Lab[2]);
return 0;
}
// ----------------------------------------
// ----- sample using 1.09
#include "lcms.h"
int main(int argc, char* argv[])
{
cmsHTRANSFORM hTransform;
unsigned char InputBuffer[3];
unsigned short OutputBuffer[3];
cmsCIELab Lab;
cmsHPROFILE hLab = cmsCreateLabProfile(NULL);
cmsHPROFILE hsRGB = cmsCreate_sRGBProfile();
InputBuffer[0] = (unsigned char) atoi(argv[1]);
InputBuffer[1] = (unsigned char) atoi(argv[2]);
InputBuffer[2] = (unsigned char) atoi(argv[3]);
hTransform = cmsCreateTransform(hsRGB,
TYPE_RGB_8,
hLab,
TYPE_Lab_16,
INTENT_PERCEPTUAL, 0);
cmsDoTransform(hTransform, InputBuffer,
OutputBuffer,
1);
cmmLabEncoded2Float(&Lab, OutputBuffer);
printf ("R=%d\tG=%d\tB=%d\n",InputBuffer[0], InputBuffer[1], InputBuffer[2]);
printf ("L=%d\ta=%d\tb=%d\n", Lab.L, Lab.a, Lab.b);
return 0;
}
Please check it because I just typed the samples without testing them.
Regards,
Mart� Maria
The little cms project
http://www.littlecms.com
[EMAIL PROTECTED]
----- Original Message -----
From: "Kai-Uwe Behrmann" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, February 05, 2003 10:40 AM
Subject: [Lcms-user] Are the types right here?
> Hi,
> I wanna convert from RGB to Lab and back.
> What goes wrong with my data?
>
> C-code sample is attached.
>
> thanks,
> Kai-Uwe
>
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Lcms-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/lcms-user