【阅读笔记】一种暗通道优先的快速自动白平衡算法

2024-08-07 11:16:41 浏览数 (2)

解决问题:

自动白平衡算法中存在白色区域检测错误导致白平衡失效的问题,作者提出了一种基于暗通道优先的白平衡算法。

算法思想:

图像中白色区域或者高饱和度区域的光线透射率较低,根据以上特性利用暗通道法计算图像中白色区域。

算法概述:

作者使用何凯明提出的基于暗通道优先的方法来估计光照透射模型,通过估计到的光照透射模型来计算图像中白色区域,在检测到白色区域后,相对于图像的亮度分量 Y 来计算每个颜色通道的增益值。

如果图像中存在比较强的光源或者高饱和度的区域,这些区域就会被错误检测为白色区域,作者设置一个阈值来去除高饱和度区域。

lbrace (x,y) = 255;qquad ifquad t(x,y)<t_{1} 且g^{c}(x,y)<K lbrace(x,y) = 0,qquad qquad otherwise

其中,t(x,y)是对应白色区域与之变换的二值化图像,K是变换阈值

t_{1}是平均透射率

t1=frac{1}{W*H}sum_{x=0}^{W-1}sum_{y=0}^{H-1} t(x,y)

终 K 的值选择为 230,即大于 230 认为是过饱和区域

参考效果

测试代码

感兴趣的可以跑一跑效果,测试代码路径:

> https://github.com/AomanHao/AomanHao_example_of_algorithms/tree/main/z-source/2018_A fast automatic white balance algorithm base on dark channel priority

参考文献:

《一种暗通道优先的快速自动白平衡算法》DOI: 10.12086/oee.2018.170549170549-1

源代码:

GitHub - oraclBH/auto_white_balance: A white balance algorithm based on dark channel priority.

觉得本文对您有一点帮助,欢迎讨论、点赞、收藏,您的支持激励我多多创作。

0 人点赞