一种动态计算多色级二值化自适应阈值的方法及其系统技术领域
本发明涉及一种图像二值化处理方法,尤其涉及的是一种动态计算多色级二值化
自适应阈值的方法及其系统。
背景技术
图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈
现出明显的黑白效果。图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据
量减小,能凸显出感兴趣的目标的轮廓。传统的二值化方法如/kittler算法,是一种快速的
全局阈值法,或均值-直方图法,其特征是整体二值化。对于多种灰度级的图像难以显示不
同灰度级图像的目标的轮廓,传统的二值化方法的中心思想是,计算整幅图像的梯度灰度
的平均值,以此平均值做为阈值,可以应用在图像质量不错的环境。但在批量连续的图像处
理中,面对各种图像存在多色级灰度色级的图像等复杂情况时,使用单一的阈值所产生的
二值化不能完整反映图像的特征。传统的二值化方法虽有针对全局和局部的,但他们评估
阈值是否合适的标准或依据是灰度的平均值。而以单一的灰度平均值作为阈值的评估标准
会有以下缺陷和弊端:
1、灰度的平均值仅反映图像的亮度或颜色的平均深浅程度,但不一定能直接反映出为
使用者感兴趣的图像目标像素点及其所构成的轮廓特征。
2、采用任一灰度的平均值必会对其他灰度值的像素点的二值化处理产生影响,造
成像素点特征信息的遗漏。
3、现有的图像二值化处理方法,当出现图像的灰度级较多时,传统的图像二值化
处理方法难以找出为使用者感兴趣的图像目标像素点及其所构成的轮廓特征。
如专利CN105118067A,名称为:一种基于高斯平滑滤波的图像分割方法,公开以下
技术特征(参见全文):步骤1、统计出N个红外图像直方图的第一个波谷均值T0;以灰度级为
直方图横坐标,每个灰度级出现的次数作为直方图的纵坐标, 统计出每个红外图像的灰度
直方图,找到灰度直方图的第一个波谷的灰度值 Troughi,并对所有第一个波谷的灰度值
取平均记为T0;T0=ΣTroughi/N;步骤2、计算自适应分割阈值θ;2-1通过第一个波谷均值T0
计算出加权函数Fwtd=α(T1-T0);其中T1为灰度值高于T0的统计平均值,具体的:
,α为微调因子,0.9<α<1.1;2-2扫描所有灰度级,求出满足类间方差最大
化时的分割阈值θσ;2-3计算出自适应分割阈值θ=θσ+Fwtd;步骤3、使用适应分割阈值θ对
待分割图像进行二值化处理;3-1扫描所有像素点,如果像素点的灰度级大于θ,则灰度级置
为1,此时该像素点为前景目标疑似区域的像素点;如果像素点的灰度级小于等于θ,则灰度
级置为0,此时该像素点为背景像素点,将此时的处理结果记为RSegmentation;步骤4、对
RSegmentation进行水平投影积分和垂直投影积分分析,滤除面积较小的热点干扰。该专利
只公开了基于单一阈值的图像二值化方法,无法解决单一阈值存在的缺陷和弊端。
又如专利CN104952060A,名称为:一种红外行人感兴趣区域自适应分割提取方法,
包括以下技术特征(参见全文):步骤4、采取是全局阈值法,在二值化过程中只使用一个全
局阈值T的方法,它将图像的每个像素的灰度值与T进行比较,若大于T,则取为前景色;否
则,取为背景色;步骤5、将L个灰度级范围内对应像素个数最多中心点P作为初始类均值μ1
(1),μ2(2), …,μl(l);步骤6、在第i次迭代时,考察每个像素,计算它与每个灰度级的均值
之间的间距,即它与聚类中心的距离D,将每个像素赋均值距其最近的类,即D|xp-μl(i)|=
min{D|xp-μj(i)|,(j=1,2,…l)},D为两个像素灰度值差小于定间距;xp(p=0,1,…,255)
为像素的灰度值;则为第i次迭代后赋给类j的像素集合;步骤7、对于j=1,2,…l,计算新的
聚类中心,更新类均值:μ j ( i + 1 ) = 1 / N j Σ x ∈ Q j ( i ) x p , 式
中,Nj是中的像素个数;步骤8、将所有像素逐个考察,如果j=1,2,…K,有则算法收敛,结
束; 否则返回步骤6继续下一次迭代;步骤9、以上聚类过程结束后,分割结果的各像素以聚
类中心灰度值作为该类最终灰度。该专利也无法解决多色级的输入图像进行图像二值化处
理时像素点特征信息的遗漏问题。
因此,现有技术还有待于改进和发展。
发明内容
本发明的目的在于提供一种动态计算多色级二值化自适应阈值的方法及其系统,
旨在解决多色级的输入图像进行图像二值化处理时,使用传统的方法难以克服像素点特征
信息的遗漏问题,当出现图像的灰度级较多时,传统的图像二值化处理方法难以找出为使
用者感兴趣的图像目标像素点及其所构成的轮廓特征的缺陷。
本发明的技术方案如下:一种动态计算多色级二值化自适应阈值的方法,其中,所
述多色级为三个或三个以上色级,具体包括以下步骤:
步骤S110:提取输入图像像素点的灰度值并获取输入图像各相同或相近的色级的中心
灰度值;
步骤S120:根据所获取色级的中心灰度值并按预设公式动态计算不同色级间的边界灰
度值作为相近色级二值化分割的阈值,以获取多色级二值化自适应阈值。
所述的动态计算多色级二值化自适应阈值的方法,其中,包括以下步骤:
步骤S210:提取输入图像像素点的灰度值并对背景色级上像素点最集中的灰度值进行
浅色处理,即对背景色级上像素点灰度值不是255或不是最大值的输入图像像素点灰度值
做反色处理;
步骤S220:分析输入图像像素点的灰度值与像素点数量的关系,获取输入图像各相同
或相近的色级的中心灰度值;
步骤S230:根据所获取色级的中心灰度值并按预设公式动态计算不同色级间的边界灰
度值作为相近色级二值化分割的阈值,以获取多色级二值化自适应阈值。
所述的动态计算多色级二值化自适应阈值的方法,其中,所述的相同或相近的色
级指输入图像像素点的灰度值的属性相同或相近的像素点集合;所述的相同或相近的色级
的中心灰度值指灰度值的属性相同或相近范围内像素点数量最多或最集中的灰度值。
所述的动态计算多色级二值化自适应阈值的方法,其中,所述的多色级二值化是
指将输入图像上的所有像素点的灰度值设置为背景色级的灰度值设置为255,其他色级的
灰度值设置为该色级的中心灰度值或将该色级图像分割出来后设置为0。
所述的动态计算多色级二值化自适应阈值的方法,其中,所述获取输入图像各相
同或相近的色级的中心灰度值,具体包括以下步骤:
步骤S221:统计每一灰度值在输入图像中的像素点数,分析灰度值与像素点数量的关
系;
步骤S222:找出波峰灰度值;
步骤S223:检查步骤S222所获取的波峰灰度值是否落入预设灰度长度的区间范围且为
最大的波峰灰度值预设波谷像素点数,将落入预设灰度长度区间范围内最大的波峰灰度值
且该波峰灰度值的像素点数大于预设波谷像素点数的波峰灰度值视为中心灰度值;
步骤S224:将每一色级号所对应的中心灰度值记录入数据组。
所述的动态计算多色级二值化自适应阈值的方法,其中,预设灰度长度是指根据
应用需求而预先设置的灰度值的相同或相近区间范围参数,预设灰度长度包含该色级区间
最小灰度值至最大灰度值的灰度值长度;预设波谷像素点数是指根据应用需求而预先设置
的同一灰度值所应集中的像素点数的范围参数。
所述的动态计算多色级二值化自适应阈值的方法,其中,所述预设灰度长度的取
值介于10至125之间,预设波谷像素点数的取值介于输入图像像素点总数的0.1%至10%之
间。
所述的动态计算多色级二值化自适应阈值的方法,其中,所述的动态计算获取多
色级二值化自适应阈值的预设公式包括:
Tn=An·core +(B n·core -A n·core )/2
其中,Tn表示除背景色级外第n个色级的自适应二值化阈值,An·core表示除背景色级外
第n个色级的中心灰度值,B n·core表示除背景色级外第n个色级的上一级中心灰度值。
一种采用如上述任一项所述的动态计算多色级二值化自适应阈值的方法的系统,
其中,包括:
提取灰度值模块,用于提取输入图像像素点的灰度值;
获取色级中心灰度值模块,用于通过统计分析输入图像灰度值与像素点数量的关系,
获取输入图像各相同或相近的色级的中心灰度值;
计算获取多色级二值化自适应阈值模块,用于按预设公式动态计算获取多色级二值化
自适应阈值。
所述的动态计算多色级二值化自适应阈值的系统,其中,包括:
提取灰度值模块,用于提取输入图像像素点的灰度值;
反色处理模块,并对边线上像素点最集中的灰度值不是255或最大值的输入图像像素
点灰度值做反色处理;
获取色级中心灰度值模块,用于通过统计分析输入图像灰度值与像素点数量的关系,
获取输入图像各相同或相近的色级的中心灰度值;
计算获取多色级二值化自适应阈值模块,用于按预设公式动态计算获取多色级二值化
自适应阈值。
本发明的有益效果:本发明通过提供一种动态计算多色级二值化自适应阈值的方
法及其系统,通过统计每一灰度值在输入图像中的像素点数,分析灰度值与像素点数量的
关系,找出波峰灰度值,将落入预设灰度长度区间范围内最大的波峰灰度值且该波峰灰度
值的像素点数大于预设波谷像素点数的波峰灰度值视为中心灰度值,再将所获取色级的中
心灰度值并按预设公式动态计算不同色级间的边界灰度值作为相近色级二值化分割的阈
值,从而得到多色级的二值化自适应阈值。利用本发明所述的多色级的二值化自适应阈值,
能够有效多色级(即三个或三个以上色级)的输入图像进行图像二值化处理时,使用传统的
方法难以克服像素点特征信息的遗漏问题,使用单一的阈值所产生的二值化方法难以克服
像素点特征信息的遗漏问题,当出现图像的灰度级较多时,仍能有效找出为使用者感兴趣
的图像目标像素点及其所构成的轮廓特征,提高多色级输入图像的二值化处理效果。
附图说明
图1是本发明中一种动态计算多色级二值化自适应阈值的方法的流程示意图一。
图2是本发明中一种动态计算多色级二值化自适应阈值的方法的流程示意图二。
图3a是随机给出示例性的图像原图1。
图3b是随机给出示例性的图像原图2。
图3c是随机给出示例性的图像原图3。
图4是图3a示例性图像像素点的灰度值统计表。
图5是图3a示例性图像灰度值与像素点数量的关系统计表。
图6是图3a示例性图像灰度值与像素点数量的关系统计图。
图7是图3a示例性图像的组合多色级二值化图。
图8a至图8d是图3a示例性图像的分割多色级二值化图。
图9是图3b示例性图像的组合多色级二值化图。
图10a至图10b是图3b示例性图像的分割多色级二值化图。
图11是本发明中一种动态计算多色级二值化自适应阈值的系统的结构示意图一。
图12是本发明中一种动态计算多色级二值化自适应阈值的系统的结构示意图二。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对
本发明进一步详细说明。
如图1所示,一种动态计算多色级二值化自适应阈值的方法,具体包括以下步骤:
步骤S110:提取输入图像像素点的灰度值并获取输入图像各相同或相近的色级的中心
灰度值;
步骤S120:根据所获取色级的中心灰度值并按预设公式动态计算不同色级间的边界灰
度值作为相近色级二值化分割的阈值,以获取多色级二值化自适应阈值。
如图2所示,对于一些需要做反色处理的图像,一种动态计算多色级二值化自适应
阈值的方法包括以下步骤:
步骤S210:提取输入图像像素点的灰度值并对背景色级上像素点最集中的灰度值进行
浅色处理,即对背景色级上像素点灰度值不是255或不是最大值的输入图像像素点灰度值
做反色处理;
步骤S220:分析输入图像像素点的灰度值与像素点数量的关系,获取输入图像各相同
或相近的色级的中心灰度值;
步骤S230:根据所获取色级的中心灰度值并按预设公式动态计算不同色级间的边界灰
度值作为相近色级二值化分割的阈值,以获取多色级二值化自适应阈值。
以下基于具体实施例对上述各步骤进行具体说明:
第一步,提取输入图像像素点的灰度值。
在实际应用中,通过电脑设备、有拍照功能的手机、照相机、摄像头或其他有摄像
或存储图像的设备获取的输入图像,可用于本发明实施例的处理对象。
图3a和图3b随机给出若干图像。这些图像的原图带有三个或三个以上的不同灰度
色级,均可作为本发明实施例的处理对象,即输入图像。每一输入图像都具灰度的特征,灰
度值的范围为0~255,表示亮度从深到浅,对应图像中的颜色为从黑到白,每个像素值都是
介于黑色和白色之间的256种灰度中的一种。运用已知的技术提取输入图像每一像素点的
灰度值。
图4是图3a示例性图像局部像素点的灰度值统计表。
第二步,对背景色级上像素点最集中的灰度值进行浅色处理。
在实际应用中,根据应用需求可以对背景色级上像素点最集中的灰度值进行浅色
处理,即对背景色级上像素点灰度值不是255或不是最大值的输入图像像素点灰度值做反
色处理;也可以对背景色级上像素点灰度值不是255或不是最大值的输入图像像素点灰度
值不做反色处理。在实际应用中,为了实现背景色级的标准化,一般情况下将输入图像的背
景色统一设定为白色或最浅色,当然也可以将背景色设定为黑色或最深色。
对背景色级上像素点灰度值不是255或不是最大值的输入图像像素点灰度值做反
色处理的方法是:
将原像素点的灰度值按如下公式的计算结果进行置换:
反色后灰度值(或置换为的灰度值)=255-原灰度值
经反色处理后,使输入图像的背景色保持为白色或最浅色。
第三步,分析输入图像像素点的灰度值与像素点数量的关系,获取输入图像各相
同或相近的色级的中心灰度值。
组成图像的最基本单元要素是像素,每一个像素可以视为一个单元点,又称像素
点。像素点与像素点之间具有线段关系,在特定方向上有限个像素点的连线就是像素点线
段。像素点线段的集合构成的图像。
每一像素点都具有灰度值的属性,而相同或相近的色级一般通过灰度值属性相同
或相近的像素点集合所构成。我们将在属性相同或相近范围内像素点数量最多的灰度值称
为该相同或相近的色级的中心灰度值(中心灰度值是指在某一色级中最能代表该色级的灰
度特征的灰度值,一般指灰度值的属性相同或相近范围的某一特定区域内像素点数量最多
或最集中的灰度值),把灰度值的相同或相近区间范围称为灰度长度(灰度长度是指在某一
色级中以中心灰度值为基点,不改变相同或相近属性的灰度值的深浅变化范围,包括该相
同或相近的色级的最小灰度值至最大灰度值的灰度值变化长度)。
通过统计分析输入图像灰度值与像素点数量的关系,可以获取色级中心灰度值,
具体步骤如下:
步骤S221,统计每一灰度值在输入图像中的像素点数,分析灰度值与像素点数量的关
系。
统计输入图像每一灰度值的像素点数,产生每一灰度值与像素点数量的关系数
据。图5为图3a示例性图像灰度值与像素点数量的关系统计表。图6为图3a示例性图像灰度
值与像素点数量的关系统计图。
步骤S222,找出波峰灰度值。
检查比较每一灰度值与相邻灰度值的像素点数,把比相邻灰度值的像素点数都多
的灰度值视为波峰灰度值,否则,不是波峰灰度值。如果左相邻灰度值的像素点数与右相邻
灰度值的像素点数相等且比次相邻灰度值的像素点数都多的该相邻两点或多点共同视为
波峰灰度值,否则,不是波峰灰度值。
步骤S223,将落入预设灰度长度和预设波谷像素点数的范围的波峰灰度值视为中
心灰度值。
预设灰度长度是指根据应用需求而预先设置的灰度值的相同或相近区间范围参
数,包含本色级最小灰度值至本色级最大灰度值之间的灰度值长度,预设灰度长度的取值
介于10至125之间;或以本色级中心灰度值为基点,一般本色级最小灰度值≦本色级中心灰
度值-5,本色级最大灰度值≧+5的范围内取值(如本色级中心灰度值为70,则本色级最小灰
度值≦65,本色级最大灰度值≧75)。
预设波谷像素点数是指根据应用需求而预先设置的同一灰度值所应集中的像素
点数的范围参数,预设波谷像素点数一般在小于图像总像素点数的10%的范围内取值,即预
设波谷像素点数<图像总像素点数*10%。检查步骤S222所获取的波峰灰度值是否落入预设
灰度长度和预设波谷像素点数的范围,将在预设灰度长度内且大于预设波谷像素点数的波
峰灰度值视为中心灰度值。
步骤S224,将每一色级号所对应的中心灰度值记录入数据组。
将所获取的中心灰度值按灰度值的大小排序后进行编号,每一编号表示一个色
级,将每一色级号所对应的中心灰度值作为数组进行记录。
表1列出了图3a示例性图像落入预设灰度长度为±10和预设波谷像素点数范围为
3%的色级号所对应的中心灰度值:
色级号
中心灰度值
1
255
2
222
3
128
4
64
5
0
表1
第四步,根据所获取色级的中心灰度值并按预设公式动态计算不同色级间的边界灰度
值作为相近色级二值化分割的阈值,以获取多色级二值化自适应阈值。
具体地,传统的图像二值化实质就是指单一图像的二值化,将输入图像上的所有
像素点的灰度值设置为0或255,也就是将整个输入图像呈现出明显的黑白效果。传统的图
像二值化无法解决当出现输入图像存在多级灰度色级的图像等复杂情况时使用单一的阈
值所产生的二值化效果不能完整反映图像的特征的难题。而采用多色级二值化自适应阈值
能分别进行各色级的二值化,有效解决整图使用单一的阈值所产生的二值化效果不能完整
反映图像的特征的难题。
确定多色级二值化自适应阈值的关键是找出背景色级分别与其他多色级的分割
阈值,即当将输入图像上的背景色级的灰度值设置为255,而其他色级灰度值则设置为该色
级中心灰度值为0或将该色级图像分割出来后设置为0,也就是将整个输入图像呈现出明显
的色级分割鲜明的效果。
一般情况下,最大中心灰度值(即:255的灰度值或最接近255的灰度值)为背景色
级的中心灰度值。
背景色级分别与其他多色块或灰度级的分割阈值可以采用如下预设公式计算获
取:
Tn=An·core +(B n·core -A n·core )/2
其中,Tn表示除背景色级外第n个色级的自适应二值化阈值,An·core表示除背景色级外
第n个色级的中心灰度值,B n·core表示除背景色级外第n个色级的上一级中心灰度值。
以图3a示例性图像为例,对根据步骤S220中已获取的每一色块号(或色级号)所对
应的中心灰度值代入式1进行计算,获得除背景色级外的自适应二值化阈值:
图3a示例性图像中除背景色级外的自适应二值化阈值计算如下:
第1色级的自适应二值化阈值:
T1=222+(255-222)/2=239;
第2色级的自适应二值化阈值:
T2=128+(222-128)/2=175;
第3色级的自适应二值化阈值:
T3=64+(128-64)/2=96;
第4色级的自适应二值化阈值:
T4=0+(64-0)/2=32。
图7是图3a示例性图像的组合多色级二值化图。
图8a至图8d是图3a示例性图像的分割多色级二值化图。
图9是图3b示例性图像的组合多色级二值化图。
图10a至图10b是图3b示例性图像的分割多色级二值化图。
在本发明的实施例中,根据所获取的多色级自适应二值化阈值,可以产生出色级
分割鲜明效果的输入图像的多级色块图,用于图像轮廓线特征提取时,有效提高了轮廓特
征信息的提准率。
一种采用如上述所述的动态计算多色级二值化自适应阈值的方法的系统,包括:
提取灰度值模块,用于提取输入图像像素点的灰度值;
获取色级中心灰度值模块,用于通过统计分析输入图像灰度值与像素点数量的关系,
获取输入图像各相同或相近的色级的中心灰度值;
计算获取多色级二值化自适应阈值模块,用于按预设公式动态计算获取多色级二值化
自适应阈值。
图11是一种动态计算多色级二值化自适应阈值的系统结构示意图一。
当一些图像需要反色处理时,一种动态计算多色级二值化自适应阈值的系统包
括:
提取灰度值模块,用于提取输入图像像素点的灰度值;
反色处理模块,并对边线上像素点最集中的灰度值不是255或最大值的输入图像像素
点灰度值做反色处理;
获取色级中心灰度值模块,用于通过统计分析输入图像灰度值与像素点数量的关系,
获取输入图像各相同或相近的色级的中心灰度值;
计算获取多色级二值化自适应阈值模块,用于按预设公式动态计算获取多色级二值化
自适应阈值。
图12是一种动态计算多色级二值化自适应阈值的系统结构示意图二。
以上所述实施例说明了通过逐一对输入图像灰度值与像素点数量的关系的统计
分析,获取针对输入图像的以中心灰度值为表现形式的色级特征,以不同色级的边界灰度
值作为相近色级二值化分割的阈值,从而得到多色级的二值化自适应阈值。
利用本发明的多色级二值化自适应阈值方法及其系统,能够对输入图像存在多灰
度色级的图像等复杂情况进行二值化的处理,有效提高多色级输入图像的二值化处理效
果,并获得完整反映输入图像不同色级的色块特征信息,克服多灰度级的输入图像进行图
像二值化处理时,使用传统的方法难以找出为使用者感兴趣的图像目标像素点及其所构成
的不同色级的色块特征信息的缺陷。利用本发明的多色级二值化自适应阈值方法及其系
统,还能够实现图像按色级进行色块的分拆,丰富图像特征的描述,便于更广地满足图像分
析的需要。
应当理解的是,以上实施例仅表达了本发明的几种实施方式,其描述较为具体和
详细,但并不能因此而理解为对本发明专利范围的限制。应当指出,对本领域普通技术人员
来说,在不脱离本发明构思的前提下,还可以做出若干的变形、推导、改进或变换,所有这些
都应属于本发明所附权利要求的保护范围。