在网上找了好久,发现各种的版本,现在将其总结于此,方便人们的查看,顺便可以提提意见,看看到底是那个和那个····
第一种说法:
[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
相关推荐
4:4:4 格式的色度信号采样率最高,每 4 点 Y 采样,就有相对应的 4 点 Cb 和 4 点 Cr。4:2:2 格式的色度信号采样率较低,每 4 点 Y 采样,就有 2 点 Cb 和 2 点 Cr。4:2:0 格式的色度信号采样率最低,每 4 点 Y 采样...
YUV420是YUV格式的一个变种,其中Y分量以全分辨率存储,而Cb和Cr分量则以半分辨率存储,即每个Y像素对应一个Cb和Cr分量,形成了4:2:0的采样比例。 **二、RGB色彩空间** RGB(Red, Green, Blue)是一种加性色彩模型...
YUV,全称是Y'CbCr,是一种色彩空间,常用于视频编码和压缩,特别是在数字电视和视频流媒体领域。它将图像分解为亮度(Y)和两个色度分量(Cb和Cr),这样可以有效地减少彩色数据的存储需求,从而实现压缩。YUV有多...
3. YUYV422(YUV交错格式):这种格式也称为YCbCr 4:2:2,每个像素由4个字节组成,顺序为Y、Cb、Y、Cr,其中Cb和Cr代表色度分量,与YUV422P类似,但数据是交错存放的。 4. RGB24(红绿蓝三原色格式):这是一种典型...
YUV420采用YCbCr色彩空间,其中"Y"代表亮度(Luma),"Cb"和"Cr"分别代表色度(Chrominance)的蓝差和红差。在420格式中,每个亮度分量(Y)有1个像素,而色度分量(Cb和Cr)只有1/4的分辨率,即每2x2的亮度像素共享...
YUV全称为Y'CbCr,其中Y代表亮度(Luma),Cb和Cr代表色度(Chroma),是色彩信息的两个分量。这种颜色模型主要用于节省带宽,因为它允许在传输或存储时对亮度和色度信息进行分离和压缩。在视频系统中,由于人眼对...
NV12 和 NV21 属于 YUV420 格式,是一种 two-plane 模式,即 Y 和 UV 分为两个 Plane,但是 UV(CbCr)为交错存储,而不是分为三个 Plane。其提取方式与 YV12 相似,即 Y'00、Y'01、Y'10、Y'11 共用 Cr00、Cb00。 ...
YUV,全称是Y'CbCr,是数字视频中常用的色彩编码系统,尤其在存储和传输视频时。它将图像的亮度信息(Y)与色度信息(Cb和Cr)分离,以降低带宽需求。在相机开发中,理解和处理YUV数据至关重要,因为这是图像传感器...
YUV格式将颜色信息分解为亮度(Y)和两个色差分量(Cb和Cr),以此降低数据存储量。在进行图像处理时,有时我们需要对图像进行翻转操作,例如在视频播放时实现上下或左右镜像效果。本教程将通过C语言代码讲解如何...
YUV,全称是YCbCr,是视频处理中的颜色模型,主要用于将彩色图像数据分离为亮度(Y)和色度(CbCr)信号。在NV12格式中,Y分量占据了所有像素,而Cb和Cr分量则以半分辨率存储,形成一个平面,这种布局可以减少存储和...
YUV,全称为Y'CbCr,是一种色彩空间,广泛用于数字电视和视频编码系统中。它将图像分为亮度(Y)和两个色差分量(Cb和Cr),这样的分隔有利于数据压缩,因为人眼对亮度变化比色度变化更为敏感。 将JPEG或BMP转换为...
YUV,全称是Y'CbCr,是一种颜色编码系统,通常用于数字视频和图像的存储和传输。在电视和视频系统中,Y代表亮度(Luma),而Cb和Cr代表色差(Chrominance),它们分别对应蓝色和红色分量的差异。这种颜色模型的主要...
YUV,也称为YCbCr,是一种将亮度(Y)与两个色度分量(Cb和Cr)分开的色彩模型,主要用于优化视频编码和压缩。 该Android App提供了以下功能: 1. **RGB转YUV**:用户输入RGB三通道的数值,应用将计算出对应的YUV...
2. **YUV422 Packed**:又称YUV4:2:2,每个像素包含一个Y值和一个色度分量(Cb或Cr),水平方向上每两个像素共用一个色度分量,但垂直方向上每个像素都有自己的色度值。 3. **YUV444 Planar**:所有Y、Cb和Cr分量都...
YUV代表亮度(Y)和两个色度分量:蓝色差(Cb)和红色差(Cr)。这种色彩空间分解方法允许视频系统独立处理亮度和颜色信息,以适应不同的显示设备和传输媒介。 **YUV的结构与原理** 1. **亮度通道(Y)**:Y通道是...
YUV全称为Y'CbCr或Y Pb Pr,它是一种将亮度(Y)和色度(Cb和Cr)分离开来的色彩模型,常用于JPEG、MPEG等编码标准中。这种色彩模型的主要优点是它可以降低视频和图像的带宽需求,因为在传输或存储时,通常对亮度...
YUV格式通常用于原始视频数据的存储,它将亮度信号(Y)和两个色差信号(Cb和Cr)分开,这样可以降低对带宽的要求,尤其在低带宽的传输环境中。然而,这种格式并不直观,不便于播放和编辑,这就需要转换成更通用的...
Y代表亮度(Luma),而UV(CbCr)则代表色度(Chroma),用于描述色彩信息。这种分离亮度和色度的设计可以减少带宽需求,对电视和数字视频系统尤其有利。 RGB(Red, Green, Blue)是另一种广泛使用颜色模型,它基于...
YUV(YCbCr)是一种颜色模型,广泛应用于视频系统,尤其是因为它的分量结构——亮度(Y)和两个色差信号(Cb和Cr),使得它可以针对不同平台和应用进行优化。Y分量代表亮度,而Cb和Cr则代表色度,分别对应蓝色和红色...
YUV将图像分为亮度(Y)和两个色度分量(Cb和Cr),通过降低色度分量的分辨率来节省存储空间和带宽,这在视频传输和压缩中特别有用。 **BMP到YUV的转换过程**: 1. **读取BMP文件**:BMP文件的头信息包含图像的...