Re: [Lcms-user] Apply profile with PCS = cmsSigXYZData, Color Space = cmsSigGrayData
An ICC-based CMM for color management
Brought to you by:
mm2
|
From: Martí M. <mar...@li...> - 2017-02-20 16:56:32
|
Hi,
>Thanks, Marti. Is the white point and transfer function not already
specified in the profile? Pardon my ignorance,
>not that familiar with colour transforms.
No worries, if you use a real profile, yes, it is included in the
profile. If you use a built-in profile, that is a template to generate
profiles, so you need parameters.
Try this:
// A gamma-2.2 gray space
static
cmsHPROFILE Create_Gray22(void)
{
cmsHPROFILE hProfile;
cmsToneCurve* Curve = cmsBuildGamma(DbgThread(), 2.2);
if (Curve == NULL) return NULL;
hProfile = cmsCreateGrayProfileTHR(DbgThread(), cmsD50_xyY(), Curve);
cmsFreeToneCurve(Curve);
return hProfile;
}
Regards
Marti
On 20/02/2017 17:33, Aaron Boxer wrote:
> Thanks, Marti. Is the white point and transfer function not already
> specified in the profile? Pardon my ignorance,
> not that familiar with colour transforms.
>
> On Mon, Feb 20, 2017 at 11:28 AM, Martí Maria
> <mar...@li... <mailto:mar...@li...>> wrote:
>
>
> Hi,
>
> You need to specify white point and transfer function to
> cmsCreateGrayProfile(), see manual page 28
>
> Regards
>
> Marti
>
> On 20/02/2017 7:04, Aaron Boxer wrote:
>> Hello,
>>
>> I have a jpeg 2000 file with an ICC profile.
>>
>> PCS is cmsSigXYZData and color space is cmsSigGrayData.
>>
>> The file can be found here:
>> https://github.com/GrokImageCompression/grok/issues/38
>> <https://github.com/GrokImageCompression/grok/issues/38>
>>
>> I am working on a library that decodes the jpeg 2000 file and
>> applies the ICC profile, using LCMS.
>>
>> Currently, I have this code:
>>
>> in_type = TYPE_GRAY_8;
>> out_type = TYPE_RGB_8;
>> out_prof = cmsCreate_sRGBProfile();
>>
>> and I can create the transform and apply the ICC profile, but the
>> output is an RGB file.
>> What I would like is to output a grayscale file.
>>
>> So, if I instead call
>>
>> out_prof = cmsCreateGrayProfile(NULL,NULL);
>>
>> then cmsCreateTransform returns NULL and I can't apply the profile.
>>
>>
>> What is the best way of creating a transform for this kind of
>> grayscale image ?
>>
>> Thanks so much,
>> Aaron
>>
>>
>>
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org!http://sdm.link/slashdot
>>
>> _______________________________________________
>> Lcms-user mailing list
>> Lcm...@li...
>> <mailto:Lcm...@li...>
>> https://lists.sourceforge.net/lists/listinfo/lcms-user
>> <https://lists.sourceforge.net/lists/listinfo/lcms-user>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________ Lcms-user mailing
> list Lcm...@li...
> <mailto:Lcm...@li...>
> https://lists.sourceforge.net/lists/listinfo/lcms-user
> <https://lists.sourceforge.net/lists/listinfo/lcms-user>
>
|