DPM码图像对比度增强方法及装置与流程

文档序号:17741803发布日期:2019-05-24 20:12阅读:436来源:国知局
DPM码图像对比度增强方法及装置与流程

本发明涉及图像处理及自动识别技术领域,特别涉及一种dpm码图像对比度增强方法及装置。



背景技术:

dpm(directpartmark,直接部件标示),是指直接在零部件表面标识条码,而不需要纸张、标签一类的标识载体。其好处在于使条码与产品融为一体,永不丢失也不可涂改,使得产品在整个寿命周期都是可以识别的,便于追溯。由于dpm条码是直接标识于零部件表面,相对于普通纸质条码,其更容易受到零部件表面纹理、光照变化的影响,以及随着时间的变化,零部件老化导致条码的污损,使得采集到dpm条码普遍存在对比度低、噪声干扰等情况,难以识别,需要进行条码图像的对比度增强。

现有的常用对比度增强算法包括直方图均衡与伽马校正等,其中伽马校正将伽马函数作为映射函数使用,从而提高图像的对比度,但是该方法在使用时,难以找到适用于图像的伽马值;而直方图均衡方法是通过压缩像素数较少的灰阶并扩展像素数较多的灰阶,从而使处理后的图像获得较高的对比度,但是,介于dpm条码图像在图中占比普遍较小、对比度更低,识读精度的要求,该方法的精细度还不够,需要针对条码做更精细对比度增强。此外,采用全局对比度拉伸的对比度增强算法,难以精细化的对条码进行对比度增强,易造成整体条码的亮度变高或是变低,不利于后期解码。



技术实现要素:

本发明要解决的技术问题是如何提供一种可提高dpm解码成功率的dpm码图像对比度增强方法及装置。

为了解决上述技术问题,本发明的技术方案为:

一种dpm码图像对比度增强方法,包括步骤:

s10:对二维条码图片进行解码尝试;

s20:若解码失败,则计算对比度增强阈值;

s30:对图片进行对比度增强,对比度增强公式为:

其中,t为对比度增强阈值,s为增强后的像素值,r为输入的归一化后的像素值,e为调节系数;

s50:将增强后的图片输入现有条码解码算法进行解码尝试,若解码失败,则返回步骤s20进行对比度增强阈值的重新调整。

优选地,步骤s20中包括:

s21:检测是否为首次对比度增强;

s22a:如为首次对比度增强,计算条码的牛眼数量;

s23a:若条码的牛眼数量不为零,则检测牛眼定位像素点的数量及其像素值;

s24a:取像素值较小的一半数量的像素点,将这些像素点的像素值平均值加上这些像素点的像素值方差,获得对比度增强阈值。

优选地,步骤s24之后,还包括:

s25a:若条码的牛眼数量为零,则接收预设的对比度增强阈值,该预设的对比度增强阈值的取值范围在0.1至0.45之间。

优选地,步骤s21之后,如检测到不是首次对比度增强,则:

s22b:计算条码的牛眼数量,若条码的牛眼的数量为零,则对比度增强阈值设置为前一次的对比度增强阈值加上预设常数,所述预设常数的取值范围在0.01至0.1之间;

s23b:若条码的牛眼的数量不为零,则执行步骤s22a、s23a及s24a以重新计算对比度增强阈值,并计算所得的对比度增强阈值与前一次的对比度增强阈值之间的差值,若差值小于所述预设常数,则对比度增强阈值设置为前一次的对比度增强阈值加上所述预设常数。

优选地,步骤s30之后还包括步骤:

s40:将对比度增强后的图片进行滤波处理。

本发明还提出了一种dpm码图像对比度增强装置,包括步骤:

解码模块:对二维条码图片进行解码尝试;

阈值计算模块:若解码失败,则计算对比度增强阈值;

对比度增强模块:对图片进行对比度增强,对比度增强公式为:

其中,t为对比度增强阈值,s为增强后的像素值,r为输入的归一化后的像素值,e为调节系数;

循环模块:将增强后的图片输入现有条码解码算法进行解码尝试,若解码失败,则返回步骤s20进行对比度增强阈值的重新调整。

优选地,阈值计算模块包括:

检测模块:检测是否为首次对比度增强;

牛眼计算模块:如为首次对比度增强,计算条码的牛眼数量;

定位像素点模块:若条码的牛眼数量不为零,则检测牛眼定位像素点的数量及其像素值;

计算模块:取像素值较小的一半数量的像素点,将这些像素点的像素值平均值加上这些像素点的像素值方差,获得对比度增强阈值。

优选地,还包括:

阈值预设模块:若条码的牛眼数量为零,则接收预设的对比度增强阈值,该预设的对比度增强阈值的取值范围在0.1至0.45之间。

优选地,阈值计算模块还包括:

阈值累加模块:计算条码的牛眼数量,若条码的牛眼的数量为零,则对比度增强阈值设置为前一次的对比度增强阈值加上预设常数,所述预设常数的取值范围在0.01至0.1之间;

阈值计算累加模块:若条码的牛眼的数量不为零,则执行步骤s22a、s23a及s24a以重新计算对比度增强阈值,并计算所得的对比度增强阈值与前一次的对比度增强阈值之间的差值,若差值小于所述预设常数,则对比度增强阈值设置为前一次的对比度增强阈值加上所述预设常数。

优选地,还包括:滤波模块:对比度增强后的图片进行滤波处理。

采用上述技术方案,通过增强公式将像素值在对比度增强阈值附近的对比度大幅拉升,进而实现图像对比度的增强。同时本方案还通过多次解码尝试及反馈,实现对比度增强阈值的调整,以获取合适的对比度增强阈值,提升对比度。本发明针对dpm码低对比度,背景纹理复杂的问题,实现对dpm条码的针对性对比度增强,大幅提升了条码的识别率。

附图说明

图1为本发明dpm码图像对比度增强方法一实施例的流程图;

图2为图1中步骤s20的流程图;

图3为图1中步骤s20的另一实施方式的流程图;

图4本发明一实施例中的汉信码;

图5本发明一实施例中的牛眼定位像素点示意图;

图6本发明中的对比度增强公式的对应的曲线;

图7为本发明dpm码图像对比度增强装置一实施例的原理框图;

图8为图4中阈值计算模块的原理框图。

图中,10-解码模块,20-阈值计算模块,30-对比度增强模块,40-滤波模块,50-循环模块,21-检测模块,22-牛眼计算模块,23-定位像素点模块,24-计算模块,25-阈值预设模块,26-阈值计算累加模块,27-阈值累加模块。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。

参照图1,本发明提出了一种dpm码图像对比度增强方法,

通过扫码枪或其他条码采集设备采集二维码图像,

s10:对二维条码图片进行解码尝试,该尝试可通过现有的解码方法进行。

若解码成功,则输出解码结果,并退出接收流程。

s20:若解码失败,则计算对比度增强阈值t。

s30:对图片进行对比度增强,对比度增强公式为:

其中,t为对比度增强阈值。s为增强后的像素值。r为输入的归一化后的像素值,即像即r=原始像素值/255。e为调节系数,e决定调节曲线的陡峭度,越大对于拉伸越明显,对于处于阈值t附近的像素值变化越明显,对于阈值t的设置也越敏感,取值可以为1到无穷大。

s40:将对比度增强后的图片进行滤波处理。需要说明的是,该滤波用以去除噪声,方式可以为平滑滤波、均值滤波、高斯滤波、椒盐滤波等。

s50:将增强后的图片输入现有条码解码算法进行解码尝试,若解码成功,则代表对比度增强成功,输出解码结果,若解码失败,则返回步骤s20进行对比度增强阈值的重新调整。

若经过n次对比度增强,仍不成功,则退出解码,解码失败。n可以为大于或等于1的自然数。需要说明的是,该步骤用以平衡解码速度以及解码成功率。

参照图2,具体地,步骤s20中包括:

s21:检测是否为首次对比度增强;

s22a:如为首次对比度增强,计算条码的牛眼数量;

需要说明的是,牛眼是用来定位条码区域,以及用来做条码旋转、矫正的定位点,即条码定位点,每种条码都有其特有的牛眼。

s23a:若条码的牛眼数量不为零,则检测牛眼定位像素点的数量及其像素值;

s24a:取像素值较小的一半数量的像素点,将这些像素点的像素值平均值加上这些像素点的像素值方差,获得对比度增强阈值。

假设定位的牛眼位置为p,共有i个牛眼定位像素点,则将i个牛眼定位点按照像素值进行从小到大排序,取较小的前i/2像素点的像素值作平均,再加上方差,即为阈值t。t=mean(p[k])+var(p[k]),其中p[k]表示升序后i/2个像素点所对应的像素值。

s25a:若条码的牛眼数量为零,则接收预设的对比度增强阈值,该预设的对比度增强阈值可根据人工经验进行预设,该预设的对比度增强阈值的取值范围在0.1至0.45之间。

参照图3,具体地,步骤s21之后,如检测到不是首次对比度增强,则:

s22b:计算条码的牛眼数量,若条码的牛眼的数量为零,则对比度增强阈值设置为前一次的对比度增强阈值加上预设常数;需要说明的是,该常数即为调整步长,可根据自身的拍摄图片解码统计情况而调整,该预设常数的取值范围在0.01至0.1之间。

s23b:若条码的牛眼的数量不为零,则执行步骤s22a、s23a及s24a以重新计算对比度增强阈值。计算所得的对比度增强阈值与前一次的对比度增强阈值之间的差值,若差值小于预设常数,则对比度增强阈值设置为前一次的对比度增强阈值加上预设常数。

以图,4中的汉信码为例,根据汉信码特性,其含有四个牛眼,理想情况下,如图5,解码算法会定位到8个点,如图所示,这里定位到的牛眼个数大于0,则阈值设置方法采用步骤s21、s22a、s23a、s24a的方法。取像素值较小的前4个像素点的像素值作平均,再加上其方差,得到增强阈值。

如,6,可以看出像素值在阈值t附近的像素点,其变换的幅度会较大,曲线较陡,远离t的像素点,变换较为平缓。因此这里设计的阈值t处于牛眼点像素值附近,使得牛眼点附近,灰色较大幅度变的更白,而黑色较大幅度变得更黑,明显使得条码的黑白对比度得到拉伸,达到便于解码的目的,同时通过多次解码尝试,进行对比度增强阈值t的调整,得到较优的t值,提升解码率。

参照图7,本发明还提出了一种dpm码图像对比度增强装置,包括步骤:

解码模块10:对二维条码图片进行解码尝试;

阈值计算模块20:若解码失败,则计算对比度增强阈值;

对比度增强模块30:对图片进行对比度增强,对比度增强公式为:

其中,t为对比度增强阈值,s为增强后的像素值,r为输入的归一化后的像素值,e为调节系数;

滤波模块40:对比度增强后的图片进行滤波处理。

循环模块50:将增强后的图片输入现有条码解码算法进行解码尝试,若解码失败,则返回步骤s20进行对比度增强阈值的重新调整。

参照图8,具体地,阈值计算模块30包括:

检测模块21:检测是否为首次对比度增强;

牛眼计算模块22:如为首次对比度增强,计算条码的牛眼数量;

定位像素点模块23:若条码的牛眼数量不为零,则检测牛眼定位像素点的数量及其像素值;

计算模块24:取像素值较小的一半数量的像素点,将这些像素点的像素值平均值加上这些像素点的像素值方差,获得对比度增强阈值。

具体地,还包括:

阈值预设模块25:若条码的牛眼数量为零,则接收预设的对比度增强阈值,该预设的对比度增强阈值的取值范围在0.1至0.45之间。

具体地,阈值计算模块30还包括:

阈值累加模块27:计算条码的牛眼数量,若条码的牛眼的数量为零,则对比度增强阈值设置为前一次的对比度增强阈值加上预设常数,该预设常数的取值范围在0.01至0.1之间;

阈值计算累加模块26:若条码的牛眼的数量不为零,则执行步骤s22a、s23a及s24a以重新计算对比度增强阈值,并计算所得的对比度增强阈值与前一次的对比度增强阈值之间的差值,若差值小于预设常数,则对比度增强阈值设置为前一次的对比度增强阈值加上预设常数。

采用上述技术方案,通过增强公式将像素值在对比度增强阈值附近的对比度大幅拉升,进而实现图像对比度的增强。同时本方案还通过多次解码尝试及反馈,实现对比度增强阈值的调整,以获取合适的对比度增强阈值,提升对比度。本发明针对dpm码低对比度,背景纹理复杂的问题,实现对dpm条码的针对性对比度增强,大幅提升了条码的识别率。

以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1