首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从矩阵表将YCbCr转换为RGB

从矩阵表将YCbCr转换为RGB
EN

Stack Overflow用户
提问于 2010-10-27 18:47:31
回答 5查看 17.8K关注 0票数 3

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

EN

回答 5

Stack Overflow用户

发布于 2010-10-27 19:02:26

如果你想知道公式是如何推导出来的,你可能需要搜索“颜色坐标系”。特别是在YCbCr领域,This page有一个很好的讨论。

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

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

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

代码语言:javascript
复制
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
票数 5
EN

Stack Overflow用户

发布于 2010-10-27 22:43:34

我不打算解释round部分,但由于M看起来是可逆的:

您可以对结果向量进行舍入。

票数 2
EN

Stack Overflow用户

发布于 2010-10-27 18:51:32

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4032380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档