Direct conversion from YCbCr to CIE L * a * b *

I would like to convert the pixel value in YUV (YCbCr) to the CIE L * a * b * color space. Should I go through RGB and CIEXYZ color space or does anyone know the formula for direct conversion?


source to share

1 answer

You need to go through every step. YCbCr is often encoded over the video range (16-235 / 240 for 8 bits) and needs to be converted to XYZ using a specific definition of RGB video space (i.e. Rec709 for High Def) that includes canceling non-channel-RGB linearity, and then multiplying by the primary matrix RGB-> XYZ. Then you need to put a white point (usually D65, that is, in the definition of RGB space), apply another nonlinearity, and then another matrix to create L * a * b *. I doubt that much efficiency can be achieved by combining it all into one transformation.



All Articles