一种直方图均衡化方法与流程

文档序号:29493111发布日期:2022-04-06 14:03阅读:526来源:国知局
一种直方图均衡化方法与流程

1.本技术涉及图像处理领域,尤其涉及一种直方图均衡化方法。


背景技术:

2.直方图均衡化用于增强动态范围较小图像的对比度,从而重新均衡图像的灰度值。在该方法的基础上,有学者提出了平台直方图均衡化,通过平台值t对原始图像的直方图的灰度级进行处理,即将超出平台值t的灰度级直接修改为平台值t,未超出的灰度级则不做处理,从而对修改后的直方图进行均衡化,从而增强图像的细节信息。
3.目前,关于平台值的选取主要采用自适应平台值选取方法,该方法在灰度图像处理中有较好的效果,可以在保证增强对比度的同时避免整体亮度过于平滑,但是对彩色图像处理时,彩色图像三通道分别做平台直方图均衡处理会出现较大的偏色现象,即色差较大。
4.因此,如何在增强彩色图像细节的基础上减小色差,成为亟待解决的问题。


技术实现要素:

5.本技术提供了一种直方图均衡化方法,能够在增强彩色图像细节的基础上减小色差,实现减小色差和直方图增强效果的均衡。
6.针对上述问题,本技术提供了一种直方图均衡化方法,包括:
7.获取yuv格式的第一彩色图像数据,所述第一彩色图像数据包括y分量数据、u分量数据和v分量数据;
8.根据所述y分量数据获取原始直方图;
9.根据所述原始直方图获取非零直方图,所述非零直方图的灰度值出现次数不为0;
10.确定所述非零直方图的类型为单峰直方图或者是多峰直方图;
11.根据所述非零直方图的类型确定修正参数x,若为单峰直方图,0.6≤x《1,若为多峰直方图,0《x《0.6;
12.根据所述修正参数和所述非零直方图确定平台值;
13.根据所述修正参数和所述原始直方图确定修正直方图,其中,对应同一个灰度值的所述修正直方图中的出现次数大于所述原始直方图中的出现次数;
14.使用所述平台值对所述修正直方图进行处理,得到平台直方图;
15.对所述平台直方图进行均衡化处理,获取yuv格式的第二彩色图像数据,将所述第二彩色图像数据转换为rgb格式的第三彩色图像数据。
16.可选地,所述确定所述非零直方图的类型为单峰直方图或者是多峰直方图,包括:
17.确定所述非零直方图灰度值出现次数的最大值fm,以及fm对应的灰度值dm;
18.确定所述非零直方图中灰度值与dm的差值大于第一阈值,并且对应的次数大于y倍的fm的点的个数z,其中,0《y《1;
19.如果z为0,那么所述非零直方图的类型为单峰直方图;
20.如果z大于0,那么所述非零直方图的类型为多峰直方图。
21.可选地,所述根据所述修正参数和所述非零直方图确定平台值,包括:
22.确定所述非零直方图的极值点,所述极值点为灰度值的出现次数大于左相邻值和右相邻值的点;
23.对所述非零直方图的所有极值点对应的灰度值的出现次数求和,并计算平均值,所述平均值为待校正平台值;
24.将所述修正参数与所述待校正平台值的乘积作为平台值。
25.可选地,所述根据所述修正参数和所述原始直方图确定修正直方图,包括:
26.比较所述原始直方图中每个灰度值的出现次数与所述待校正平台值的大小;
27.计算大于所述待校正平台值的出现次数与所述待校正平台值的差值,将所有差值求和得到tsum;
28.使用所述修正参数对tsum进行修正;
29.将所述原始直方图中每个灰度值的出现次数叠加修正后的tsum,得到修正直方图。
30.可选地,所述使用所述修正参数对tsum进行修正,包括:
31.使用所述修正参数根据如下公式对tsum进行修正:
32.tsum1=tsum
×
(1-x)/256
33.其中,tsum1为修正后的tsum。
34.可选地,所述根据所述非零直方图的类型确定修正参数x,包括:
35.所述非零直方图为单峰直方图,修正参数x为0.75;
36.所述非零直方图为多峰直方图,修正参数x为0.5。
37.可选地,所述第一阈值为10。
38.可选地,所述y为0.8。
39.可选地,所述根据所述原始直方图获取非零直方图,包括:
40.根据所述原始直方图获取待滤波非零直方图;
41.对所述待滤波非零直方图进行中值滤波得到非零直方图。
42.可选地,所述使用所述平台值对所述修正直方图进行处理,得到平台直方图,包括:
43.比较所述平台值与所述修正直方图中每个灰度值出现次数的大小;
44.若所述修正直方图中的灰度值出现次数大于所述平台值,将此灰度值对应的出现次数修改为所述平台值,得到平台直方图。
45.由上述实施例可知,本技术提供的一种直方图均衡化方法中,通过仅对彩色图像的y分量数据(即亮度数据)进行处理,而尽可能保证彩色数据的原始性,来增强图像的亮度细节,减少色差。具体地,通过分析彩色图像的y分量数据的非零直方图的类型,是单峰直方图还是多峰直方图,然后利用修正参数,得到合适的平台值和修正直方图。若为单峰直方图,则判断当前图像色彩较为单一,需要在保证色差足够小的情况下进行对比度增强,从而选择较大的修正参数;若为多峰直方图,则判断当前图像较为复杂,通过减小修正参数来提高对比度的增强效果。最后利用合适的平台值和修正直方图得到平台直方图,并对所述平台直方图进行均衡化处理,从而获取最终彩色图像数据。经过上述处理后,可以通过获取彩
色图像的特点进行改进的平台直方图均衡化,在保证色差足够小的情况下完成了彩色图像的对比度增强。
附图说明
46.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1是根据一些实施例提供的直方图均衡化方法的示意性流程图;
48.图2是使用本技术方法处理前后的y域直方图对比图。
具体实施方式
49.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
50.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
51.直方图均衡化是一种用于增强动态范围较小的图像的对比度,重新均衡图像的灰度值的方法。主要通过改变图像的原始直方图来改变图像的像素灰度值,把原始图像的直方图变换为均匀分布,增加了图像整体的动态范围,从而增强了原始图像的对比度。
52.但是传统的直方图均衡化只是针对图像像素值进行了均匀的拉伸,处理后存在图像细节信息不明显,整体亮度过于平滑的缺点。因此,有学者在此基础上提出了平台直方图均衡化算法。平台直方图均衡化主要是在原始直方图均衡化的基础上,加入了一个平台值t,在统计原始图像的直方图后,对超出平台值的灰度级直接修改为平台值,未超出的灰度级则不做处理,然后再对修改后的直方图进行均衡化,最后使用重新分布的直方图对图像进行重新分布。
53.一个合适平台值的选取决定了最终图像处理效果的好坏,目前平台值的选取大多是根据实验人员的经验进行选择,具有较大的随机性。现有的自适应平台值的选取方法主要针对灰度图像,此种平台值的选取方式在灰度图像处理中有较好的效果,可以在保证增强对比度的同时避免整体亮度过于平滑。但是对彩色图像处理时,彩色图像三通道分别做平台直方图均衡处理会出现较大的偏色现象。本技术通过对原始彩色图像按照三通道分别处理,平台值根据现有自适应方法进行选取来测试该方法,结果是虽然对比度增强效果较好,但是出现了明显的色差。
54.针对如何在增强彩色图像细节的基础上减小色差,实现对色差大小和对比度增强效果进行均衡的效果,本技术提出了以下方案。
55.图1是根据一些实施例提供的直方图均衡化方法的示意性流程图,下面结合图1进行本技术直方图均衡化方法的说明。
56.s10,获取yuv格式的第一彩色图像数据,该第一彩色图像数据包括y分量数据、u分量数据和v分量数据。
57.在一个示例中,根据rgb格式的彩色图像数据获取yuv格式的第一彩色图像数据,如公式(1)所示:
58.y=0.299
·
r+0.587
·
g+0.144
·b59.u=0.713
·
(r-y)+128
60.v=0.564
·
(b-y)+128
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
61.将图像从rgb显示域转换yuv显示域,进行转换域处理后,可以降低色差影响。
62.s11,根据y分量数据获取原始直方图。
63.y分量数据为亮度数据,根据y分量数据获取的原始直方图的灰度值为0至255,该原始直方图中每个灰度值都有其对应的出现次数,无论次数是否为0。
64.s12,根据所述原始直方图获取非零直方图,该非零直方图的灰度值出现次数不为0。
65.在一个示例中,统计原始图像直方图中灰度值出现次数不为零的部分,记为f,f中各个元素的大小为各个灰度值在整幅图像中出现的次数,f为一维矩阵。例如f为[25,36,66,77],25为灰度值125在图像中出现的次数,36为灰度值147在图像中出现的次数,66为灰度值160在图像中出现的次数,77为灰度值250在图像中出现的次数,其余灰度值在图像中出现的次数均为0。
[0066]
可选地,对f进行平滑处理,例如对其进行1
×
3的中值滤波,滤波后的矩阵记为fmed。
[0067]
需要说明的是,本技术中的直方图的形式,可以是横坐标为灰度值,纵坐标为出现次数的柱状图的形式,也可以是采取一维矩阵的形式,其中矩阵中的元素为灰度值在图像中的出现次数。
[0068]
采用上述方式,通过获取非零直方图,来剔除掉灰度值出现次数为0的无效的点,有利于后续高效率地对直方图进行处理。
[0069]
s13,确定所述非零直方图的类型为单峰直方图或者是多峰直方图。
[0070]
在一个示例中,通过对该非零直方图进行以下处理,来确定其类型。具体地,包括以下步骤:
[0071]
步骤a,确定该非零直方图灰度值出现次数的最大值fm,以及fm对应的灰度值dm;
[0072]
步骤b,确定该非零直方图中灰度值与dm的差值大于第一阈值,并且对应的次数大于y倍的fm的点的个数z,其中,0《y《1;
[0073]
步骤c,如果z为0,那么该非零直方图的类型为单峰直方图;如果z大于0,那么该非零直方图的类型为多峰直方图。
[0074]
可选地,第一阈值为10。
[0075]
可选地,y为0.8。
[0076]
下面以fmed为例,进行上述示例的说明:
[0077]
计算fmed中的灰度值出现次数的最大值fm1,fm1对应的灰度值为dm1;
[0078]
在整个直方图中寻找与dm1的差值大于10,且对应次数大于0.8fm1的点的个数;
[0079]
如果输出个数为0,则为单峰直方图,如果输出的个数大于0,则为多峰直方图。
[0080]
在一个示例中,还可以通过该非零直方图的柱形图确定其类型,连接柱形图中每个柱的顶点形成曲线,该曲线有一个波峰则为单峰直方图,该曲线有多个波峰则为多峰直方图。
[0081]
s14,根据该非零直方图的类型确定修正参数x,若为单峰直方图,0.6≤x《1,若为多峰直方图,0《x《0.6。
[0082]
在一个示例中,如果是单峰直方图,则修正参数x=0.75,如果是多峰直方图,则修正参数x=0.5。
[0083]
上述方式中,直方图的类型是单峰直方图还是多峰直方图,反映了原始彩色图像的色彩较为单一还是较为复杂,根据直方图的类型,选择不同的修正参数,如果色彩较为单一,则需利用修正参数在保证色差足够小的情况下进行对比度增强,如果色彩较为复杂,则需利用修正参数提高对比度的增强效果。
[0084]
s15,根据该修正参数和该非零直方图确定平台值。
[0085]
在一个示例中,确定该非零直方图的极值点,该极值点为灰度值的出现次数大于左相邻值和右相邻值的点;对该非零直方图的所有极值点对应的灰度值的出现次数求和,并计算平均值,该平均值为待校正平台值;将该修正参数与该待校正平台值的乘积作为平台值。
[0086]
以fmed为例进行上述示例的说明,求fmed中的极值,记为fex,fex中的元素为灰度值的出现次数;
[0087]
再对fex中的全部元素求和后计算均值,所得参数即为待校正平台值torigin;
[0088]
计算使用修正参数x处理后的平台值tnew,tnew=torigin*x。
[0089]
在一个示例中,该平台值为该修正参数与该非零直方图中的最大值fm的乘积。
[0090]
s16,根据该修正参数和该原始直方图确定修正直方图,其中,对应同一个灰度值的该修正直方图中的出现次数大于该原始直方图中的出现次数。
[0091]
在一个示例中,比较该原始直方图中每个灰度值的出现次数与该待校正平台值的大小;计算大于该待校正平台值的出现次数与该待校正平台值的差值,将所有差值求和得到tsum;使用该修正参数对tsum进行修正;将该原始直方图中每个灰度值的出现次数叠加修正后的tsum,得到修正直方图fnew。
[0092]
可选地,使用该修正参数对tsum进行修正包括:使用修正参数根据如下公式(2)对tsum进行修正:
[0093]
tsum1=tsum
×
(1-x)/256
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0094]
其中,tsum1为修正后的tsum。
[0095]
采用上述方式,对大于平台值的区域不直接舍去,而是均匀添加到原始直方图的各个灰度级。相比于背景技术中的在统计原始图像的直方图后,对超出平台值的灰度级直接修改为平台值所造成的明显局部细节偏白、色差较大的问题,本技术能够实现对色差大小和直方图增强效果的均衡。
[0096]
在一个示例中,确定该原始直方图中灰度值的出现次数的中值fmid,比较该原始直方图中每个灰度值的出现次数与fmid大小;计算大于fmid的出现次数与fmid的差值,将
所有差值求和得到tsum1;使用该修正参数对tsum1进行修正;将该原始直方图中每个灰度值的出现次数叠加修正后的tsum1,得到修正直方图fnew1。
[0097]
s17,使用该平台值对该修正直方图进行处理,得到平台直方图。
[0098]
在一个示例中,比较该平台值与该修正直方图中每个灰度值出现次数的大小;若该修正直方图中的灰度值出现次数大于该平台值,将此灰度值对应的出现次数修改为该平台值,得到平台直方图。
[0099]
以tnew和fnew为例,根据如下公式(3)得到平台直方图p
t
(k):
[0100][0101]
其中,p(k)为修正直方图tnew中灰度值k的出现次数,k为灰度值。
[0102]
s18,对该平台直方图进行均衡化处理,获取yuv格式的第二彩色图像数据,将该第二彩色图像数据转换为rgb格式的第三彩色图像数据。
[0103]
具体地,对该平台直方图进行均衡化处理后,每个灰度级都会被重新排列,每个灰度级会对应一个新的灰度级,使用这个灰度级的映射关系,对原始图像的各灰度级进行重新分布。最后将图像从yuv域转回rgb域,转换公式如公式(4):
[0104]
r=y+1.403
·
(u-128)
[0105]
g=y-0.344
·
(u-128)-0.714
·
(v-128)
[0106]
b=y+1.773
·
(v-128)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0107]
由上述实施例可知,本技术提出的方法通过计算直方图的类型判断彩色图像的类型,利用修正参数,针对不同图像特点采用不同的参数进行处理。若为单峰直方图,则判断当前图像色彩较为单一,需要在保证色差足够小的情况下进行对比度增强;若为多峰直方图,则判断当前图像较为复杂,通过增大修正参数来提高对比度的增强效果。经过上述处理后,可以通过获取彩色图像的特点进行改进的平台直方图均衡化,在保证色差足够小的情况下完成了彩色图像的对比度增强。
[0108]
效果说明
[0109]
图2是使用本技术方法处理前后的y域直方图对比图,从图2中可以看出,采用本技术方法处理后,增加了低灰度值区域(灰度值100-灰度值150)的出现次数,对低灰度值的部分进行了细节的增强(即增强了图像的暗部细节),同时又由于仅对y域亮度数据进行的修正,没有改变彩色数据,因此实现了增强细节和减小色差的均衡。
[0110]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0111]
以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1