概述
1、背景
由于图像的色彩信息经常受到光源、采集设备的色彩的偏差等因素的影响从而导致整体上色彩向某一方向移动,便是我们经常所见的偏冷,照片偏黄等现象。为了便于图像的处理抵消这种整个图像中存在看色彩偏差,利于后续图像处理的开展,需要对图像进行光线补偿。
常见的光线补偿方法有GrayWorld色彩均衡算法和基于参考白的算法。
1、GrayWorld 色彩均衡算法
GrayWorld 色彩均衡算法是一种彩色均衡的方法,它基于“灰度世界假设”,即对于一幅有着大量色彩变化的图像,其 R、G、B 三个颜色分量各自的平均值均近似于同一个灰度值。它的基本思想是:首先分别计算原始图像三个颜色分量的平均值avgR 、avgG、avgB 和原始图像的平均灰度值 avgGray ,然后分别调整每个像素的 R、G、B值,使得调整后图像的三个颜色分量的平均值都近似于平均灰度值avgGray。
GrayWorld 算法的具体实现步骤如下:
(1) 计算分别图像三个颜色分量的平均值avgR 、avgG、avgB ,并令图像的平均灰度值为
avgGray = ( avgR+ avgG + avgB) / 3
令 ar = avgGray /avgR
ag = avgGray /avgG
ab = avgGray /avgB
对于图像中每个像素c,调整其 R、G、B分量c(R)、c(G)、c(B),使得
c(R) = c(R)*ar
c(G) = c(G)*ag
c(B) = c(B)*ab
(3)将图像中每个像素的 R、G、B 值都调整到可示范围区间内。例如对于 24 位真彩图像,令factor为图像中所有像素的R、G、B三个分量中的最大值,并令factor= factor/ 255。若factor >1,则对于图像中的每一个像素c,调整其分量c ( R )、 c ( G )、 c ( B ),使得
c(R) = c(R) /factor
c(G) = c(G) /factor
c(B) = c(B) /factor
GrayWorld 算法的色彩均衡结果如图1所示,(a)为处理前图像,(b)为处理后图像。
(a)处理前图像 (b)处理后图像
图1 GrayWorld 色彩均衡算法处理结果
3基于参考白的算法
AnilK.Jain等为解决图像中色彩偏差的问题,把图像中像素的亮度按照由高到低的顺序来排列,提取排列前5%的像素,若这些像素的数目足够多(例如:大于100),就将它们的亮度作为/参考白0(Reference white),将其色彩的R、G、B分量值都调整为最大的255,整幅图像其他像素的色彩分量也按照这个尺度变化。使非参考白的部分像素的RGB值也有相应提高,从而保证光照能够尽可能小的影响图像。根据上述原理,具体实现方法如下:
(1) 统计每个灰度值的像素数,通过循环得到排列前5%的像素灰度值作为参考白,则参考白像素的亮度平均值aveGray为:
aveGray = Grayref/GrayrefNum
式中Grayref为参考白灰度值;GrayrefNum用为参考白像素数;
(2) 计算光照补偿系数coe:
coe=255/aveGray
(3) 原像素值分别乘以光照补偿系数coe,得到光照补偿后的像素值。
最终得到如图2所示的效果。
(a)处理前图像 (b)处理后图像
图2 基于参考白算法处理结果
图3 低亮度图像的光照补偿效果
作者:Jacky_Ponder,转载或分享请注明出处。QQ:2814152689
最后
以上就是高贵老虎为你收集整理的图像预处理-光照补偿的全部内容,希望文章能够帮你解决图像预处理-光照补偿所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复