[Bf-committers] Color to greyscale conversion - confusion

Troy Sobotka troy.sobotka at gmail.com
Sun Jul 8 18:40:32 CEST 2012


Hello all, in the interest of clarity, I am seeking information with
_citations_ for the coefficients used in the first rgb_to_bw
conversion.

If you don't have a citation from a reliable source, please don't post
and muddle this thread up any further.

I believe the following conversion is a "ITU-R BT.601-2 to Luma"
conversion. This should be likely labeled in the code and _not_ used
for the majority of situations as it A) Implies 601 primaries, B)
assumes a tone curve where A.1) Blender has an assumed BT.709/sRGB
primaries base and B.1) linearized tone curve.
Citation: http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC11
> float rgb_to_grayscale(const float rgb[3])
>> {
>>        return 0.3f * rgb[0] + 0.58f * rgb[1] + 0.12f * rgb[2];
>> }

I am requesting a citation of the coefficients used in the following formula:
>> float rgb_to_bw(const float rgb[3])
>> {
>>        return 0.35f * rgb[0] + 0.45f * rgb[1] + 0.2f * rgb[2];
>> }
>>

Oddly luminance BT.709 / sRGB primaries on a radiometric linear source
set of RGB values is not listed:
"CIE Luminance from linear ITU-R BT.709/sRGB"
Citation: http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC9
float 709rgb_to_luminance(const float rgb[3])
{
        return 0.2126f * rgb[0] + 0.7152f * rgb[1] + 0.0722f * rgb[2];
}

And finally, there has been some rather exhaustive perceptual research
on the various weights here:
http://dcgi.felk.cvut.cz/home/cadikm/color_to_gray_evaluation/

With respect,
TJS


More information about the Bf-committers mailing list