Boost logo

Boost :

Subject: [boost] [GIL] color convert and color tranfer characteristics
From: fabien.castan_at_[hidden]
Date: 2010-08-05 13:12:38


I have a problem with the distinction between colorspaces and color characteristics.
I'm writing a basic transfer characteristics between lin, log, sRGB, rec601, rec709...

I'm writing something like I talked for colorspaces, in the mail about "color_correct":
* a specialization between each color characteristic and lin
* a generic conversion to a templated type using an intermediate lin conversion

I have two problems:
1) I have written a per channel functor, which seems to be the right way.
But I don't know how to not apply it on the alpha channel if there is an alpha channel... without loosing performances because my common usage is rgba :).

2) I don't know how we can connect this with color_convert, because if we want to make a conversion from RGB to gray,
we have to assume that RGB is linear (?) and we need to precise if we want a rec709 or rec601 luminosity...

GIL code use an approximation of Rec601 to compute the luminance.
Y' = 0.299 R' + 0.587 G' + 0.114 B' (Rec. 601 coefficients)
Y' = 0.2126 R' + 0.7152 G' + 0.0722 B' (Rec. 709 coefficients)

Best regards,

Boost list run by bdawes at, gregod at, cpdaniel at, john at