一种二维码分段校验方法

文档序号:6535759阅读:530来源:国知局
一种二维码分段校验方法
【专利摘要】本发明涉及一种二维码分段校验方法,包括如下步骤:引入分段校验;当出现数据未通过分段校验的时候,找出相应的出错的数据段,并参考之前保存的几幅图像的解码数据,对比相应段;如果之前保存的某个解码数据的相应数据段通过校验,则用该解码数据的相应段来替换现有解码数据的出错数据段;如果之前保存的几幅图像的解码数据的相应段均未通过校验,则一一对比相应的数据段,若某一个数据出现的频率更高,就用该数据来替换原有数据。本发明具有如下效果:生成二维码时,减少了数据校验时出现错误的可能,提高了二维码图像的识别率。当数据未通过分段校验的时候,可以对出错数据段进行纠正,在很大程度上提高二维码图像的识别率。
【专利说明】一种二维码分段校验方法
【技术领域】
[0001]本发明涉及二维码识别方法,尤其是指一种二维码分段校验方法。
【背景技术】
[0002]随着智能识别技术的发展,二维码识别技术凭借其方便性和快捷性,已经广泛地应用于我们生活的很多方面。现有的二维码识别技术还存在一些问题,这些问题直接制约着二维码识别技术的发展。这些问题主要表现在以下几个方面:1)由于校验出现错误而导致的识别率下降;2)不能根据校验结果对二维码解码数据进行纠正而导致的识别率下降。
[0003]如图1所示,现有的二维码校验方案描述如下:
[0004]I)对图像处理后的二值化图像,结合三个寻像图形的位置与校正图形的位置建立采样网格,并采样数据,将图像转换为数据矩阵;
[0005]2)根据数据矩阵,对图像进行解码。其基本流程可以概括为识读格式、去掩模、码字提取、RS纠错、数据解码等几个步骤;
[0006]3)对解码数据进行校验,即计算校验码前面的一组数据项的和,如果计算得到的校验和与添加在数据末尾的校验和一致,解码数据通过校验,直接将解码数据输出;如果两个校验和不一致,解码数据未通过校验,返回重新建立采样网格,并重新解码。当返回重新采样的次数大于一定的阈值时,不再返回,结束校验,输出解码数据。这里采用的校验方式为:在整个数据的末尾添加校验和。
[0007]4)将校验后的解码数据进行输出。
[0008]现有方案存在以下缺点:有时会出现校验结果与数据实际情况不符的情况;对未通过校验的数据,无法进行数据纠正。

【发明内容】

[0009]本发明解决的技术问题包括以下二个方面:1)现有的校验方法存在通过校验,二维码解码数据却错误的情况;2)现有校验方法只能判断二维码解码数据是否正确,而不能根据校验结果对二维码解码数据进行纠正。
[0010]本发明的目的在于克服现有技术存在的不足,而提供一种二维码分段校验方法。该发明采用了以下技术:1)引入分段校验,即将图像数据分成几个部分,对每个部分进行分别校验;2)当某一部分数据出现未通过校验的情况时,可以参考保存的解码数据对该部分数据进行纠正。通过以上技术的引入,可以极大地提高二维码图像识别的性能。
[0011]本发明的目的是通过如下技术方案来完成的。这种二维码分段校验方法,该方法包括如下步骤:
[0012](I)、在生成二维码图像的时候,首先将需编码的数据分为几段,然后在每一段数据之后,加入该段数据的校验码;这里每段数据的校验码添加方法为:计算相应段编码内容的单字节累加和,并将16进制结果的高四位和低四位分别转为ASCII字符添加在编码的末尾;在识别二维码图像的时候,计算每一段解码数据的单字节累加和,并将16进制结果的高四位和低四位分别转为ASCII字符,然后将这两个字符与相应段添加的校验码相比较,如果一致,则该段数据通过校验,否则,未通过校验;
[0013](2)、当出现数据未通过分段校验的时候,找出相应的出错的数据段,并参考之前保存的几幅图像的解码数据,对比相应段;如果之前保存的某个解码数据的相应数据段通过校验,则用该解码数据的相应段来替换现有解码数据的出错数据段;如果之前保存的几幅图像的解码数据的相应段均未通过校验,则一一对比相应的数据段,若某一个数据出现的频率更高,就用该数据来替换原有数据。
[0014]本发明具有如下效果:
[0015]I)生成二维码的时候,将数据进行分段加入更多的校验码,减少了数据校验时出现错误的可能,提高了二维码图像的识别率。
[0016]2)当数据未通过分段校验的时候,可以根据分段校验码定位到出错数据段,结合之前保存的解码数据,可以对出错数据段进行纠正,这种技术的引入也可以在很大程度上提高二维码图像的识别率。
【专利附图】

【附图说明】
[0017]图1是现有技术的流程示意图;
[0018]图2是本发明的方框示意图;
[0019]图3是本发明的流程示意图。
【具体实施方式】
[0020]下面将结合附图对本发明做详细的介绍:
[0021]本发明提出两种与二维码分段校验相关的技术,这两种技术在二维码识别流程中所处的位置如图2所示:
[0022]I)分段校验技术:在生成二维码图像的时候,首先将需编码的数据分为几段(如3段),然后在每一段数据之后,加入该段数据的校验码。这里每段数据的校验码添加方法为:计算相应段编码内容的单字节累加和,并将16进制结果的高四位和低四位分别转为ASCII字符添加在编码的末尾。在识别二维码图像的时候,计算每一段解码数据的单字节累加和,并将16进制结果的高四位和低四位分别转为ASCII字符,然后将这两个字符与相应段添加的校验码相比较,如果一致,则该段数据通过校验,否则,未通过校验。在每一段数据的结尾都加入校验码,采用这种校验方式可以减少校验时出现偏差的可能,最终有利于提高解码性能。
[0023]2)解码数据纠错技术:当出现数据未通过分段校验的时候,找出相应的出错的数据段,并参考之前保存的几幅图像的解码数据,对比相应段。如果之前保存的某个解码数据的相应数据段通过校验,则用该解码数据的相应段来替换现有解码数据的出错数据段;如果之前保存的几幅图像的解码数据的相应段均未通过校验,则一一对比相应的数据段,若某一个数据出现的频率更高,就用该数据来替换原有数据。
[0024]下面将对本发明所采用的一种二维码分段校验方法进行具体介绍,其具体流程图如图3所示:
[0025]I)根据版本号和三个寻像图形的具体位置通过采样网格对图像处理后的二值图像进行采样,将采样点转为数据矩阵。
[0026]2)对数据矩阵进行解码,解码的流程可以概括为:首先进行格式信息译码,然后用纠错码字进行错误检查,如果发现错误则进行纠错,最后进行数据码字译码,并将结果输出。为了提高识别率,在版本允许和满足信息量要求的情况下,尽量提高纠错等级。
[0027]3)将解码数据分为几段,根据校验码添加原则,对每段中的数据进行相应计算得到校验码,并将它与添加在每段数据结尾的校验码进行比较,当两者一致时,该段数据通过校验,否则未通过校验。当有至少一段数据未通过校验时,即认为该解码数据未通过分段校验;当所有的数据段都通过校验时,才认为该解码数据通过分段校验。
[0028]4)当解码数据通过分段校验时,直接输出解码数据;当解码数据未通过分段校验时,首先返回重新建立采样网格,并根据采样生成新的数据矩阵。当返回重新建立采样网格的次数达到一定的阈值的时候,不再返回重新建立采样网格,而是返回解码数据纠错。
[0029]5)对解码数据进行纠错的过程如下:根据分段校验码找出需纠错的数据段,并将其与之前保存的解码数据的相应段进行比较。如果之前保存的某个解码数据的相应段通过校验,则用该解码数据的相应段来替换需纠错的解码数据段;若之前保存的解码数据的相应段均未通过校验,则不能进行整段替换,而是需要将需纠错的解码数据段与之前保存的解码数据的相应段按位进行一一比较,用出现频率较高的数据来替换相应位的数据。最后将纠错后的解码数据重新进行分段校验,如果仍出现数据未通过分段校验的情况,将再次返回进行解码数据纠错。
[0030]6)当返回解码数据纠错的次数大于某个阈值时,不再返回,结束校验,直接输出解码数据。
[0031]7)将分段校验结束后的解码数据进行保存并显示出来。
[0032]本发明的典型应用:
[0033]1)ATM机或网上银行转帐系统;
[0034]2)物联网和电子商务系统;
[0035]3)票据防伪系统;
[0036]4)超市食品追溯管理系统。
[0037]本发明提出的一种二维码分段校验方法特别适合应用于二维码识别技术,该方法的采用将在很大程度上提高二维码图像的识别性能。因此适合采用二维码识别技术的场合,本发明所提出的技术都适用,可见本发明有很广阔的应用前景。
[0038]术语解释:
[0039]1、二维码又名二维条码,是用某种特定的几何图形按一定的规律在平面(二维方向)分布的黑白相间的图形用来记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“O” “I”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备进行自动识读以实现信息自动处理。它具有高密度、信息量大、具有纠错能力和安全性强等优点。
[0040]2、校验:是数据传送时采用的一种校正数据错误的一种方式。
[0041]3、校验和(checksum):在数据处理和数据通信领域中,用于校验目的地一组数据项的和。它通常是以十六进制为数制表示的形式。如果校验和的数值超过十六进制的FF,也就是255,就要求其补码作为效验和。通常用来在通信中,尤其是远距离通信中保证数据的完整性和准确性。
[0042]4、分段校验:将待校验数据进行分段,在每段数据的末尾加入校验码,来验证该段数据的完整性和准确性。
[0043]本文中所描述的具体实施例仅仅是对本发明精神作举例说明,并非对本发明的范围限定,在不背离本发明的精神和实质的情况下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均属于本发明的权利要求书确定的保护范围内。
【权利要求】
1.一种二维码分段校验方法,其特征在于:该方法包括如下步骤: (1)、在生成二维码图像的时候,首先将需编码的数据分为几段,然后在每一段数据之后,加入该段数据的校验码;这里每段数据的校验码添加方法为:计算相应段编码内容的单字节累加和,并将16进制结果的高四位和低四位分别转为ASCII字符添加在编码的末尾;在识别二维码图像的时候,计算每一段解码数据的单字节累加和,并将16进制结果的高四位和低四位分别转为ASCII字符,然后将这两个字符与相应段添加的校验码相比较,如果一致,则该段数据通过校验,否则,未通过校验; (2)、当出现数据未通过分段校验的时候,找出相应的出错的数据段,并参考之前保存的几幅图像的解码数据,对比相应段;如果之前保存的某个解码数据的相应数据段通过校验,则用该解码数据的相应段来替换现有解码数据的出错数据段;如果之前保存的几幅图像的解码数据的相应段均未通过校验,则一一对比相应的数据段,若某一个数据出现的频率更高,就用该数据来替换原有数据。
2.根据权利要求1所述的二维码分段校验方法,其特征在于:具体步骤如下: 1)根据版本号和三个寻像图形的具体位置通过采样网格对图像处理后的二值图像进行采样,将采样点转为数据矩阵; 2)对数据矩阵进行解码,解码的流程为:首先进行格式信息译码,然后用纠错码字进行错误检查,如果发现错误则进行纠错,最后进行数据码字译码,并将结果输出; 3)将解码数据分为几段,根据校验码添加原则,对每段中的数据进行相应计算得到校验码,并将它与添加在每段数据结尾的校验码进行比较,当两者一致时,该段数据通过校验,否则未通过校验;当有至少一段数据未通过校验时,即认为该解码数据未通过分段校验;当所有的数据段都通过校验时,才认为该解码数据通过分段校验; 4)当解码数据通过分段校验时,直接输出解码数据;当解码数据未通过分段校验时,首先返回重新建立采样网格,并根据采样生成新的数据矩阵;当返回重新建立采样网格的次数达到一定的阈值的时候,不再返回重新建立采样网格,而是返回解码数据纠错; 5)对解码数据进行纠错的过程如下:根据分段校验码找出需纠错的数据段,并将其与之前保存的解码数据的相应段进行比较;如果之前保存的某个解码数据的相应段通过校验,则用该解码数据的相应段来替换需纠错的解码数据段;若之前保存的解码数据的相应段均未通过校验,则不能进行整段替换,而是需要将需纠错的解码数据段与之前保存的解码数据的相应段按位进行一一比较,用出现频率较高的数据来替换相应位的数据;最后将纠错后的解码数据重新进行分段校验,如果仍出现数据未通过分段校验的情况,将再次返回进行解码数据纠错; 6)当返回解码数据纠错的次数大于某个阈值时,不再返回,结束校验,直接输出解码数据; 7)将分段校验结束后的解码数据进行保存并显示出来。
【文档编号】G06K7/10GK103793734SQ201410017021
【公开日】2014年5月14日 申请日期:2014年1月14日 优先权日:2014年1月14日
【发明者】杨波, 罗美美 申请人:杭州晟元芯片技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1