Python白平衡算法灰度世界与完美反射
白平衡算法的入门推荐,灰度世界和完美反射两个思路都挺经典。前者靠取图像 RGB 均值,适合颜色分布比较均匀的场景;后者直接锁定最亮像素当白点,高光区域还挺稳。
灰度世界算法的逻辑挺简单:一张图如果色彩分布广,那它的 R/G/B 通道均值差距应该不大。所以你可以直接用均值调校整体白平衡。mean_r == mean_g == mean_b
大致成立时,颜色就比较自然了。
完美反射算法呢?更适合图里有“亮白区域”的,比如太阳光、LED 灯啥的。它会拿亮度最高的像素点作为参考白点,把图整体偏色纠回来。操作也简单,定位最大亮度,再用这个点归一化整张图。
用Python撸一下也不复杂,核心代码量少。比如灰度世界一张图也就几行,mean_r/g/b
一算,分量调一调就行。完美反射要注意高亮区噪点影响,建议加个阈值。
想深入一点的可以看看这篇auto_white_balance_白平衡算法对图像的影响,对比了不同算法的效果,挺有参考价值的。如果你正好在做图像预或者自动化图像增强,试试这两个思路挺合适。
还有一个小贴士:RGB 图完别忘了在实际项目里测试下用户上传图的表现,不同设备拍的图差异还挺大,白平衡算法的容错也要考虑进去。
2.16KB
文件大小:
评论区