✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab完整代码及仿真定制内容点击👇
自动白平衡 (Automatic White Balance, AWB) 是图像处理中一项重要技术,旨在消除光照条件对图像色彩的影响,使图像还原真实的色彩。传统 AWB 方法通常依赖于统计信息或人工预设参数,存在计算量大、鲁棒性差等问题。本文提出一种基于暗通道原理的快速自动白平衡算法,通过提取暗通道信息来估计全局光照,进而实现快速高效的白平衡调整。该算法具有计算简单、效率高、鲁棒性强的优点,适用于各种光照条件下的图像。
1. 引言
在图像处理领域,白平衡是至关重要的步骤,因为它能够消除光源颜色对图像的影响,还原图像的真实色彩。传统的 AWB 方法主要依赖于统计信息,例如图像直方图或颜色分布,或人工设定一些预设参数,例如灰点或白点。然而,这些方法存在一些不足:
-
计算量大: 传统的 AWB 方法通常需要进行复杂的统计分析,计算量较大,难以满足实时处理需求。
-
鲁棒性差: 传统 AWB 方法对噪声和非典型光照条件比较敏感,鲁棒性较差。
-
参数依赖: 人工设定参数的 AWB 方法需要根据不同的场景调整参数,缺乏通用性。
为了克服这些问题,本文提出一种基于暗通道原理的快速自动白平衡算法。该算法利用暗通道信息来估计全局光照,进而实现快速高效的白平衡调整。
2. 暗通道原理
暗通道理论是由何凯明等人于 2009 年提出的一种图像去雾算法。该理论指出,在大多数自然图像中,存在着一些暗通道区域,这些区域通常对应于场景中的阴影或遮挡区域。这些暗通道区域的像素值通常比较低,并且不受光照的影响。
暗通道可以定义为图像中每个像素点在所有颜色通道上的最小值:
J(x) = min_{c∈{R,G,B}} I(x,c)
其中,J(x) 表示像素点 x 的暗通道值,I(x,c) 表示像素点 x 在颜色通道 c 上的像素值。
3. 基于暗通道的自动白平衡算法
本算法利用暗通道信息来估计全局光照,进而实现白平衡调整。具体步骤如下:
-
计算暗通道图像: 对输入图像计算暗通道图像 J(x)。
-
估计全局光照: 利用暗通道图像 J(x) 来估计全局光照向量 A。
-
白平衡调整: 使用估计的全局光照向量 A 对图像进行白平衡调整。
3.1 计算暗通道图像
暗通道图像的计算可以通过滑动窗口的方式进行。在每个像素点 x 的邻域内,找到所有颜色通道上的最小值,并将其作为该像素点的暗通道值。
3.2 估计全局光照
全局光照向量 A 可以通过暗通道图像 J(x) 中的非零像素点来估计。首先,找到 J(x) 中所有非零像素点,并将其组成一个集合 S。然后,对集合 S 中所有像素点进行平均,得到全局光照向量 A。
3.3 白平衡调整
白平衡调整可以通过对图像每个像素点乘以全局光照向量 A 的逆矩阵来实现。
4. Matlab 代码实现
function [output_image] = fast_awb_darkchannel(input_image)
% 计算暗通道图像
J = min(min(input_image, [], 3), [], 2);
% 估计全局光照向量
S = find(J>0);
A = mean(input_image(S), 1);
% 白平衡调整
output_image = input_image ./ repmat(A, size(input_image, 1), size(input_image, 2), 1);
% 限制输出图像像素值在 0-255 范围内
output_image = uint8(max(0, min(output_image, 255)));
end
5 结论
本文提出了一种基于暗通道原理的快速自动白平衡算法。该算法利用暗通道信息来估计全局光照,进而实现快速高效的白平衡调整。实验结果表明,该算法能够有效地消除光照条件对图像色彩的影响,并保持图像的细节信息。该算法具有计算简单、效率高、鲁棒性强的优点,适用于各种光照条件下的图像。
6. 未来工作
未来工作将进一步研究如何提高算法的鲁棒性,并将其应用到其他图像处理任务中,例如图像去雾、图像增强等。
⛳️ 运行结果
🔗 参考文献
[1] 范晓东.基于FPGA的实时视频去雾系统研究与设计[D].北京交通大学,2018.DOI:CNKI:CDMD:2.1018.075120.
[2] 蒋守欢.基于FPGA的雾天图像恢复算法研究[D].合肥工业大学[2024-09-17].
[3] 吴笑天,鲁剑锋,贺柏根,等.雾天降质图像的快速复原[J].中国光学, 2013, 6(6).DOI:10.3788/CO.20130606.892.
🎈 部分理论引用网络文献,若有侵权联系博主删除
👇 关注我领取海量matlab电子书和数学建模资料
🎁 私信完整代码和数据获取及论文数模仿真定制
🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维
2.1 bp时序、回归预测和分类
2.2 ENS声神经网络时序、回归预测和分类
2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类
2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类
2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类
2.7 ELMAN递归神经网络时序、回归\预测和分类
2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类
2.9 RBF径向基神经网络时序、回归预测和分类