YCbCr空间中进行色彩调整的方法

本文详细介绍了YCbCr色彩空间中Chroma和Hue的计算方法,并提供了六种基本颜色的数值示例。此外,还探讨了通过调整矩阵改变颜色属性的方法,包括对比度、Cb_Gain、Cr_Gain及色调调整的具体策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天看到一篇对我很有帮助的文档,给大家转转。

原文地址:http://blog.sina.com.cn/s/blog_53a06e87010087dh.html

YCbCr以极坐标表示,则Chroma和Hue的计算公式如下:

Chroma = Sqrt(Cb^2+Cr^2)
Hue    = Arctg(Cr/Cb)


下面我们给出了6种颜色的C与H的值:

  
            R    G    B    Y   Cb    Cr    C     H
Red    255  0    0     76   84  235 250  72

Blue   0      0    255  29 235  106 257    24

Green 0    255 0     150 42    18  45     24

Yellow 255 255 0    226  0   150  150  270

Cyan 0 255 255      179 172 0    172 360

Magenta 255 0 255 105  214 235 319 50

 

那么现在我们就有了最基本的调整关系公式了。

在YCbCr空间中,一般情况下我们进行调整都是利用一个调整矩阵来实现的:

| Y'  |   |k1  k2  k3|    | Y|
|Cb'| =|k4  k5  k6| * |Cb|
|Cr' |   |k7  k8  k9|    |Cr|

这里我们主要调整的就是这个矩阵的各个参数了,我们一般调整的物理参数主要有:Contrast,Cb_Gain,Cr_Gain,Hue这几种参数,那么这几个参数是如何作用的呢?下面一个一个来说吧:

Contrast:这个参数只需要调整第一行即可,一般的调整范围在(0~4)之间;

Cb_Gain:需要调整的是就是第二行了,范围大致也在(0~4);

Cr_Gain:这个与Cb_Gain类似,调整的是第三行,范围(0~4);

Hue:这个的调整是比较麻烦的,因为这个是在极坐标系内处理的,而从公式看,它又与Cb和Cr都有关系,但与Y无关。一般来说tan(Hue)=k6/k5=-k8/k9。调整的时候由于还要考虑到chroma的归一问题,所以还要进行如下限制:

k5^2+k6^2=1(不考虑cb_gain的时候)

k8^2+k9^2=1(不考虑cr_gain的时候)

这时候在上面的两个限制前提下,再加上tan(Hue)=k6/k5=-k8/k9,我们就可以按照Hue(0~360)来一度一度的进行调节了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值