下面是将RGB转换为YCbCr的矩阵。你能告诉我怎样才能让公式把YCbCr转换成RGB吗?我的意思是,我有可用的RGB值,并且我想从中获得YCbCr。

发布于 2010-10-27 19:02:26
如果你想知道公式是如何推导出来的,你可能需要搜索“颜色坐标系”。特别是在YCbCr领域,This page有一个很好的讨论。
我们知道,几乎任何颜色都可以表示为红色、绿色和蓝色的线性组合。但您可以转换(或“旋转”)该坐标系,以便三个基本元素不再是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发布于 2010-10-27 22:43:34
我不打算解释round部分,但由于M看起来是可逆的:

您可以对结果向量进行舍入。
发布于 2010-10-27 18:51:32
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 + 128https://stackoverflow.com/questions/4032380
复制相似问题