YUV是一种常见的色彩空间,Y表示亮度,U表示蓝**调,V表示红**调。它和RGB之间可以相互转换,转换的计算方法在不同的参考书籍中会有差异。我们参考微软给出的一组计算公式,R/G/B/Y/U/V都用8 bits表示: Y = ( ( 66*R + 129*G + 25*B + 128) >> 8) + 16 U = ( ( -38*R - 74*G + 112*B + 128) >> 8) + 128 V = ( ( 112*R - 94*G - 18*B + 128) >> 8) + 128 C = Y - 16 D = U - 128 E = V - 128 R = (( 298*C + 409*E + 128) >> 8) G = (( 298*C - 100 * D - 208*E + 128) >> 8) B = (( 298*C + 516 * D + 128) >> 8) 需要注意的是Y/U/V的取值范围。Y在16~236,U和V在16~240之间。
|