JPG-JPEG(JFIF)文件解码—YCbCr与RGB

YCbCr是一种常用的色彩空间,常用于视频处理和数字摄影。它通过Y(亮度)、Cb(蓝色色度)和Cr(红色色度)来编码颜色信息。本文详细介绍了YCbCr到RGB以及RGB到YCbCr的转换公式,并提供了快速转换方法。这些转换在JPEG、MPEG等格式中至关重要。
摘要由CSDN通过智能技术生成

YCbCr,是色彩空间的一种,通常会用于影片中的影像连续处理,或是数字摄影系统中。Y为颜色的亮度(luma)成分、而CB和CR则为蓝色和红色的浓度偏移量成份。Y就是所谓的流明(luminance),表示光的浓度且为非线性,使用伽马修正(gamma correction)编码处理。

Y'CbCr不是一种绝对的色彩空间,是一种针对RGB资讯所做的编码。真正的颜色显示是根据实际RGB色盘(colorant)来决定的。因此Y'CbCr所表示的值只有在标准RGB色盘或是ICC数据(ICC profile)有提供的时候才能计算。

YCbCr不是一种绝对色彩空间,是YUV压缩和偏移的版本。YCbCr的Y与YUV中的Y含义一致,Cb和Cr与UV同样都指色彩,Cb指蓝色色度,Cr指红色色度,在应用上很广泛,JPEG、MPEG、DVD、摄影机、数字电视等皆采此一格式。因此一般俗称的YUV大多是指YCbCr。

以下是转化时用到的常量:

Cred = 0.299

Cgreen = 0.587

Cblue = 0.114

一、YCbCr 转 RGB

R = Cr * (2 - 2*Cred) + Y + 128

B = Cb * (2 - 2*Cblue)+ Y + 128

G = (Y - B * Cblue - R * Cred) / Cgreen

快速转换:

R = Y + 1.14 * Cr + 128

B = Y + 2.032 * Cb + 128

G = Y - 0.395 * Cb - 0.581 * C人 + 128


二、RGB 转 YCbCr

Y = Cred * R + Cgreen * G + Cblue * B
Cb = (B - Y) / (2 - 2*Cblue)
Cr = (R - Y) / (2 - 2*Cred)

快速转换:
Y = 0.299 * R + 0.587 * G + 0.114 * B
Cb = -0.147 * R - 0.289 * G + 0.436 * B
Cr = 0.615 * R - 0.515 * G - 0.100 * B
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值