zoukankan      html  css  js  c++  java
  • RGB与YCbCr颜色空间的互相转换公式

    http://blog.csdn.net/a14730497/article/details/17886127

    Y:明亮度(Luminance或Luma),也就是灰阶值。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。

    Cb:反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。
    Cr:反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。

    在以下两个公式中RGB和YCbCr各分量的值的范围均为0-255。

    RGB转换为YCbCr

    Y   = 0.257*R+0.564*G+0.098*B+16
    Cb = -0.148*R-0.291*G+0.439*B+128
    Cr  = 0.439*R-0.368*G-0.071*B+128

    等效为:

    Y = (1/8192)[(135168 + 4129G) + (2015R + 803B)]     其他的Cb ,Cr 类似过程

    //-------------------------------------------------------------------------------------------------------------------------------

    YCbCr转换为RGB

    R = 1.164*(Y-16)+1.596*(Cr-128)

    G = 1.164*(Y-16)-0.392*(Cb-128)-0.813*(Cr-128)

    B = 1.164*(Y-16)+2.017*(Cb-128)

    或者

    R = 1.164Y                + 1.596Cr - 222.912
    G = 1.164Y - 0.391Cb - 0.813Cr + 135.488
    B = 1.164Y + 2.018Cb                - 276.928

    等效为:

    R >> 9 = 596Y          + 817Cr - 114131
    G >> 9 = 596Y - 200Cb  - 416Cr + 69370
    B >> 9 = 596Y + 1033Cb         - 141787

  • 相关阅读:
    URLEncode解决url中有特殊字符的问题
    监控系统概览
    SpringBoot 上传文件夹
    关于postgresql报 ERROR: XXX does not exist
    postgresql学习
    git学习
    学习博客
    面试准备
    jvm
    线程池面试题
  • 原文地址:https://www.cnblogs.com/agllero/p/4448329.html
Copyright © 2011-2022 走看看