Matlab常用白平衡算法
灰色世界法 (grey world method )
要计算未知光源的特性必须从图片中提取相关的统计特性。当我
们能够仅使用一个统计特性就获得未知光源特性时,算法就变得非常
简单了。在这种情况下,未知光源必须在整幅图片上都是统一的。均
值于是就成为了此类方法之下最好的统计指标。而灰色世界法正是利
用了均值作为估算未知光源的关键统计量。
从物理意义上说,灰色世界法假设自然界景物对于光线的平均反
射的均值在总体上是个定值,这个定值近似地为“灰色”。在给定图
片的白平衡算法中,灰色世界假设图片中的反射面足够丰富,以至于
可以作为自然界景物的一个缩影。若这幅图片是在经典光源下拍摄的,
其均值就应该等于灰色。若这幅图是在非经典光源下拍摄的,那么均
值就会大于或者小于灰色值。而该均值对于灰色的偏离程度则反映了
未知光源相对于已知光源的特性。
虽然这个方法比较简单,但是仍然可以从一些方面进行调整。一
个方面就是对于灰色的定义形式的选择。包括对于光谱的定义、对于
光谱成分的定义和在经典光源之下的 RGB 的响应。另一个更加重要
的调整方面就是对于灰色的选择。不管如何定义灰色,最佳的灰色之
选必然是自然界实事上出现的灰色。但是这个值是无法获得的(除非
是合成数据),所以对于灰色的选择是不同的灰色世界算法的一个重
要的区别点。
一个方法是假设这个灰色就是实事上的灰色。也就是说反射光谱
是均衡的。给定光源之下的 RGB 响应是纯白色对此光源的响应值的
1
一部分。比方说,可以使用 50%作为反射率(虽然