基于Retinex理论的图像增强算法研究
2016-12-21孙玲姣
孙玲姣
湖北民族学院科技学院
基于Retinex理论的图像增强算法研究
孙玲姣
湖北民族学院科技学院
Retinex是一个构建在科学实验与分之上的图像增强算法,其本质是从图像中减去照射分量的影响来得到物体的反射分量,也就是得出物体原本的样子。文章首先分析了图像增强算法的概念,然后研究了全局及局部Retinex的算法和流程,以期对基于Retinex理论的图像增强算法有所借鉴。
Retinex 图像增强 全局特征 局部特征 算法分析
Retinex是一个构建在科学实验与分之上的图像增强算法,和其他的图像增强方法比较而言,Retinex算法有着锐化效果好、动态范围压缩大、颜色具恒常性、色彩保真度高等优点,在图像增强领域的应用前景非常广阔。
1 图像增强方法概述
图像增强为相对概念,其增强效果的优劣,不但和算法的优劣有某种关系之外,还和图像的数据特点有直接关系,并且因为评价图像质量的好坏常常靠观测者的主观判断而定,无通用的标准,故而增强技术基本为面向问题,增强方法仅可选择性的使用。现在图像增强方法可分为空间域处理与频域处理2类。
其中,所谓的空间域处理是在原图上直接运算数据,其又分局部运算和点运算2种,前者在像素点邻域的空间域进行,后者是对图像进行逐点运算,其处理能够为线性抑或非线性的;而所谓的频域处理一般是运用某种变换,把图像变至频域,运算图像的变化系数,也就是作一定的修正,继而利用逆变换获得增强的图像,主要有低通(用于消除噪音)和高通滤波(用于提升边缘和轮廓)。
2 基于全局特征的Retinex图像增强
2.1 基于全局特征的Retinex算法分析
2.1.1 灰度图像增强
图1 m×n的灰度图像
首先是相对明暗关系的推导,如图1所示,为一宽m、高n的灰度图像。图像起点A至终点B有一路径,其中有八个像素点,其灰度值为d1-d8,则A和B间的相对明暗关系为:
经过计算、简化,不难看出起点A与终点B间的相对明暗关系其实就是像素的灰度值在对数域中的差。
接下来是起点、终点的选取。从上式能够发现,对同一起点,选取不同的终点就会出现不同的相对明暗关系,利用这些相对明暗关系来校正起点就能得到不同的起点像素的灰度校正值。为解决这一问题,可以用随机法来选择起点与终点。
最后是数据显示,初始时,把增强后的图像内全部像素点的灰度值均设为constant,在对像素点灰度值校正之后图像的全部像素点的灰度值均集中于constant周围,用下面的公式对校正后的图像线性拉伸:
其中,min为增强后图像像素点灰度值内的最小值,而max为增强后图像像素点灰度值内的最大值。L[ i][j]为图像原像素点经线性拉伸之后的灰度值。
2.1.2 彩色图像增强
彩色图像增强同样要有像素点灰度值的校正以及数据显示。其中,数据显示部分,对24位的彩色图像,可将其分解为R、G、B3幅灰度图像,如此一来,就可以把一幅彩色图像转化为三幅灰度图像,然后依次对它们予以数据准备就行。数据显示的步骤与前述的过程恰好相反,把线性拉伸后的3图像按R、G、B顺序分别写进一个24位的彩色图像内进行输出,获得的就是增强之后的彩色图像。
2.2 算法流程
第一步:分析输入图像S(i,j),如果是灰度图像,就把图像内像素点灰度值的数据类型转化为double型;如果是彩色图像,就把它分解成3个灰度图像,然后把这3个图像内像素点灰度值的类型转化成double型;
第二步:把输入图像S(i,j)放进对数域内进行处理,也就是S'(i,j)=logS(i,j);
第三步:把增强之后的图像R(i,j)内像素点的灰度值全部初始化成constant,也就是R(i,j)=constan t;
第六步:使h=h/2,l=l/2,重复第四步与第五步,直至h=1且l=1;R(i,j)第七步:对增强之后的图像予以线性拉伸,如果是灰度图像,就直接进行输出;如果是彩色图像,就把线性拉伸之后的三个图按R、G、B次序分别写进一24位的彩色图像内进行输出。
2.3 增强结果显示
图2 全局Retinex增强结果
3 基于局部特征的Retinex图像增强
3.1 局部Retinex 的实质
Retinex常常用在补偿受照射光影响的图像,其目标就是把一个图像S分解为2个不同的图像:照射分量与反射分量图像2个图。此种分解处理的优点是可以移除前景与后景光照对图像的影响,同时还可以增强室内及室外图像的光照变化。对图像S内的各个点(x, y),公式为:S( x, y)=R( x, y)·L( x, y),其中,L为照射光,R为物体的反射性质,S为反射光被观察者接收到的所能看见的图像。
3.2 局部Retinex算法的步骤
第一步:图像的灰度函数可用下面的式子来计算,R为反射光分量,L为照射光分量S(x,y)=R(x,y)·L(x,y );
第二步:通过取对数的办法把照射光与反射光分量进行分离;
第三步:运用高斯模板对原图像进行卷积,也就是对原图像进行低通滤波,获得图像D,式中F(x,y)为高斯滤波函数:D(x,y)=S(x,y)·F(x,y);
第四步:在对数域内运用原图减掉经过低通滤波以后的图,就可以获得高频增强图像G(x,y)=S'(x,y)-logD(x,y);
第五步:取G(x,y)的反对数,方可获得增强以后的图像R(x,y)=exp(G(x,y)));
第六步:对R(x,y)进行对比度增强,从而获得结果图像。
3.3 局部Retinex算法分析
3.3.1 单尺度Retinex
利用图像采集器得到的彩色图像都会面临能不能捕捉到场景内物体的动态范围及色彩的问题。针对这个问题,Jobson等人提出单尺度的Retinex算法,其公式为:,其中Ii( x, y)为输入图像的第i个颜色通道,*为卷积运算,Ri( x, y)为Retinex输出,F( x, y)为高斯函数。
3.3.2 多尺度Retinex
多尺度Retinex(简称为MSR)是对单尺度Retinex(简称为SSR)的概括,它相对于SSR的优点是它可以提供动态范围压缩以及颜色的高保真。在特定条件中,MSR可以实现以下目标:对未校准的设备予以局部动态范围压缩、补偿、全局动态范围压缩、颜色恒常以及色彩增强,它的公式为:
其中,(x,y)为像素点的坐标,*为卷积运算,N为颜色通道的个数,i∈R,G,B ,Ii(x, y)为输入图像内的第i个颜色通道,Ri( x, y)为MSR输出,F( x, y)为高斯函数,Wk是和高斯函数有关的权重。
3.3.3 带色彩恢复的多尺度Retinex(简称为MSRCR)
因为MSR在增强的时候有可对图像的特定区域造成颜色的失真,使图像中物体的实际颜色减淡,故而要用MSRCR算法去弥补MSR的缺陷。所谓MSRCR算法是在MSR的基础上结合上色彩的结果。在MSR增强的时候,因为图像局部区域的对比度增强,使得其颜色丢失,故而,引进一色彩恢复因子C:,其中Ci为第i个颜色通道的色彩恢复系数,f()为颜色空间的映射函数。我们叫MSRCR为带色彩恢复的MSR,主要就是因为色彩恢复因子C。把上面的式子进行简化之后,能够得出MSRCR的式子为:
MSRCR算法因为引进原始图像内3个颜色通道的比例关系,非常好的消除了颜色失真带来的不足,在一定程度上对原图像的颜色予以还原。
3.4 增强结果显示
图3 局部Retinex增强结果
4 结语
综上所述,Retinex的主要目的是把一个图像分解为2个不同的图像,其实质是从图像内减除照射光的影响去得到物体的反射性质。和其余的图像增强方法比较而言,Retinex算法具备动态范围压缩大、色彩逼真度高等多个优点,但也有个别问题,在未来的研究中仍有继续探讨研究的空间。
[1]李学明,基于Retinex理论的图像增强算法,计算机应用,2005年第2期:235-237
[2]郎锐,数字图像处理学,北京希望电子出版社,2002年
[3]任明武,数字图像处理(第一版),南京理工大学,2003年
[4]勒中鑫等编著,数学图像信息处理,国防工业出版社,2004年
[5]章毓晋,图像处理和分析,清华大学出版社,1999年
[6]贾永红编著,计算机图像处理与分析,武汉大学出版社,2001
湖北省教育厅科学研究计划指导性项目(B2015108)。
孙玲姣,女,1980年出生,硕士研究生。主要从事电子与信息系统理论与技术的研究。