缺损一维条码的解码方法

文档序号:10613205阅读:360来源:国知局
缺损一维条码的解码方法
【专利摘要】本发明涉及一种缺损一维条码的解码方法,其以现有技术定位条码图像中的条码中心、确定条码方向并画一条以条码方向为走向的经过条码中心点的线,以这条线提取到的信息作为初次解码数据,如果解码成功,则返回解码信息,如果解码失败,则以这条中线为基准,向上向下分别画一条平行于条码中线的直线,作为再次解码的数据。本发明的有益效果是:能满足缺损条码解码需求,提高解码率。
【专利说明】
缺损一维条码的解码方法
技术领域
[0001 ]本发明涉及一种对一维码的方向进行快速判别的方法。
【背景技术】
[0002]—维条码解码方法主要是根据现有技术确定条码中心点,在中心点确定的基础上确定条码方向,顺着条码走向画线,得到条空数据解码。一旦条码信息有缺失,将导致数据不完整,最终使得解码失败。
[0003]摄像头采集条码图像时,可能因为条码本身的破损、外界光照不均(明暗分布不均)或者摄像头过曝光导致采集解码难以成功。

【发明内容】

[0004]本发明要解决的技术问题是:解码带缺损的一维条码。
[0005]为了解决上述技术问题,本发明的技术方案是提供了一种缺损一维条码的解码方法,包括以下步骤:
[0006]步骤1、定位条码图像中的条码中心、确定条码方向,画一条以条码方向为走向的经过条码中心的条码中心扫描线;
[0007]步骤2、提取条码中心扫描线的边界数据,进行初次解码,若解码成功,则当前解码结束,若解码失败,则进入步骤3,其特征在于:
[0008]步骤3、在条码中心扫描线的上方或下方,且平行于条码中心扫描线,得到一条扫描线,将该扫描线定义为当前扫描线;
[0009]步骤4、提取当前扫描线的边界数据;
[0010]步骤5、比对步骤4得到的边界数据及条码中心扫描线的边界数据,获得条码中心扫描线所对应边界数据的缺损信息;
[0011]步骤6、根据缺损信息补充条码中心扫描线上缺失的边界,更新条码中心扫描线的边界数据;
[0012]步骤7、将通过步骤6得到的条码中心扫描线再次用于解码,若解码成功,则当前解码结束。
[0013]优选地,在所述步骤7中,若解码失败,则进入步骤8;
[0014]步骤8、设定解码次数,每增加一条扫描线,解码次数加I,判断解码次数是否超过设定的阈值,若没有超过,则根据步骤3相同方法得到一条与当前扫描线不同的扫描线,将当前扫描线更新为步骤8得到的扫描线,返回步骤4,若超过,则解码失败。
[0015]优选地,在所述步骤3中,在所述条码中心扫描线的上方和/或下方,且平行于条码中心扫描线,得到N条扫描线,N多2,N条扫描线遵循由上至下、由靠近所述条码中心扫描线至远离所述条码中心扫描线的规则进行排序,将第一条扫描线设定为当前扫描线;
[0016]则在所述步骤4中,提取当前扫描线的边界数据;
[0017]则在所述步骤7中,若解码失败,进入步骤8;
[0018]步骤8、判断当前扫描线是否为最后一条扫描线,若是,则解码失败,若否,则将当前扫描线更新为下一条扫描线,返回步骤4。
[0019]发明的总体思路是:以现有技术定位条码图像中的条码中心、确定条码方向并画一条以条码方向为走向的经过条码中心点的线,以这条线提取到的信息作为初次解码数据,如果解码成功,则返回解码信息,如果解码失败,则以这条中线为基准,向上向下分别画一条平行于条码中线的直线,作为再次解码的数据。
[0020]本发明的有益效果是:能满足缺损条码解码需求,提高解码率。
【附图说明】
[0021 ]图1为本发明方法具体实施例缺损条码边界比对示意图;
[0022]图2为本发明系统具体实施例条码解码流程图。
【具体实施方式】
[0023]为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。
[0024]本发明最关键的构思在于:通过平移扫描线,实现条码缺损信息的填充。
[0025]如图2所示,为本发明一具体实施例缺损条码扫描线边界比对方法示意图,图中所示为条码中的一个区段,序号I为条码中心扫描线,序号2为平行于条码中心扫描线且相隔N行(例如5行)的扫描线。由图可知,条码中心扫描线I缺损了线段3和线段7部分的信息,而扫描线2则缺损了线段6部分的信息。如果直接将条码中心扫描线I或扫描线2送入解码,则会因其边界缺损导致解码失败。此时需要比对条码中心扫描线I及扫描线2的边界数据,扫描线2中线段4和线段8所表示的边界信息刚好可以弥补中心扫描线中线段3和线段7所表示的边界信息,条码中心扫描线I中线段5所表示的边界信息则刚好弥补了扫描线2所表示的边界信息。将条码中心扫描线I与扫描线2的边界信息比对后,互相填补,则使得条码中心扫描线I和扫描线2的边界信息都趋于完整,此时送入解码,能大大提高成功率。
[0026]基于以上思路,本发明实施例公开了一种缺损条码解码的方法,结合图2,包括如下步骤:
[0027]S1:利用现有技术确定条码中心扫描线;
[0028]S2:将条码中心扫描线用于解码,若解码成功,则退出本方法,若解码失败,在条码中心扫描线的上方或者下方,且平行于条码中心扫描线另取一组扫描线,以弥补条码缺损信息,将扫描线定义为当前扫描线;
[0029]S3:提取当前扫描线的边界数据;
[0030]S4:比对步骤S3得到的边界数据及条码中心扫描线的边界数据,获得条码中心扫描线所对应边界数据的缺损信息;
[0031]S5:根据缺损信息补充条码中心扫描线上缺失的边界,更新条码中心扫描线的边界数据;
[0032]S6:设定解码次数(将其初始化为I)及解码次数阈值,将通过步骤S5得到的条码中心扫描线再次用于解码,若解码成功,则当前解码结束,退出本方法,若解码失败,则进入步骤S7;
[0033]S7:将解码次数加I,判断解码次数是否超过解码次数阈值,若未超过,则利用步骤S2相同的方法得到一组与当前扫描线不同的扫描线,将当前扫描线更新为步骤S7得到的扫描线,返回步骤S3。
[0034]上述技术方案是通过设定解码次数来防止整个方法陷入死循环,本领域技术也可以采用利用扫描线的数量来防止整个方法陷入死循环,其与上述方法的区别在于:
[0035]在步骤S2中,将条码中心扫描线用于解码,若解码成功,则退出本方法,若解码失败,在条码中心扫描线的上方或者下方,且平行于条码中心扫描线另取N组扫描线,N多2,N条扫描线遵循由上至下、由靠近所述条码中心扫描线至远离所述条码中心扫描线的规则进行排序,将第一条扫描线设定为当前扫描线;
[0036]则在所述步骤S7,判断当前扫描线是否为最后一条扫描线,若是,则解码失败,若否,则将当前扫描线更新为下一条扫描线,返回步骤S3。
[0037]与现有技术相比,本发明的解码方法的有益效果在于:既能满足完整条码的解码需求,又能满足缺损条码解码需求,提高解码率。
[0038]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.缺损一维条码的解码方法,包括以下步骤: 步骤1、定位条码图像中的条码中心、确定条码方向,画一条以条码方向为走向的经过条码中心的条码中心扫描线; 步骤2、提取条码中心扫描线的边界数据,进行初次解码,若解码成功,则当前解码结束,若解码失败,则进入步骤3,其特征在于: 步骤3、在条码中心扫描线的上方或下方,且平行于条码中心扫描线,得到一条扫描线,将该扫描线定义为当前扫描线; 步骤4、提取当前扫描线的边界数据; 步骤5、比对步骤4得到的边界数据及条码中心扫描线的边界数据,获得条码中心扫描线所对应边界数据的缺损信息; 步骤6、根据缺损信息补充条码中心扫描线上缺失的边界,更新条码中心扫描线的边界数据; 步骤7、将通过步骤6得到的条码中心扫描线再次用于解码,若解码成功,则当前解码结束。2.如权利要求1所述的一种缺损一维条码的解码方法,其特征在于,在所述步骤7中,若解码失败,则进入步骤8; 步骤8、设定解码次数,每增加一条扫描线,解码次数加I,判断解码次数是否超过设定的阈值,若没有超过,则根据步骤3相同方法得到一条与当前扫描线不同的扫描线,将当前扫描线更新为步骤8得到的扫描线,返回步骤4,若超过,则解码失败。3.如权利要求1所述的一种缺损一维条码的解码方法,其特征在于,在所述步骤3中,在所述条码中心扫描线的上方和/或下方,且平行于条码中心扫描线,得到N条扫描线,N多2,N条扫描线遵循由上至下、由靠近所述条码中心扫描线至远离所述条码中心扫描线的规则进行排序,将第一条扫描线设定为当前扫描线; 则在所述步骤7中,若解码失败,进入步骤8; 步骤8、判断当前扫描线是否为最后一条扫描线,若是,则解码失败,若否,则将当前扫描线更新为下一条扫描线,返回步骤4。
【文档编号】G06K7/10GK105975888SQ201610288790
【公开日】2016年9月28日
【申请日】2016年5月4日
【发明人】刘宁
【申请人】上海皇和信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1