下面是将RGB转换为YCbCr的矩阵。你能告诉我如何获得将YCbCr转换为RGB的公式?
我的意思是,我有YCbCr值可用,我想从中获取RGB。
答案 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
看起来是可逆的:
您可以对生成的矢量进行舍入。
答案 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>