一种二维码及该二维码的生成与识别方法与流程

文档序号:11262134阅读:371来源:国知局
一种二维码及该二维码的生成与识别方法与流程

本发明涉及二维码技术,尤其涉及一种二维码及该二维码的生成与识别方法。



背景技术:

二维码因其具有存储量大、保密性高、追踪性高、抗损性强等特点,被广泛运用于各行各业中。目前常见的二维码多为矩阵码(如dm码和qr码等),其用黑、白色块表示二进制的1和0,将黑、白色块按一定组合方式堆叠形成二维码,并且包括用于定位的定位部和用于存储信息的数据部,但现有的这种矩阵二维码的因其色块比较密集不均,需要在一块独立干净的区域内安放码区,以便于人们快速找到需要扫码的区域,并保证二维码解码不受干扰。由于矩阵式模块相对单调,设计者为了减少二维码的突兀感往往选择将二维码进行改造,容易产生不符合编码规范的二维码对识码造成困难。



技术实现要素:

本发明要解决的技术问题之一,在于提供一种二维码,实现二维码的均匀分布,提高解码效率,提高抗干扰性。

本发明要解决的技术问题之一是这样实现的:一种二维码,包括矩阵排列的复数行复数列的识别单元,每相邻两行识别单元之间设有一行空白单元,每相邻两列识别单元之间设有一列空白单元;

每一所述空白单元为由白色模块组成的3×3模块;

每一所述识别单元为由黑色模块和白色模块组成的3×3模块,所述识别单元的3×3模块包括两个黑色模块和7个白色模块,同一所述识别单元中的两个黑色模块之间间隔至少一个白色模块的距离,每一所述识别单元对应存储一个四位二进制串。

进一步的,所述黑色模块与白色模块均为正方形色块。

进一步的,所述黑色模块与白色模块均为圆形色块。

本发明要解决的技术问题之二,在于提供一种上述二维码的生成方法,得到均匀分布的二维码,提高二维码的解码效率与抗干扰性。

本发明要解决的技术问题之二是这样实现的:一种上述二维码的生成方法,包括如下步骤:

步骤41、获取一现有二维码,去除定位部,得到数据部;

步骤42、依次提取所述数据部内的2×2模块,根据所述2×2模块存储的四位二进制串将所述2×2模块转换为对应的识别单元;

步骤43、将所有转换得到的识别单元依次排列成与所述矩阵二维码对应的复数行复数列,并在每相邻两行识别单元之间插入一行空白单元,每相邻两列识别单元之间插入一列空白单元,得到所述二维码。

进一步的,所述现有二维码为带纠错功能的矩阵二维码。

本发明要解决的技术问题之三,在于提供一种上述二维码的识别方法,提高二维码的解码抗干扰能力。

本发明要解决的技术问题之三是这样实现的:一种上述二维码的识别方法,包括如下步骤:

步骤61、获取所述二维码的图像,将所述二维码的图像转成二值图;

步骤62、获取二值图中所有粒子中心坐标以及粒子的面积值,过滤掉面积值不符合要求的粒子;

步骤63、遍历所述粒子,通过计算每一所述粒子的中心坐标与其他粒子的中心坐标之间的距离,将彼此距离最小的两所述粒子进行配对,每两个配对的粒子形成一识别单元;

步骤64、根据所述识别单元对应的四位二进制串,依次遍历所述识别单元进行解码,得到所述二维码的二进制串。

进一步的,所述步骤61还包括对所述二维码图像进行滤波。

进一步的,所述步骤62中的“过滤掉面积值不符合要求的粒子”具体为:采用粒子统计的方法获取出现次数最多的面积值作为标准值,根据所述标准值设定上限值和下限值,过滤掉其中面积值大于所述上限值以及面积值小于所述上限值的粒子。

进一步的,所述步骤62还包括:统计数量最多的且距离最小的两粒子的角度,根据所述角度对所述二值图进行旋转,确保所述二值图为正的二值图。

进一步的,所述步骤64进一步包括:

步骤641、根据所述识别单元对应的四位二进制串,依次遍历所述识别单元,根据需要将所述识别单元转换成现有二维码形式;

步骤642、根据步骤641中的现有二维码的编码二进制串中的数据检验部分进行验证,若验证通过则进行解码,否则将所述现有二维码旋转90°,重新执行步骤642。

本发明具有如下优点:通过一个3×3模块的识别单元来存储原本用2×2模块的信息,两个相邻的识别单元之间间隔一个3×3的空白单元,使得二维码图像分布均匀,且每个3×3模块的识别单元的两个黑色模块错开分布,不会出现相交密集的情况,可大大提高解码准确度与速度,同时提高抗干扰性。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明所述的二维码的示意图。

图2为图1中a部分的放大图。

图3为本发明一实施例中识别单元与四位二进制串的对应关系示意图。

图4为本发明所述二维码的生成方法流程图。

图5为本发明所述二维码的识别方法流程图。

图6为现有的矩阵二维码去除定位部后的数据部示意图。

具体实施方式

如图1,一种二维码,包括矩阵排列的复数行复数列的识别单元,每相邻两行识别单元之间设有一行空白单元,每相邻两列识别单元之间设有一列空白单元;

每一所述空白单元为由白色模块组成的3×3模块(见图2中的a);

每一所述识别单元为由黑色模块和白色模块组成的3×3模块(见图2中的b),所述识别单元的3×3模块包括两个黑色模块和7个白色模块,同一所述识别单元中的两个黑色模块之间间隔至少一个白色模块的距离,每一所述识别单元对应存储一个四位二进制串。

本发明的所述黑色模块与白色模块均为正方形色块或圆形色块或圆点等形状。

如图4所示,本发明的一种上述二维码的生成方法,包括如下步骤:

步骤41、获取一现有二维码,去除定位部,得到数据部,所述现有二维码为带纠错功能的矩阵二维码,例如qr码或dm码等;

步骤42、依次提取所述数据部内的2×2模块,根据所述2×2模块存储的四位二进制串将所述2×2模块转换为对应的识别单元;

步骤43、将所有转换得到的识别单元依次排列成与所述矩阵二维码对应的复数行复数列,并在每相邻两行识别单元之间插入一行空白单元,每相邻两列识别单元之间插入一列空白单元,得到本发明所述的二维码。

通过本发明的二维码的生成方法可以得到一种均匀分布的二维码,提高二维码的解码效率与抗干扰性。

如图5所示,本发明的一种上述二维码的识别方法,包括如下步骤:

步骤61、获取所述二维码的图像,将所述二维码的图像转成二值图;该步骤还包括对所述二维码图像进行滤波;

步骤62、获取二值图中所有粒子中心坐标以及粒子的面积值,过滤掉面积值不符合要求的粒子,其中,“过滤掉面积值不符合要求的粒子”具体为:采用粒子统计的方法获取出现次数最多的面积值作为标准值,根据所述标准值设定上限值和下限值,过滤掉其中面积值大于所述上限值以及面积值小于所述上限值的粒子;该步骤62还包括:统计数量最多的且距离最小的两粒子的角度,根据所述角度对所述二值图进行旋转,确保所述二值图为正的二值图;

步骤63、遍历所述粒子,通过计算每一所述粒子的中心坐标与其他粒子的中心坐标之间的距离,将彼此距离最小的两所述粒子进行配对,每两个配对的粒子形成一识别单元;

步骤64、根据所述识别单元对应的四位二进制串,依次遍历所述识别单元进行解码,得到所述二维码的二进制串,该所述步骤64进一步包括:

步骤641、根据所述识别单元对应的四位二进制串,依次遍历所述识别单元,根据需要将所述识别单元转换成现有二维码形式;

步骤642、根据步骤641中的现有二维码的编码二进制串中的数据检验部分进行验证,若验证通过则进行解码,否则将所述现有二维码旋转90°,重新执行步骤642。

下面结合一具体实施例对本发明做进一步说明:

请参阅图1至图6,将一个矩阵二维码转换成本发明所述的二维码:

获取一个矩阵二维码,去除其定位部,得到数据部(如图6所示);

依次提取所述数据部内的2×2模块(见图6中的b部位),根据所述2×2模块存储的四位二进制串将所述2×2模块转换为对应的识别单元,比如图6中的2×2模块存储的是二进制数1100,将其转换成存储同样数值1100的识别单元;

每一所述识别单元为一由黑色模块和白色模块组成的3×3模块(见图2中的b),所述识别单元的3×3模块包括两个黑色模块和7个白色模块,同一所述识别单元中的两个黑色模块之间间隔至少一个白色模块的距离,每一所述识别单元对应存储一个四位二进制串,如图3所示,按照黑色模块的不同位置组合的识别单元有16种,恰好匹配四位二进制的16种数值,预先对每一种模式的识别单元指定一个四位二进制串。所述黑色模块与白色模块可以为大小形状一致的色块,例如均为正方形色块或圆形色块等。

将所有转换得到的识别单元依次排列成与所述矩阵二维码对应的复数行复数列,即本发明的二维码的识别单元按矩阵二维码的对应的行和列进行排列,并在每相邻两行识别单元之间插入一行空白单元,每相邻两列识别单元之间插入一列空白单元,得到本发明均匀的二维码图像(见图1);每一所述空白单元为由白色模块组成的3×3模块,即9个白色模块组成的(见图2中的a)。

在扫描识别本发明二维码时,其识别过程如下:

获取所述二维码的图像,对所述二维码图像进行滤波,比如可采用高斯滤波或均值滤波等方式进行,将所述二维码的图像转成二值图;

获取二值图中所有粒子中心坐标以及粒子的面积值,过滤掉面积值不符合要求的粒子,具体的,可采用粒子统计的方法获取出现次数最多的面积值作为标准值,根据所述标准值设定上限值和下限值,过滤掉其中面积值大于所述上限值以及面积值小于所述上限值的粒子,并将所述二值图进行旋转得到正的二值图,使其处于水平或垂直方向上,不歪斜,以便解码,具体旋转方式可通过统计数量最多的且距离最小的两粒子(粒子对应的是黑色模块)的角度,根据所述角度对所述二值图进行旋转正位,由于当识别单元中两个黑色模块处于在同一水平线上或同一竖直线上时,两个黑色模块的距离是各种模式中距离最小的模式,因此可通过统计的方法查找这些0°或90°的识别单元,并利用这些识别单元对二值图信息位置的调整,保证不歪斜即可;

遍历所述粒子,通过计算每一所述粒子的中心坐标与其他粒子的中心坐标之间的距离,将彼此距离最小的两所述粒子进行配对,每两个配对的粒子形成一识别单元;

根据所述识别单元对应的四位二进制串,依次遍历所述识别单元,根据需要将所述识别单元转换成现有二维码形式,比如qr码或dm码等;

根据上述转换得到的二维码的编码二进制串中的数据检验部分进行验证,若验证通过则进行解码,否则将所述现有二维码旋转90°,重新进行验证,直至验证通过后进行解码操作,例如若由qr码转换来的二维码,则通过现有的qr码的解码算法对该二维码做进一步解码即可,若由dm码转换来的二维码,则通过现有的dm码的解码算法做进一步解码操作,从而可得到最终的二维码信息。

另外,在现有矩阵二维码只有奇数行或奇数列时,可通过增加一行或一列的全1辅助转换成本发明二维码,由于现有矩阵二维码自身一般都带有纠错功能,因此不会影响最后解码结果。判断奇数行或偶数行的方法可以通过二维码本身的纠错能力,用尝试解码的方法来判断奇数或偶数行,也可以由编码人员和解码人员约定的形式进行判断。

本发明通过一个3×3模块的识别单元来存储原本用2×2模块的信息,并且在两个相邻的识别单元之间间隔一个3×3的空白单元,使得二维码图像分布均匀,且每个3×3模块的识别单元的两个黑色模块错开分布,不会出现相交密集的情况,可大大提高识别效率,同时提高抗干扰性,提高解码效率,且也更加美观。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

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