在网上找了好久,发现各种的版本,现在将其总结于此,方便人们的查看,顺便可以提提意见,看看到底是那个和那个····
第一种说法:
[R G B] -> [Y Cb Cr]转换
-------------------------
(R,G, B 都是 8bit unsigned)
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
[Y,Cb,Cr] -> [R,G, B] 转换
R = Y+ 1.402 *(Cr-128)
G = Y - 0.34414*(Cb-128) - 0.71414*(Cr-128)
B = Y + 1.772 *(Cb-128)
一般, C 值 (包括 Cb Cr)应该是一个有符号的数字,但这里被处理过了,方法是加上了 128.
第二种说法:
YUV与RGB相互转换的公式如下(RGB取值范围均为0-255):
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
第三种说法:
YUV色彩模型来源于RGB模型,该模型特点是将亮度和色度分离开,适合于图像处理领域。
应用:模拟领域
Y'= 0.299*R' + 0.587*G' + 0.114*B'
U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')
V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y')
R' = Y' + 1.140*V'
G' = Y' - 0.394*U' - 0.581*V'
B' = Y' + 2.032*U'
YCbCr模型来源于YUV模型。YCbCr是 YUV 颜色空间的偏移版本.
应用:数字视频,ITU-R BT.601建议
Y’ = 0.257*R' + 0.504*G' + 0.098*B' + 16
Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128
Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128
R' = 1.164*(Y’-16) + 1.596*(Cr'-128)
G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128)
B' = 1.164*(Y’-16) + 2.017*(Cb'-128)
PS:上面各个符号都带了一撇,表示该符号在原值基础上进行了伽马校正,伽马校正有助于弥补在抗锯齿的过程中,线性分配伽马值所带来的细节损失,使图像细节更加丰富。在没有采用伽马校正的情况下,暗部细节不容易显现出来,而采用了这一图像增强技术以后,图像的层次更加明晰了。所以说H264里面的YUV应属于YCbCr。
第四种说法:
YUV使用红,绿,蓝的点阵组合来减少信号中的信息量。Y通道描述 Luma信号,它与亮度信号有一点点不同,值的范围介于亮和暗之间。 Luma是黑白电视可以看到的信号。U (Cb)和 V (Cr)通道从红 (U)和蓝 (V)中提取亮度值来减少颜色信息量。这些值可以从新组合来决定红,绿和蓝的混合信号。
YUV和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
R = Y + 1.402 (V-128)
G= Y - 0.34414 (U-128) - 0.71414 (V-128)
B= Y + 1.772 (U-128)
yuv<-->rgb
Y'= 0.299*R' + 0.587*G' + 0.114*B'
U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')
V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y')
R' = Y' + 1.140*V'
G' = Y' - 0.394*U' - 0.581*V'
B' = Y' + 2.032*U'
yCbCr<-->rgb
Y’ = 0.257*R' + 0.504*G' + 0.098*B' + 16
Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128
Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128
R' = 1.164*(Y’-16) + 1.596*(Cr'-128)
G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128)
B' = 1.164*(Y’-16) + 2.017*(Cb'-128)
Note:上面各个符号都带了一撇,表示该符号在原值基础上进行了gamma correction(伽马校正)。
yuv色彩模型来源于rgb模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。
应用:basic color model used in analogue color TV broadcasting.
YCbCr模型来源于yuv模型。YCbCr is a scaled and offset version of the YUV color space.
应用:数字视频,ITU-R BT.601 recommendation
通过上面的比较可以确定,我们在h.264,mpeg等编码标准中用的yuv其实是YcbCr,
第五种说法:
YCbCr与RGB的相互转换
Y=0.299R+0.587G+0.114B
Cb=0.564(B-Y)
Cr=0.713(R-Y)
R=Y+1.402Cr
G=Y-0.344Cb-0.714Cr
B=Y+1.772Cb
第六种说法:
YUV与RGB的相互转换
Y= 0.3*R + 0.59*G + 0.11*B
U= (B-Y) * 0.493
V= (R-Y) * 0.877
同样反过来,YUV转换成RGB的公式如下:
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
相关推荐
NV24 - YUV 4:4:4, Planar, Combined CbCr planes NV42 - YUV 4:4:4, Planar, Combined CbCr planes YUY2 - YUV 4:2:2, Packed YUYV - YUV 4:2:2, Packed, Same as YUY2 YVYU - YUV 4:2:2, Packed UYVY - YUV 4:2:2,...
该程序支持RGB24bits深度直接转成YUV422./*Y = 0.257*R+0.564*G+0.098*B+16Cb = -0.148*R-0.291*G+0.439*B+128Cr = 0.439*R-0.368*G-0.071*B+128Y = (66 * R(d) / 256) + (144 * G(d) / 256) + (25 * B(d) / 256) + ...
static void put_jpeg_yuv420p_file(FILE *fp, unsigned char *image, int width, int height, int quality) { int i, j; JSAMPROW y[16],cb[16],cr[16]; // y[2][5] = color sample of row 2 and ...
显示所有结果(包括中间结果,例如Y,Cb和Cr图像),并将原始图像与RGB颜色空间中图像的子采样版本进行比较。 (20%)请将“ foreman_qcif_0_rgb.bmp”,“ foreman_qcif_1_rgb.bmp”和“ foreman_qcif_2_rgb.bmp”...
2.进行DCT前YCbCr要减128,进行IDCT前要加128(相当于Y减128,CbCr不需要加128) 3.每个标记中数据可以不止一个(去掉长度的部分就是一段) 参考文献 ~~~~~~~~ 1.何斌《VC++数字图像处理》人民邮电出版社, ...
YUV的解释,包括Y,Cr,Cb各分量的定义,的YUV和RGB色彩模型之间的转换关系
该软件包可在 sRGB、Y'PbPr、Y'CbCr、JPEG-Y'CbCr、Y'UV、Y'IQ、Y'DbDr、HSV、HSL、HSI、CIE XYZ、CIE L*a*b*( CIELAB)、CIE L*u*v* (CIELUV) 和 CIE L*ch (CIELCH) 和 CIE CAT02 LMS。 它既可以用作 C/C++ 程序的...
YCrCb彩色空间(也称为YUV彩色空间)的Y分量是表示像素的亮度, Cr和Cb称为色度,其中Cr分量表示红色色差分量,Cb表示蓝色色差分量。 决定色度 , 决定饱和度。 彩色空间转换 在多媒体计算机中采用的YCrCb彩色空间...
该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。 应用:模拟领域 Y'= 0.299R' + 0.587G' + 0.114B' U'= -0.147R' - 0.289G' + 0.436B' = 0.492*(B'- Y') V'= 0.615R' - 0.515G' - 0.100B' = 0.877(R'- ...
Y is the same, while Cb and Cr are U and V multiplied by a constant) to a 24-bit RGB. 24-bit or 16-bit RGB data, downsampled from 24-bit RGB, is then sent to the system (video) memory, ...
d) 可接收8位MPEG解码数据(输入数据格式为CB-Y-CR(CCIR 656)) e) 1个数模转换(D/A)(CVBS),2倍的过采样,10位的精度 f) 纯D/A输出模式和CVBS输出模式 g) 适时控制副载波 h) 串色滤波器 i) I2C...
Y是亮度值,Cb和Cr是色度值。 HSV HSV代表色相,饱和度和价值。 此格式遵循圆柱坐标系以定义颜色值。 色相是定义颜色的值,饱和度是定义颜色的强度,值是定义颜色的亮度或明度。 YUV和YIQ这些是不同视频格式使用的...
SMPTE RP 219-2提供了10位和12位Y'Cb'Cr'的显式色条值。 ITU BT.2111-0建议书以10位和12位R'G'B'给出了明确的彩条值。 这些值直接使用,而不是在运行时生成。 用法 colorbars.ColorBars([int resolution=3, int ...