RGB、YUV以及YCbCr颜色空间基础

1、前言

RGB、YUV以及YCbCr是人为规定的彩色模型或颜色空间,它的用途是在某些标准下用通常可接受的方式对彩色加以说明,本质上,彩色模型是坐标系统和子空间的阐述。

 

2、各种颜色空间

(1)RGB

RGB代表红绿蓝,它是依据人眼识别的颜色定义出的空间,可以用来表示大部分颜色,在科学研究一般不采用RGB颜色空间,它的细节难以进行数字化的调整,将色调、亮度以及饱和度三个量放在一起表示,很难分开,但是它是最通用的面向硬件的彩色模型,该模型多用于彩色监视器和一大类彩色视频摄像。

(2)YUV

在YUV颜色空间中,每一个颜色有一个亮度信号Y和两个色度信号U和V,亮度信号是强度的感觉,它和色度信号分开,这样的话就可以在不影响颜色的情况下进行改变,YUV使用RGB的信息,但是它从全彩色图像中产生一个黑白图像,然后提取出三个主要的颜色变成两个额外的信号来描述颜色,把这三个信号组合回来就可以产生一个全彩色图像,Y通道描述Luma信号,它与亮度信号有一点不同,值的范围介于亮和暗之间,Luma信号是黑白电视可以识别的信号,U(Cb)和V(Cr)通道从红(U)和蓝(V)中提取亮度值来减少颜色信息量,这些值可以从新组合来决定RGB的混合信号。

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)

(3)YCbCr

YCbCr是在世界数字组织视频标准研制过程中作为ITU-R BT1601建议的一部分,其实是YUV经过缩放和偏移的翻版,其中Y与YUV中的Y含义一致,Cb和Cr同样都是表示色彩,只是在表示方法上不同而已,在YUV家族中,YCbCr是计算机系统中应用最多的成员,其应用领域很广泛,JPEG以及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

posted @   liangliangge  阅读(720)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示