Matlabのrgb2ycbcrのヘルプドキュメントには、
入力がuint8の場合、YCBCRはuint8です。ここで、Yは[16 235]の範囲にあり、CbとCrは[16240]の範囲にあります。
私が知っているように、RGBからYCbCrへの変換式は
Y = 0.299 R + 0.587 G + 0.114 B
Cb = - 0.1687 R - 0.3313 G + 0.5 B + 128
Cr = 0.5 R - 0.4187 G - 0.0813 B + 128
R = 0、G = 0、B = 0とすると、Y = 0になりますが、これは[16,235]の範囲ではありません。また、R = 255、G = 255、B = 0とすると、Cb = 0.5になりますが、これも[16、240]の範囲ではありません。
なぜrgb2ycbcrはYを[16,235]の範囲にし、Cb / Crを[16,240]の範囲にするのですか?