`

基础:关于YUV 和 Cr Cb的区别

 
阅读更多

 

在网上找了好久,发现各种的版本,现在将其总结于此,方便人们的查看,顺便可以提提意见,看看到底是那个和那个····

 

第一种说法:

[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.

 

第二种说法:

YUVRGB相互转换的公式如下(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)中提取亮度值来减少颜色信息量。这些值可以从新组合来决定红,绿和蓝的混合信号。

YUVRGB的转换:
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

 

第五种说法:

YCbCrRGB的相互转换  

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

第六种说法:

YUVRGB的相互转换 

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

分享到:
评论

相关推荐

    YUV和RGB相互转换

    YUV420是YUV格式的一个变种,其中Y分量以全分辨率存储,而Cb和Cr分量则以半分辨率存储,即每个Y像素对应一个Cb和Cr分量,形成了4:2:0的采样比例。 **二、RGB色彩空间** RGB(Red, Green, Blue)是一种加性色彩模型...

    第一次学习总结-YUV和RGB基础知识.docx

    NV12 和 NV21 属于 YUV420 格式,是一种 two-plane 模式,即 Y 和 UV 分为两个 Plane,但是 UV(CbCr)为交错存储,而不是分为三个 Plane。其提取方式与 YV12 相似,即 Y'00、Y'01、Y'10、Y'11 共用 Cr00、Cb00。 ...

    BMP和YUV转换

    YUV,全称是Y'CbCr,是一种色彩空间,常用于视频编码和压缩,特别是在数字电视和视频流媒体领域。它将图像分解为亮度(Y)和两个色度分量(Cb和Cr),这样可以有效地减少彩色数据的存储需求,从而实现压缩。YUV有多...

    关于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.rar_yuv_import.m

    YUV(YCbCr)色彩空间是针对电视和视频信号设计的,它将图像分为亮度(Y)和两个色度分量(Cb和Cr)。亮度分量Y保留了图像的主要视觉信息,而色度分量Cb和Cr则包含了蓝色和红色与亮度之间的差异信息。这种分离有利于...

    YUV420与RGB24转换

    YUV420采用YCbCr色彩空间,其中"Y"代表亮度(Luma),"Cb"和"Cr"分别代表色度(Chrominance)的蓝差和红差。在420格式中,每个亮度分量(Y)有1个像素,而色度分量(Cb和Cr)只有1/4的分辨率,即每2x2的亮度像素共享...

    外国的YUV工具,可以查看各种格式yuv文件,是研究yuv的好工具

    YUV(YCbCr)是一种颜色模型,广泛应用于视频系统,尤其是因为它的分量结构——亮度(Y)和两个色差信号(Cb和Cr),使得它可以针对不同平台和应用进行优化。Y分量代表亮度,而Cb和Cr则代表色度,分别对应蓝色和红色...

    yuvplayer_win_v09_yuvplayer_源码

    它将图像的颜色信息分为亮度(Y)和两个色差信号(Cb和Cr),这样的分离有助于降低带宽需求,尤其是在传输或存储时。YUV格式的视频文件通常不包含音频,因此在播放时可能需要与其他音频播放器结合使用。 Avarex YUV...

    pyuv YUV格式查看工具

    YUV,全称是Y'CbCr或Y'PbPr,是电视和视频系统中广泛采用的一种颜色编码体系。它将图像色彩信息分为亮度(Y)和两个色差信号(Cb和Cr),这样的分离有利于视频压缩,因为人眼对亮度信息更为敏感,而色度信息可以以较...

    yuvplayer.exe

    YUV,全称是Y'CbCr,是一种颜色编码系统,通常用于数字视频和图像的存储和传输。在电视和视频系统中,Y代表亮度(Luma),而Cb和Cr代表色差(Chrominance),它们分别对应蓝色和红色分量的差异。这种颜色模型的主要...

    Jpg图片和Bmp图片转为YUV数据

    YUV,全称为Y'CbCr,是一种色彩空间,广泛用于数字电视和视频编码系统中。它将图像分为亮度(Y)和两个色差分量(Cb和Cr),这样的分隔有利于数据压缩,因为人眼对亮度变化比色度变化更为敏感。 将JPEG或BMP转换为...

    YUV各种格式空间转换

    2. **YUV422 Packed**:又称YUV4:2:2,每个像素包含一个Y值和一个色度分量(Cb或Cr),水平方向上每两个像素共用一个色度分量,但垂直方向上每个像素都有自己的色度值。 3. **YUV444 Planar**:所有Y、Cb和Cr分量都...

    GRAY8、YUV420P、YUV422P、YUV444P、YUYV422、RGB24间任意两个互转

    3. YUYV422(YUV交错格式):这种格式也称为YCbCr 4:2:2,每个像素由4个字节组成,顺序为Y、Cb、Y、Cr,其中Cb和Cr代表色度分量,与YUV422P类似,但数据是交错存放的。 4. RGB24(红绿蓝三原色格式):这是一种典型...

    yuv转jpg源码 带jpeg库 c++

    YUV420通常指的是YCbCr 4:2:0采样,其中Y代表亮度分量,Cb和Cr代表色度分量。在这个模式下,每4个像素共享一个色度样本,导致图像的色彩信息比亮度信息少,从而降低了带宽需求。 在处理YUV420到JPEG转换时,我们...

    yuv图像查看工具

    YUV全称为Y'CbCr,其中Y代表亮度(Luma),Cb和Cr代表色度(Chroma),是色彩信息的两个分量。这种颜色模型主要用于节省带宽,因为它允许在传输或存储时对亮度和色度信息进行分离和压缩。在视频系统中,由于人眼对...

    yuv420 to bmp

    在图像处理领域,YUV420是一种常见的视频或图像数据格式,而BMP则是Windows操作系统中最基础的位图文件格式。"yuv420 to bmp"涉及到将YUV420格式的数据转换成BMP文件的过程。下面将详细解释这个过程中的关键知识点。...

    YUV格式详解,主要介绍YUV采样、内存分布等相关基础知识

    - **U**(蓝色投影Cb)和**V**(红色投影Cr)是色度分量,它们携带了图像的色彩信息。U负责蓝色部分,V负责红色部分,这两个分量与Y结合提供完整的颜色信息。 2. **采样方式**: - **4:4:4** 采样:Y、U、V采样率...

    yuv-jpg转换

    - **分离YUV数据**:首先,需要从YUV文件中读取数据并将其拆分为Y、Cb和Cr三个通道。 - **色彩空间转换**:将YUV数据转换为RGB颜色空间,因为JPEG编码通常基于RGB数据。 - **图像预处理**:根据JPEG编码规范进行...

    YuvViewer图片查看工具

    YUV,全称是Y'CbCr,是数字视频中常用的色彩编码系统,尤其在存储和传输视频时。它将图像的亮度信息(Y)与色度信息(Cb和Cr)分离,以降低带宽需求。在相机开发中,理解和处理YUV数据至关重要,因为这是图像传感器...

    YUV图形翻转例子C语言编写

    YUV格式将颜色信息分解为亮度(Y)和两个色差分量(Cb和Cr),以此降低数据存储量。在进行图像处理时,有时我们需要对图像进行翻转操作,例如在视频播放时实现上下或左右镜像效果。本教程将通过C语言代码讲解如何...

Global site tag (gtag.js) - Google Analytics