当前位置: 首页 > 专利查询>清华大学专利>正文

一种条形码识别算法制造技术

技术编号:2936840 阅读:979 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及到一种条形码识别算法,它适用于两种元素宽的而且一个字符中条符数固定的一类条形码的识别。其特征是先测量各条符的宽度,然后对每一个字符中的条符宽度测量值分别进行大小排序,并根据码制规定确定相应宽条符个数,进而确定各条符的二进制值。其优点是无需人为地确定比较基准,可靠性高;对扫描不均匀性和印制误差都有较大的容差范围;使用该算法的识别装置一次识别率高,误识率和拒识率低。(*该技术在2012年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及到一种条形码识别方法,它适用于两种元素宽的且一个字符中条符数固定的一类条形码的识别。目前使用的条形码依不同的编码方式而分为两类,一类是两种元素宽的条形码,另一类是多种元素宽的条形码。附图1、附图2是本专利技术涉及到的两种元素宽条形码一类中的两种典型形式。附图1中的条形码由宽窄着色条符和宽窄非着色条符组成,宽条符为二进制值“1”,窄条符为二进制值“0”。附图2中的条形码由宽窄着色条符和窄非着色条符组成,宽着色条符为二进制值“1”,窄着色条符为二进制值“0”,非着色条符不携带信息。条形码识别所要完成的是首先测量条形码条符的宽度,然后对于已确定码制的条形码,通过对各测量值进行处理而确定出条形码所代表的二进制信息。条形码识别算法的核心在于如何将已确定码制的条形码条符宽度测量值转化成其代表的二进制信息,这个过程实质上是个译码过程。目前比较通用的适合于两种元素宽的条形码译码算法有两种。第一种算法日本专利《记录的翻译方法及系统》,日本专利特许公报(B2)昭55-49354第5页第43行至第6页第15行,第8页第30行至第11页第19行(JapanesePatentApplicationLaidOpenNo.55-49354,L43P5-L15P6,L30P8-L19P11),其要点是将相邻条符宽度测量值进行比较,即进行除法运算,比值同一个大于1的常数K比较,由比较结果判别二进制值。具体步骤如下设相邻两条符宽度值分别为A,B(1)B/A>K,则B为二进制“1”,A为二进制“0”;(2)B/A<1/K,则B为二进制“0”,A为二进制“1”;(3)1/K<B/A<K,则B和A的二进制值由下次比较确定。在这里,K值应小于最小相邻宽窄条符之比,并且大于最大宽(或窄)相邻条符之比。该算法对由于扫描不均匀而带来的测量值和实际条符宽度值的差别能有较大的容差范围,但对印制误差则比较敏感。以CODE-39码为例,当条形码宽度W=0.533mm,宽窄条符之比N=3.0时,允差t=0.184mm,这时两相邻窄条符之比最大为2.05,而相邻宽窄条符之比最小为1.97,对这种情况,显然无法选择适当的K值而正确译码。可见,对于一条完全符合条形码印制标准的条形码,在印制标准规定范围内的误差也会因这种算法失效而造成拒识。第二种算法美国专利,《条形码识别方法及设备》专利号4687912,第3页第37行至第45行,第5页第29行至第9页第37行(UnitedStatesPatent,BARCODEREADINGMETHODANDAPPARATUSPatentNo.4687912,L37P3-L45P3,L29P5-L37P9)其要点是首先从几个条符的宽度测量值中计算出基准值,然后每个条符宽度测量值同其相比,大于基准值的为二进制“1”,小于基准值的则为二进制“0”。这种算法对于宽条符值大于窄条符值而小于基准值的情况就无法正确译码。实际应用中,由于扫描的不均匀性,这种情况的出现不能完全消除。所以,这种算法也有其局限性。因此,以上两种算法的一个共同之处在于都需要“人为”确定一个比较基准,各条符的二进制值的确定依赖于这个基准值,这不可避免地带来以下问题(1)要合理地确定一个实时的和通用的基准是比较困难的,因而处理过程比较繁琐;(2)这种基准的得出包含有一定的人为因素,可靠性降低。(3)只能对印制原因和扫描不均匀原因两种误差中的一种有比较好的抑制效果,而对另一种则比较敏感。本专利技术的目的是针对现有技术的不足,提供一种不需要“人为”确定比较基准,而且对扫描不均匀和印制误差都允许有较大的容差范围的条形码算法。本专利技术的技术要点是对已确定码制的、两种元素宽的、一个字符的条符数固定的条形码,利用条符宽窄所对应二进制信息非“1”即“0”的特点,先测量条形码的各条符宽度,然后对每一个字符中的条符宽度测量值分别进行大小排序,并根据码制规定确定相应宽条符个数,进而确定各条符的二进制值。该算法同现有算法相比,由于无需确定“人为”的比较基准,就可以确定出条符测量值的二进制值,所以实现容易,可靠性提高。同时它对扫描不均匀和印制误差都能有较大的容差范围。同其它算法相比,在同样的硬件装置条件下,用该算法可以得到更优的识别效果,即一次识别率提高,误识率和拒识率降低。在要求同样的识别性能时,则可降低相应的硬件装置的要求或印制的要求。 附图说明附图1是宽窄着色条符和宽窄非着色条符组成的两种元素宽条形码附图2是宽窄着色条符和窄非着色条符组成的两元素宽条形码附图3是CODE-39码的译码流程图附图4是CODEBAR码的译码流程图实施例本算法是针对于只有两种元素宽的、条符数固定的一类条形码而提出的,这类条形码包括了大部分常用的条形码,如CODE-39码、基本2/5码、交替2/5码、矩阵2/5码、CODE-B码、CODABAR码、MSI-CODE码、3/9码等,其基本点是对条符宽度值进行排序,由排序结果直接判定前几个最大值为宽条符,其余为窄条符。具体确定前多少个最大值为宽条符则依不同码制而不同。下面分别以CODE-39码和CODABAR码为例来说明本专利技术的实现方法。实施例1.CODE-39码的编码规则规定,每一个字符代码由九个条符组成,其中着色条符五个,含两个宽条符,非着色条符四个,含一个宽条符。在组成字符代码的九个编码元素中,有而且只有三个宽条符。而且规定宽条符代表“1”,窄条符代表“0”。在已确定条形码码制为CODE-39码后,利用本专利技术的算法实现译码的具体过程如下(见附图3)(1)完成条符宽度的测量; (2)取一个字符中的九个条符宽度测量值; (3)按宽度值的大小降序排列(取前三个即可); (4)三个最大值为宽条符,代表二进制“1”,其余为窄条符,代表二进制“0”; (5)若所有字符处理完毕,则结束;否则重复(2)~(4)各步骤。实施例2.CODABAR码的编码规则规定,每个代码由七个编码元素组成,即四个着色条符和三个非着色条符。每一代码中宽条符的个数可以是二,也可以是三。而且规定宽条符代表“1”,窄条符代表“0”。由分析可知,CODABAR码每一代码出现三个宽条符的情况只可能是(1)起始符或终止符;(2)三个宽条符全部是着色条符。而每一代码出现二个宽条符的情况是宽条符必然有一个是非着色条符。据此就可以区别二个宽条符和三个宽条符的情况。具体实现过程如下(见附图4)(1)完成条符宽度的测量; (2)取一个字符中的七个条符宽度测量值; (3)按宽度值的大小降序排列(取前三个即可); (4)若是第一个或最后一个字符,则判别为起始符或终止符; (5)若三个最大值都是着色条符,则判别为三个宽条符的情况;三个最大值为宽条符,代表二进制“1”,其余为窄条符,代表二进制“0”; (6)其余都是二个宽条符的情况,只需取前二个最大值;二个最大值为宽条符,代表二进制“1”,其余为窄条符,代表二进制“0”; (7)若所有字符处理完毕,则结束;否则重复(2)~(6)各步骤。权利要求1.一种对已确定码制的两种元素宽的一个字符的条符数固定的条形码的识别算法,其特征是利用条符宽窄所对应二进制信息非“1”即“0”的特点,先测量条形码的条符宽度,然后对每一个字符中的条符宽度测量值分别进本文档来自技高网...

【技术保护点】
一种对已确定码制的两种元素宽的一个字符的条符数固定的条形码的识别算法,其特征是利用条符宽窄所对应二进制信息非“1”即“0”的特点,先测量条形码的条符宽度,然后对每一个字符中的条符宽度测量值分别进行大小排序,并根据码制规定确定相应的宽条符个数,进而确定各条符的二进制值。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:毛玮明王新宏查开德
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1