Hi,
I wanna convert from RGB to Lab and back.
What goes wrong with my data?
C-code sample is attached.
thanks,
Kai-Uwe
// test programm
// 1. arg = red
// 2. arg = green
// 3. arg = blue
// 05.02.2003 Kai-Uwe Behrmann
#include "lcms.h"
int main(int argc, char* argv[])
{
// cmsHPROFILE hInProfile, hOutProfile; // externe Profile
cmsHTRANSFORM hTransform; // lcms intern
unsigned short InputBuffer[3];
unsigned short OutputBuffer[3];
int BuffersSizeInPixels = 1;
//hInProfile = cmsOpenProfileFromFile(argv[1], "r");
//hOutProfile = cmsOpenProfileFromFile(argv[2], "r");
cmsHPROFILE hLab = cmsCreateLabProfile(cmsD50_xyY());
cmsHPROFILE hsRGB = cmsCreate_sRGBProfile();
if (argc != 4) {
printf("%s needs values of [Red] [Green] [Blue] \n", argv[0]);
exit(1);
};
InputBuffer[0] = atoi(argv[1]);
InputBuffer[1] = atoi(argv[2]);
InputBuffer[2] = atoi(argv[3]);
hTransform = cmsCreateTransform(hsRGB,
TYPE_RGB_8,
hLab,
TYPE_Lab_8,
INTENT_PERCEPTUAL, 0);
cmsDoTransform(hTransform, InputBuffer,
OutputBuffer,
BuffersSizeInPixels);
printf ("R=%d\tG=%d\tB=%d\n",InputBuffer[0], InputBuffer[1], InputBuffer[2]);
printf ("L=%d\ta=%d\tb=%d\n",OutputBuffer[0], OutputBuffer[1], OutputBuffer[2]);
return 0;
}