1.本发明涉及红外图像处理领域,尤其涉及一种无人工晕影的图像增强方法。
背景技术:2.数字图像处理领域一个常见的问题是图像增强,即将原图像经一定的映射关系处理后得到新的图像数据,使得图像在局部对比度和细节展现方面有提升,同时又要避免图像的局部饱和。图像增强技术在一些具有高动态范围输出的探测器应用领域需求更为迫切,如红外热图像,x光图像,数码相机图像等,这些图像一般每个通道的单像素值位宽≥10bit。一般情况下,图像中高值部分与低值部分相差很大,而图像细节往往差值很小,隐藏于高值或低值的连片区域内。简单的线性和直方图均衡(he)难以满足要求,通常该领域使用限制对比度自适应直方图均衡算法(clahe)对图像进行增强。
3.但图像增强算法会带来人工晕影问题,即增强前图像中无此晕影的数据信息,增强后图中特定位置会出现一定强度和规律的晕影。该人工晕影对于通常的数码相机艺术摄影影响不大,但对于红外以及医疗领域影响很大,因为后者通常是低分辨率的黑白图像,人工晕影会导致用户对图像信息的误判。比如红外图像增强中的人工晕影会导致对气体或热量泄露的误判,医疗影响图像增强的人工晕影会带来对某些病灶的误判。
技术实现要素:4.为解决图像增强导致的人工晕影及其导致的误判问题,本发明提出一种基于clahe增强算法框架的改进版图像增强方法(下文简称iclahe,improved clahe)。该方法具有以下几个原则:1.最大限度保留原始图像低频特征,尽量少的引入人造低频信息(人工晕影);2.对局部细节尽量大的拉伸,以便起到突出目标和对比度拉伸的作用;3.局部对比度自适应调节,避免局部对比度拉伸太大导致的饱和或噪声放大。基于以上原则,可实现对原始图像的细节增强,同时避免人工晕影等问题,避免了用户在运用增强后的图像过程中产生误判。
5.本发明提供的一种无人工晕影的图像增强方法,具体包括以下步骤:
6.s101:图像预处理:将原始图像线性映射到10bit灰度空间范围内,得到图像pic1;
7.s102:图像编码:将图像pic1划分为不重叠且相邻的numtilesy
×
numtilesx个图像块,并对图像块进行id编码;其中numtilesy表示图像块的总行数;numtilesx表示图像块的总列数;
8.s103:统计每个图像块的直方图,得到直方图矩阵hist1;
9.s104:根据直方图矩阵hist1,求取每个图像块的增强调节系数cilp_all_th(id);
10.s105:利用增强调节系数cilp_all_th(id)求取每个图像块直方图统计时的像素个数截断阈值clipgray(id);
11.s106:利用截断阈值clipgray(id)求取每个图像块限制对比度直方图均衡映射函数histf(id,gray);
12.s107:遍历图像pic1的每个像素点,分别依次进行映射、线性插值、双线性插值,得到未经晕影补偿的原始增强后图像pic2;
13.s108:求取图像pic2水平方向影子梯度图s1x和竖直方向影子梯度图s1y;
14.s109:对影子梯度图s1x和s1y分别进行滤波处理,得到滤波后的s2x和s2y;
15.s110:将滤波后的水平和竖直方向梯度图s2x和s2y按照从左到右和从上到下求数值积分,并相加,得到人工晕影图像s3;
16.s111:将图像pic2减去人工晕影图像s3,得到原始的无人工晕影的增强后图像pic3;
17.s112:对原始的无人工晕影的增强后图像pic3进行重新映射,得到最终图像pic4。
18.进一步地,步骤s101中,图像pic1的计算式(1):
[0019][0020]
式(1)中,pic0表示原始图像;min(pic0)表示原始图像像素点最小灰度值;max(pic0)表示原始图像像素点最大灰度值;符号代表向下取整运算。
[0021]
进一步地,步骤s104中,每个图像块的增强调节系数cilp_all_th(id)的求取步骤如下:
[0022]
首先求取每个图像块内直方图每一灰度级的值大于平均值占灰度级个数的比例clipth(id),如式(2):
[0023][0024]
再将每个图像块的比例clipth(id)线性映射到0
‑
2之间,得到每个图像块的增强调节系数cilp_all_th(id),如式(3):
[0025][0026]
式(2)中,h为图像的高,w为图像的宽;hist1(id,gray)表示编号为id的图像块内原始灰度级等于gray的像素个数;sgn()为符号函数。
[0027]
进一步地,步骤s105中,截断阈值clipgray(id)的计算式如式(4):
[0028][0029]
式(4)中,cliprate表示输入的增强系数。
[0030]
进一步地,步骤s106具体包括以下步骤:首先利用截断阈值计算每个图像块截断后的原始直方图hist2(id,gray);再将截断得到的像素个数平均分配到每一输入灰度级上,得到新的直方图hist3(id,gray);再求累计直方图cdf1(id,gray);最后将累计直方图值域映射到8bit的灰度空间得到最终的灰度映射函数histf(id,gray)。
[0031]
进一步地,步骤s108中,水平方向影子梯度图s1x和竖直方向影子梯度图s1y的求
解如式(5)和(6):
[0032]
s1x(e)=pic2(f)
‑
pic2(e)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0033]
=(1
‑
xr
‑
δxr)(1
‑
yr)
×
histf(a,pic1(e))+(xr+δxr)(1
‑
yr)
×
histf(b,pic1(e))
[0034]
+(1
‑
xr
‑
δxr)yr
×
histf(c,pic1(e))+(xr+δxr)yr
×
histf(d,pic1(e))
[0035]
‑
(1
‑
xr)(1
‑
yr)
×
histf(a,pic1(e))
‑
xr(1
‑
yr)
×
histf(b,pic1(e))
[0036]
(1xr)yr
×
histf(c,pic1(e))
‑
xr
×
yr
×
histf(d,pic1(e))
[0037]
=δxr
×
((histf(b,gin)histf(a,gin))(1
‑
yr)+(histf(d,gin)histf(c,gin))yr)
[0038]
s1y(e)=δyr
×
((histf(c,gin)
‑
histf(a,gin))(1
‑
xr)+(histf(d,gin)
‑
histf(b,gin))xr)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0039]
式(5)、(6)中,e为当前任意一个像素点,f为当前像素点的右侧相邻像素点;xr和yr为e的中心点行列标;a、b、c、d为以当前像素点e为中心建立的矩形框的四个顶点;gin=picl(e)=pic1(f);picl(e)=pic1(f);
[0040]
进一步地,步骤s109中,滤波后的s2x和s2y如式(7)所示:
[0041][0042]
进一步地,步骤s110中,人工晕影图像s3如式(8)所示:
[0043][0044]
式(8)中,x和y分别表示图像的水平和竖直像素坐标。
[0045]
步骤s112中,最终图像pic4如式(9)所示:
[0046][0047]
式(9)中,min(pic3)表示图像pic3的最小灰度值;max(pic3)表示图像pic3的最大灰度值。
[0048]
本发明提供的有益效果是:1.最大限度保留原始图像低频特征,尽量少的引入人造低频信息(人工晕影);2.对局部细节尽量大的拉伸,以便起到突出目标和对比度拉伸的作用;3.局部对比度自适应调节,避免局部对比度拉伸太大导致的饱和或噪声放大。
附图说明
[0049]
图1是本发明一种无人工晕影的图像增强方法的流程图;
[0050]
图2是本发明图像分块示意图;
[0051]
图3表示本发明双线性插值示意图;
[0052]
图4是本发明四邻域块的灰度映射函数差异示意图;
[0053]
图5是本发明实施例效果对比图。
具体实施方式
[0054]
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
[0055]
请参考图1,一种无人工晕影的图像增强方法,包括以下:
[0056]
s101:图像预处理:将原始图像线性映射到10bit灰度空间范围内,得到图像pic1;
[0057][0058]
式(1)中,pic0表示原始图像;min(pic0)表示原始图像像素点最小灰度值;max(pic0)表示原始图像像素点最大灰度值;符号代表向下取整运算。
[0059]
s102:图像编码:将图像pic1划分为不重叠且相邻的numtilesy
×
numtilesx个图像块,并对图像块进行id编码;其中numtilesy表示图像块的总行数;numtilesx表示图像块的总列数;
[0060]
编号规则为自上而下,从左到右。默认情况下numtilesy=numtilesx=8,对应的划分成的64个块的id编号划分图如图2所示。
[0061]
s103:统计每个图像块的直方图,得到直方图矩阵hist1;其中某一元素hist1(id,gray)值为编号为id的块内原始灰度级等于gray的像素的个数。在本例中,id取值范围为1
‑
64,gray取值范围为0
‑
1023。
[0062]
s104:根据直方图矩阵hist1,求取每个图像块的增强调节系数cilp_all_th(id);
[0063]
首先求每个块内直方图每一灰度级的值大于平均值占总灰度级个数的比例clipth(id)。
[0064][0065]
再将每个块的比例系数clipth(id)线性映射到0
‑
2之间,得到每个块的增强调节系数clip_all_th(id)。
[0066][0067]
式(2)中,h为图像的高,w为图像的宽;hist1(id,gray)表示编号为id的图像块内原始灰度级等于gray的像素个数;sgn()为符号函数。
[0068]
s105:利用增强调节系数cilp_all_th(id)求取每个图像块直方图统计时的像素个数截断阈值clipgray(id);
[0069]
下式(4)中,cliprate为输入的增强系数,默认值为0.01,该值用于求取截断阈值clipgray(id),二者成正相关关系。结合下一步骤可以看出,cliprate或clipgray(id)越高,则阈值clipgray(id)越高,则对于直方图的截取越少,则灰度映射函数越接近于理想直方图均匀,对比度越高;反之,对于直方图的截取越多,则灰度映射函数越接近于线性映射,对比度越低。
[0070][0071]
s106:利用截断阈值clipgray(id)求取每个图像块限制对比度直方图均衡映射函数histf(id,gray);
[0072]
具体实施分以下4步。首先计算每个块截断后的原始直方图hist2(id,gray),再将截断得到的像素个数平均分配到每一输入灰度级上得到新的直方图hist3(id,gray),再求累计直方图cdf1(id,gray),最后将累计直方图值域映射到8bit的灰度空间得到最终的灰度映射函数histf(id,gray)。
[0073]
hist2(id,gray)=min(hist(id,gray),clipgray(id))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0074][0075][0076][0077]
histf(id,grayin)输入值依次为块的编号(id)和块内原始灰度级(grayin,10bit空间,取值范围为0
‑
1023),输出值为映射得到的灰度值grayout(8bit空间,取值范围0
‑
255)。
[0078]
s107:遍历图像pic1的每个像素点,分别依次进行映射(第一类)、线性插值(第二类)、双线性插值(第三类),得到未经晕影补偿的原始增强后图像pic2;
[0079]
pic1的像素点分为三类,其分类及块编号请参考图2;图中黑色线条将画面分割成了numtilesy
×
numtilesx个块(下图以8
×
8为例),每个块的中心点用圆点标记。第一类点,占据画面四个角,其含义是该区域内的每个像素邻域范围内只有一个块;第二类点用占据了画面四个边,其含义是该区域内的每个像素邻域范围内有两个块;第三类点用图2中间部分的灰度矩形标记,占据了画面的中心部分,其含义是该区域内的每个像素邻域范围内有四个块。以第三类点的处理为例进行说明,第一类及第二类点可以看作第三类点的简化特例。如下图3所示,当前遍历到的像素为e点,其邻域是4个块,对应的块中心点依次为a、b、c和d,则经过双线性插值后的增强后图像pic2对应的e点输出灰度值为pic2(e)如下式所示。
[0080]
pic2(e)=(1
‑
xr)(1
‑
yr)
×
histf(a,pic1(e))+xr(1
‑
yr)
×
histf(b,pic1(e))
[0081]
+(1
‑
xr)yr
×
histf(c,pic1(e))+xr
×
yr
×
histf(d,pic1(e))
ꢀꢀꢀꢀꢀꢀ
(9)
[0082]
式中xr和yr为以当前像素e为中心,求其相对于以其最近的4个块中心建立的矩形框的相对坐标,取值范围为0
‑
1。具体来说,计算式如式(10)、(11)。
[0083][0084][0085]
所得到的pic2与原始的clahe增强效果基本相同,但区别是画面中不同区域的直方图截断阈值不同,这导致新算法对于画面不同地方的目标是区别化、自适应增强的。具体说,对于原始画面缺乏细节处增强减弱,可避免在均匀面增强出过多的噪声,而对于原始画面细节丰富的地方增强加强,可以对目标细节充分突出。
[0086]
s108:求取图像pic2水平方向影子梯度图s1x和竖直方向影子梯度图s1y;
[0087]
参考图3及公式(9),考察当前点e点右侧相邻点f,二者空间上接近,因此二者在pic1上的原始灰度值相近,假设二者相等则picl(e)=pic1(f)=gin,则得到的pic2上e、f两点的灰度差为下式(12)所示。
[0088]
s1x(e)
‑
pic2(f)
‑
pic2(e)
[0089]
‑
(1
‑
xr
‑
δxr)(1
‑
yr)
×
histf(a,pic1(e))+(xr+δxr)(1
‑
yr)
×
histf(b,pic1(e))
[0090]
+(1
‑
xr
‑
δxr)yr
×
histf(c,pic1(e))+(xr+δxr)yr
×
histf(d,pic1(b))
[0091]
‑
(1
‑
xr)(1
‑
yr)
×
histf(a,pic1(e))
‑
xr(1
‑
yr)
×
histf(b,pic1(e))
[0092]
‑
(1
‑
xr)yr
×
histf(c,pic1(e))
‑
xr
×
yr
×
histf(d,pic1(e))
[0093]
=δxr
×
((histf((b,gin)
‑
histf(a,gin))(1
‑
yr)
[0094]
+(iiistf(d,gin)
‑
iiistp(c,gn))yr)
ꢀꢀꢀꢀꢀꢀꢀ
(12)
[0095]
类似的,可以求出竖直方向影子梯度图s1y各像素的表达式如式(13)。
[0096]
s1x(e)=δyr
×
((histf(c,gin)
‑
histf(a,gin))(1
‑
xr)
[0097]
+(ristf(dgin)
‑
histf(3gin))xr)
ꢀꢀꢀꢀꢀꢀꢀ
(13)
[0098]
上式中,δxr和δyr对应于一个像素在一个块内对应方向的归一化位移大小,计算式如下。
[0099][0100][0101]
将当前点e遍历全画面,分别可得到的水平方向的梯度图s1x和竖直方向梯度图s1y。由于遍历过程中的e和f点原始灰度(图pic1)相差不大,理想情况下,经过增强后的图像(pic2)对应的e和f点应该也相差不大。然而观察式(12)和式(13),当e点在四邻域块内经相应的灰度映射函数histf映射后,可能存在相差较大的情况,这是导致产生人工晕影的根本原因。由式(12)和式(13)可以看出,水平人工晕影梯度大小与像素水坐标(xr)无关,竖直人工晕影梯度大小与像素竖直坐标(yr)无关,通常表现为定值。实际上该梯度主要取决于
像素四个邻域块内的灰度映射函数的差异,如果原始图像中四个块内场景有较大变化,如块内对比度或平均灰度有较大变化,则会导致块函数间的差异较大,最终导致显著的人工晕影。
[0102]
一个实际的四邻域块的灰度映射函数如图4所示。由式(12)和式(13)可看出,人工晕影一般发生于场景明暗跳变边缘附近。若原始图像处灰度分布范围较窄,则人工晕影更为显著,反之,由于本身场景充满细节,则人工晕影不明显。
[0103]
s109:对影子梯度图s1x和s1y分别进行滤波处理,得到滤波后的s2x和s2y;
[0104]
针对水平方向人工晕影,处理方式为将s1x的每一点绝对值与对应行的绝对值的均值的2倍比较,若前者大于后者,则s2x的对应点的值与s1x的值相等,否则为0。类似的,针对竖直方向人工晕影,处理方式为将s1y的每一点绝对值与对应列的绝对值的均值的2倍比较,若前者大于后者,则s2y的对应点的值与s1y的值相等,否则为0。这样操作的意义是减少图像局部噪声或次要弱小目标对求取晕影梯度的干扰,滤波后只保留最强的梯度。具体计算式如(16)、(17),式中x和y分别表示图像的水平和竖直像素坐标,取值范围满足1≤x≤w和1≤y≤h。
[0105][0106][0107]
s110:将滤波后的水平和竖直方向梯度图s2x和s2y按照从左到右和从上到下求数值积分,并相加,得到人工晕影图像s3;
[0108][0109]
s111:将图像pic2减去人工晕影图像s3,得到原始的无人工晕影的增强后图像pic3;
[0110]
pic3=pic2
‑
s3
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)
[0111]
s112:对原始的无人工晕影的增强后图像pic3进行重新映射,得到最终图像pic4。由于原始的无人工晕影的增强后图像pic3数值范围超过了8bit灰度空间范围([0,255]),因此需要对其进行重新线性映射,得到最终图像pic4。映射规则为pic3的最低灰度值映射为0,最高灰度值映射为255。
[0112][0113]
式(20)中,min(pic3)表示图像pic3的最小灰度值;max(pic3)表示图像pic3的最大灰度值。
[0114]
本发明生成一副测试图用于测试本算法效果。测试图宽800像素,高600像素,左侧一半灰度均值为400,右侧一半画面灰度均值为600用以模拟背景灰度跳变,再在每个像素
上叠加符合n(0,30)分布的高斯噪声用以模拟图像中有待增强的细节部分。其原始图像除以4转8bit灰度范围后图像如图5(a)所示,经原始clahe增强后如图5(b)所示,经本发明算法处理后如图5(c)所示。可以看出原始clahe增强后,在明暗交界处产生了明显的人工晕影,而本发明的算法没有人工晕影,且相比于原始图像细节对比度有显著提升。为体现人工晕影的差异,将三张图像的第300
‑
350行求均值,绘制出灰度均值与水平坐标x的关系,如图5(d)所示,由该图数据也可看出本发明的算法对于目标细节可以有效增强,但对于人工晕影可以有效抑制。
[0115]
本发明的有益效果是:1.最大限度保留原始图像低频特征,尽量少的引入人造低频信息(人工晕影);2.对局部细节尽量大的拉伸,以便起到突出目标和对比度拉伸的作用;3.局部对比度自适应调节,避免局部对比度拉伸太大导致的饱和或噪声放大。
[0116]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。