色彩(4)AWB 统计

#灵感# 记录下awb 统计信息,写的有点毛糙

前提:客观已标定AWB 的白点,并初步调整好灰色统计区域。

1、硬件统计

要做AWB,第一步是先分析当前画面的色彩信息。

先对画面进行分块,例子是32*32个块。分块后每个块进行 R G B 值统计,可以简单的理解为对块内所有像素的 R G B值求均值。如下图,白墙和纸盒子的 R G B值统计出来肯定是不一样的。

这些块得到的统计值,在进行AWB 算法分析时,每个点都会映射到 AWB白点标定时得到的 白点投影坐标系内,大约如下两种类型:

 

(为避免版权问题,举例的落点图并不是对应统计图生成的,只做举例说明)

2、筛选有效白点

对统计得到的点,可以做筛选或者赋不同的权重。

1、比如得到1024个统计点,当有800 个统计点落在 D65 白点的“有效辐射区”内,则以D65 作为AWB的目标。-------有效辐射区可以理解为下图的圆环区域,或者XY坐标系内的矩形色温框。

这里就涉及确定 D75、D65、D50、TL84这些在色温曲线上的标准光源,与相邻的光源如何界定插值区域。 

  

2、又比如得到的1024个点,有100个点并不在AWB 灰点统计区域中(在所有的色温框以外),那这些点一般会舍弃点,不作为最终的AWB结果统计。

但如果有600个点都不在标定区域中呢?-(夸张点说,表示有很多不可忽略的点,比如上图)----这个时候,就需要设定额外的白点特区,只针对这个场景,进行特定的AWB纠正。

【适合同温异色的场景,但实际上如果没啥副作用的话,把距离这些异常点最近的已标定的某个色温下的AWB框拉大点,把这些额外的点尽可能多框进去,适应性会更好】

下图的例子是抛弃掉不合适的落点

3、一个疑问? 全屏幕的纯色怎么搞?

统计的点全部扔掉,不做AWB也不行? 全做AWB,又会得到奇怪的结果。

简单的算法是指定一个预设的色温(比如D65、D50),当统计得到的落点几乎都不在色温框内时,用预设的色温来做这个场景的白平衡。

另一个算法是时间预测器

定义:参考过去四个合适帧的AWB结果获得AWB增益的机制。

用法:当没有白点可参考时,时间预测器可以代替AWB统计量来提高AWB的正确性。

还有一个方案就是映射白点,和第二点中的“多数落点不在标准灰区”的解决方案一样,对这些点设定特区,自定义R/G B/G值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

search7

请为我点赞!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值