在网上找了好久,发现各种的版本,现在将其总结于此,方便人们的查看,顺便可以提提意见,看看到底是那个和那个····
第一种说法:
[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
相关推荐
YUV420是YUV格式的一个变种,其中Y分量以全分辨率存储,而Cb和Cr分量则以半分辨率存储,即每个Y像素对应一个Cb和Cr分量,形成了4:2:0的采样比例。 **二、RGB色彩空间** RGB(Red, Green, Blue)是一种加性色彩模型...
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有多...
4:4:4 格式的色度信号采样率最高,每 4 点 Y 采样,就有相对应的 4 点 Cb 和 4 点 Cr。4:2:2 格式的色度信号采样率较低,每 4 点 Y 采样,就有 2 点 Cb 和 2 点 Cr。4:2:0 格式的色度信号采样率最低,每 4 点 Y 采样...
YUV(YCbCr)色彩空间是针对电视和视频信号设计的,它将图像分为亮度(Y)和两个色度分量(Cb和Cr)。亮度分量Y保留了图像的主要视觉信息,而色度分量Cb和Cr则包含了蓝色和红色与亮度之间的差异信息。这种分离有利于...
YUV420采用YCbCr色彩空间,其中"Y"代表亮度(Luma),"Cb"和"Cr"分别代表色度(Chrominance)的蓝差和红差。在420格式中,每个亮度分量(Y)有1个像素,而色度分量(Cb和Cr)只有1/4的分辨率,即每2x2的亮度像素共享...
YUV(YCbCr)是一种颜色模型,广泛应用于视频系统,尤其是因为它的分量结构——亮度(Y)和两个色差信号(Cb和Cr),使得它可以针对不同平台和应用进行优化。Y分量代表亮度,而Cb和Cr则代表色度,分别对应蓝色和红色...
它将图像的颜色信息分为亮度(Y)和两个色差信号(Cb和Cr),这样的分离有助于降低带宽需求,尤其是在传输或存储时。YUV格式的视频文件通常不包含音频,因此在播放时可能需要与其他音频播放器结合使用。 Avarex YUV...
YUV,全称是Y'CbCr或Y'PbPr,是电视和视频系统中广泛采用的一种颜色编码体系。它将图像色彩信息分为亮度(Y)和两个色差信号(Cb和Cr),这样的分离有利于视频压缩,因为人眼对亮度信息更为敏感,而色度信息可以以较...
YUV,全称是Y'CbCr,是一种颜色编码系统,通常用于数字视频和图像的存储和传输。在电视和视频系统中,Y代表亮度(Luma),而Cb和Cr代表色差(Chrominance),它们分别对应蓝色和红色分量的差异。这种颜色模型的主要...
YUV,全称为Y'CbCr,是一种色彩空间,广泛用于数字电视和视频编码系统中。它将图像分为亮度(Y)和两个色差分量(Cb和Cr),这样的分隔有利于数据压缩,因为人眼对亮度变化比色度变化更为敏感。 将JPEG或BMP转换为...
2. **YUV422 Packed**:又称YUV4:2:2,每个像素包含一个Y值和一个色度分量(Cb或Cr),水平方向上每两个像素共用一个色度分量,但垂直方向上每个像素都有自己的色度值。 3. **YUV444 Planar**:所有Y、Cb和Cr分量都...
3. YUYV422(YUV交错格式):这种格式也称为YCbCr 4:2:2,每个像素由4个字节组成,顺序为Y、Cb、Y、Cr,其中Cb和Cr代表色度分量,与YUV422P类似,但数据是交错存放的。 4. RGB24(红绿蓝三原色格式):这是一种典型...
YUV420通常指的是YCbCr 4:2:0采样,其中Y代表亮度分量,Cb和Cr代表色度分量。在这个模式下,每4个像素共享一个色度样本,导致图像的色彩信息比亮度信息少,从而降低了带宽需求。 在处理YUV420到JPEG转换时,我们...
YUV全称为Y'CbCr,其中Y代表亮度(Luma),Cb和Cr代表色度(Chroma),是色彩信息的两个分量。这种颜色模型主要用于节省带宽,因为它允许在传输或存储时对亮度和色度信息进行分离和压缩。在视频系统中,由于人眼对...
在图像处理领域,YUV420是一种常见的视频或图像数据格式,而BMP则是Windows操作系统中最基础的位图文件格式。"yuv420 to bmp"涉及到将YUV420格式的数据转换成BMP文件的过程。下面将详细解释这个过程中的关键知识点。...
- **U**(蓝色投影Cb)和**V**(红色投影Cr)是色度分量,它们携带了图像的色彩信息。U负责蓝色部分,V负责红色部分,这两个分量与Y结合提供完整的颜色信息。 2. **采样方式**: - **4:4:4** 采样:Y、U、V采样率...
- **分离YUV数据**:首先,需要从YUV文件中读取数据并将其拆分为Y、Cb和Cr三个通道。 - **色彩空间转换**:将YUV数据转换为RGB颜色空间,因为JPEG编码通常基于RGB数据。 - **图像预处理**:根据JPEG编码规范进行...
YUV,全称是Y'CbCr,是数字视频中常用的色彩编码系统,尤其在存储和传输视频时。它将图像的亮度信息(Y)与色度信息(Cb和Cr)分离,以降低带宽需求。在相机开发中,理解和处理YUV数据至关重要,因为这是图像传感器...
YUV格式将颜色信息分解为亮度(Y)和两个色差分量(Cb和Cr),以此降低数据存储量。在进行图像处理时,有时我们需要对图像进行翻转操作,例如在视频播放时实现上下或左右镜像效果。本教程将通过C语言代码讲解如何...