矩阵表中的YCbCr到RGB

时间:2010-10-27 10:47:31

标签: math rgb

下面是将RGB转换为YCbCr的矩阵。你能告诉我如何获得将YCbCr转换为RGB的公式? 我的意思是,我有YCbCr值可用,我想从中获取RGB。 RGB to YUV Image

5 个答案:

答案 0 :(得分:4)

如果您询问公式的推导方式,您可能需要搜索“颜色坐标系”。 This page尤其对YCbCr空间进行了很好的讨论。

我们知道几乎任何颜色都可以表示为红色,绿色和蓝色的线性组合。但是你可以变换(或“旋转”)那个坐标系,这样三个基本元素不再是RGB,而是其他东西。在YCbCr的情况下,Y层是亮度层,Cb和Cr是两个色度层。 Cb与蓝色更紧密相关,Cr与红色更紧密相关。

YCbCr通常是优选的,因为人类视觉系统对亮度变化比对色度的定量等效变化更敏感。因此,像JPEG这样的图像编码器可以比亮度层更多地压缩两个色度层,从而产生更高的压缩比。

编辑:我误解了这个问题。 (您应该对其进行编辑以澄清。)以下是从YCbCr获取RGB的公式,取自above link

r   =   1.0 * y'    + 0 * cB    + 1.402 * cR
g   =   1.0 * y'    - 0.344136 * cB - 0.714136 * cR
b   =   1.0 * y'    + 1.772 * cB    + 0 * cR

答案 1 :(得分:2)

我不打算考虑round部分,但是因为M看起来是可逆的:

alt text

您可以对生成的矢量进行舍入。

答案 2 :(得分:1)

Y = 0.2126*(219/255)*R + 0.7152(219/255)*G + 0.0722*(219/255)*B + 16
CB = -0.2126/1.18556*(224/255)*R - 0.7152/1.8556(224/255)*G + 0.5*(219/255)*B + 128
CR = 0.5*(224/255)*R - 0.7152/1.5748(224/255)*G - 0.0722/1.5748*(224/255)*B + 128

答案 3 :(得分:1)

http://www.fourcc.org/fccyvrgb.php有YUV到RGB的转换。

答案 4 :(得分:0)

转换为浮动和应用(因为系数是 BT.709-2):

https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.709_conversion

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="box">
    <div class="card orange">A</div>
    <div class="card purple">B</div>
    <div class="card yellow">C</div>
    <div class="card green">D</div>
</div>