YUV(256 级别) 可以从8位 RGB 直接计算: Y = 0.299 R + 0.587 G + 0.114 B U = - 0.1687 R - 0.3313 G + 0.5 B + 128 V = 0.5 R - 0.4187 G - 0.0813 B + 128
反过来,RGB 也可以直接从YUV (256级别) 计算: R = Y + 1.402 (Cr-128) G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128) B = Y + 1.772 (Cb-128)
2.Python code
import argparse
parser = argparse.ArgumentParser(description='RGB2YUV')
parser.add_argument('--R',type=int, default=0)
parser.add_argument('--G',type=int, default=0)
parser.add_argument('--B',type=int, default=0)
args = parser.parse_args()
R = args.R
G = args.G
B = args.B
print('%d,%d,%d'%(R,G,B))
Y =round(0.299* R +0.587* G +0.114* B)
U =round(-0.1687* R -0.3313* G +0.5* B +128)
V =round(0.5* R -0.4187* G -0.0813* B +128)print('{0x%x, 0x%x, 0x%x}'%(Y, U, V))