一种长条小型二维码识别方法与流程

文档序号:16210611发布日期:2018-12-08 07:41阅读:1271来源:国知局
一种长条小型二维码识别方法与流程

本发明涉及二维码技术领域,尤其涉及一种长条小型二维码识别方法。

背景技术

二维码是在两个维度上编码信息的机器可读的图案,qr二维码(quickresponse,矩阵二维码符号)是现在最广泛应用的二维码,具有信息容量大,纠错能力强的优点,但是,qr二维码都是正方形的,而且最小的qr二维码也有21码元x21码元,对于有些二维码图像大小受限的场景,由于每个码元能占用的面积太小以至于摄像头难以分辨,例如在一个共享书柜中的所有书籍侧面都贴有代表各自信息的二维码供摄像头扫描的情况,这样的二维码是无法使用的;另外,在二维码密集出现且需要同时识别所有二维码的场景中,qr二维码在识别时,由于每个二维码有三个定位图形,需要匹配组合所有检测到的定位图形,将属于同一二维码的定位图形组合到一起,这个步骤对于密集的二维码而言是比较困难的,会增加识别时间及降低识别率。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种长条小型二维码识别方法,旨在通过扫描二维码快速识别所述二维码所携带的信息,适用于信息量少,空间受限,图像中存在多个二维码需要同时识别的场景。

本发明解决技术问题所采用的技术方案如下:

一种长条小型二维码识别方法,其中,所述长条小型二维码识别方法包括:

将二维码图像进行灰度化和二值化预处理后,再进行中值过滤处理;

对处理后的二维码图像分别横向和纵向扫描,横向片段与纵向片段的交点为定位图形的中心并扫描到定位点;

根据扫描到的定位点求得从标准二维码坐标到图像坐标之间的透视变换;

根据透视变换的关系得到所有码元信息,对码元信息进行奇偶校验,再根据检验与掩码行中记录的掩码方法进行掩码,得到原来编码的数据。

所述的长条小型二维码识别方法,其中,所述二维码为横向5码元*纵向17码元的矩形二维码,所述二维码由从左至右的5列码元和从上至下的17行码元组成。

所述的长条小型二维码识别方法,其中,第1行至第4行以及第14行至第17行为数据编码行,用于进行数据编码表示不同的信息;

第5行为校验与掩码行,用于进行数据奇偶校验与掩码;

第6行与第12行设置空白行;

第7行至第11行组成的图形为定位图形,用于对二维码进行定位;第13行为下位行,用于确定二维码的方向。

所述的长条小型二维码识别方法,其中,所述校验与掩码行中间三个码元与所述下位行中间三个码元的方形单元至少有两个颜色不同。

所述的长条小型二维码识别方法,其中,每个码元通过一个方形单元进行表示,所有方形单元通过黑白两种颜色进行标记,黑色码元代表1,白色码元代表0。

所述的长条小型二维码识别方法,其中,所述定位图形的形状固定不变,所述定位图形的形状为“回”字形。

所述的长条小型二维码识别方法,其中,当扫描二维码的定位图形时,经过定位图形中心的线被定位图形分为黑白黑白黑五部分,比例为1:1:1:1:1;对处理后的图像分别横向和纵向扫描,横向片段与纵向片段的交点为定位图形的中心。

所述的长条小型二维码识别方法,其中,当扫描定位点时,对每个定位图形进行扫描确定四个定位点a,b,c,d;过定位图形中心的横向扫描线与定位图形外层黑色轮廓线交于l,r两点,以l为起点,沿着定位图形黑色外边沿向上扫描,计算扫描过程中每个点与定位图形中心的距离,距离最大的点即为定位点a,其他定位点b,c,d类推扫描得到。

所述的长条小型二维码识别方法,其中,所述根据扫描到的定位点求得从标准二维码坐标到图像坐标之间的透视变换具体包括:

定位点a,b,c,d在标准二维码中的对应点的坐标包括:第一种为(0,6),(5,6),(5,11),(0,11);第二种为(5,6),(5,11),(0,11),(0,6);第三种为(5,11),(0,11),(0,6),(5,6);第四种为(0,11),(0,6),(5,6),(5,11);

对每种情形,已知图像中a,b,c,d四点坐标和对应点在标准二维码中的坐标,求得从标准二维码坐标到图像坐标之间的透视变换。

所述的长条小型二维码识别方法,其中,所述根据透视变换的关系得到所有码元信息,对码元信息进行奇偶校验,再根据检验与掩码行中记录的掩码方法进行掩码,得到原来编码的数据具体包括:

根据透视变换得到变换关系,计算数据编码行和校验与掩码行在二维码图像中的位置,得到所有码元信息;

对得到的码元信息进行奇偶校验,然后根据检验与掩码行中记录的掩码方法进行掩码,得到原来编码的数据。

本发明公开了一种长条小型二维码识别方法,所述方法包括:将二维码图像进行灰度化和二值化预处理后,再进行中值过滤处理;对处理后的二维码图像分别横向和纵向扫描,横向片段与纵向片段的交点为定位图形的中心并扫描到定位点;根据扫描到的定位点求得从标准二维码坐标到图像坐标之间的透视变换;根据透视变换的关系得到所有码元信息,对码元信息进行奇偶校验,再根据检验与掩码行中记录的掩码方法进行掩码,得到原来编码的数据。本发明通过扫描二维码快速识别所述二维码所携带的信息,适用于信息量少,空间受限,图像中存在多个二维码需要同时识别的场景。

附图说明

图1是本发明长条小型二维码识别方法的较佳实施例的流程图;

图2是本发明长条小型二维码识别方法的较佳实施例中二维码的结构示意图;

图3是本发明长条小型二维码识别方法的较佳实施例中扫描定位图形的示意图;

图4是本发明长条小型二维码识别方法的较佳实施例中扫描定位点的示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明较佳实施例所述的长条小型二维码识别方法,如图1所示,一种长条小型二维码识别方法,其中,所述长条小型二维码识别方法包括以下步骤:

步骤s10、将二维码图像进行灰度化和二值化预处理后,再进行中值过滤处理;

步骤s20、对处理后的二维码图像分别横向和纵向扫描,横向片段与纵向片段的交点为定位图形的中心并扫描到定位点;

步骤s30、根据扫描到的定位点求得从标准二维码坐标到图像坐标之间的透视变换;

步骤s40、根据透视变换的关系得到所有码元信息,对码元信息进行奇偶校验,再根据检验与掩码行中记录的掩码方法进行掩码,得到原来编码的数据。

具体地,如图2所示,所述二维码为横向5码元*纵向17码元的矩形二维码,所述二维码由从左至右的5列码元和从上至下的17行码元(码元是二维码图案中最小的方形单元,图2中的二维码大小为5码元x17码元,在横向有5个码元,在纵向有17个码元)组成。

将第1行至第4行以及第14行至第17行设置为用于进行数据编码表示不同信息的数据编码行;将第5行设置为用于进行数据奇偶校验与掩码的校验与掩码行;将第6行与第12行设置为空白行;将第7行至第11行组成的图形设置用于对二维码进行定位的定位图形;将第13行设置为用于确定二维码的方向的下位行。

其中,每一个码元使用一个方形单元表示,每个方形单元的形状均为大小相同的正方形,所有方形单元通过黑白两种颜色进行标记,黑色码元代表1,白色码元代表0。

具体地,第1行至第4行以及第14行至第17行为数据编码行,可表示40bit的数据。

其中,第5行是校验与掩码行,用于数据奇偶校验与掩码,掩码是按照一定方式改变码元的颜色,在校验与掩码行中,中间三个码元表示采用的掩码方式,掩码的目的是使二维码图案黑白均衡,更便于机器识别。

具体地,本发明的每一个二维码中只有一个定位图形,即第7行至第11行组成的图形,所述定位图形的形状固定不变,且形状为“回”字形,定位图形为图2中二维码中央的“回”字形图案,用来定位二维码,在扫描二维码时,是通过扫描这个定位图形来定位识别二维码的。

具体地,过“回”形中心点的所有线都会被分为等长的五个黑白相间的部分,这样,在扫描时,无论二维码的状态如何(如旋转角度),横线扫描到“回”字形中心,都会得到等长的黑白相间的五段,即使二维码在使用过程中并不是垂直90度摆放(例如贴在书籍的侧面用来识别书籍),也可以打到上面的效果,即可以很方便的进行识别。

其中,所述下位行的五个方形单元的颜色固定为黑白黑白黑,用于标定二维码方位和减少误识,下位行位于定位图形下方第二行,扫描到定位图形后,通过扫描下位行确定二维码的方向。

进一步地,在所述校验与掩码行中,中间三个码元表示采用的掩码方法;所述下位行的五个方形单元的颜色固定为黑白黑白黑,所述校验与掩码行(第5行)与所述下位行(第13行)中对应位置的中间三个码010(白黑白)元至少有两个码元不同(识别时,需要通过第13行,即下位行分辨方向,需要确保它和与之对称的第5行是不同的),则总共有4种掩码方法,分别为001、100、101和111。

其中,001的掩码模式为(row+col)mod2=0,100的掩码模式为(row+col)mod3=0,101的掩码模式为colmod2=0,111的掩码模式为(row/2+col/2)mod2=0;其中,row表示码元的行号,col表示码元的列号,mod表示取余数;根据掩码操作对数据编码行中符合掩码模式的码元置反(黑变白,白变黑),不符合掩码模式的码元不变。

所述校验与掩码行中,位于第1列的码元对第14行至第17行做偶校验,位于第5列的码元对第1行至第5行做偶校验,生成4个二维码(就是验证第一个码元与最后四行的码元中,黑色码元个数为偶数,第1-5行中,黑色码元总数为偶数)。

具体地,图像预处理:图像首先灰度化,再采用niblack算法二值化,之后进行中值过滤。如图3所示,当扫描二维码的定位图形时,经过定位图形中心的线被定位图形分为黑白黑白黑五部分,比例为1:1:1:1:1;对处理后的图像分别横向和纵向扫描,横向片段与纵向片段的交点为定位图形的中心。

如图4所示,当扫描定位点时,对每个定位图形进行扫描确定四个定位点a,b,c,d;找定位点a的方法如下:过定位图形中心的横向扫描线与定位图形外层黑色轮廓线交于l,r两点,以l为起点,沿着定位图形黑色外边沿向上扫描,计算扫描过程中每个点与定位图形中心的距离,距离最大的点即为定位点a,其他定位点b,c,d类推扫描得到。

其中点a,b,c,d在标准二维码中的对应点的坐标有四种可能,第一种为(0,6),(5,6),(5,11),(0,11);第二种为(5,6),(5,11),(0,11),(0,6);第三种为(5,11),(0,11),(0,6),(5,6);第四种为(0,11),(0,6),(5,6),(5,11);对每种情形,由于已知了图像中a,b,c,d四点坐标和他们的对应点在标准二维码中的坐标,可以求得从标准二维码坐标到图像坐标之间的透视变换,通过此变换求出标准二维码下位行码元在图像中的位置,如果该位置的码元信息为黑白黑白黑,即表明与下位行相符,这种情形是正确的。

根据求出的变换关系,计算8个数据编码行,校验与掩码行在图像中的位置,得到所有码元信息,对得到的码元信息进行奇偶校验,然后根据掩码行中记录的掩码方法进行掩码,这样就得到了原来编码的数据。

本发明的二维码设计主要应用于二维码大小受限的场景(例如共享书柜中多本图书的二维码标签,摄像头需要同时扫描多个二维码的情形),每个二维码只有一个定位图形,在大小受限时,既节省了宝贵的空间,在扫描存在多个二维码的图像时,又没有多个定位图形带来的组合同一二维码的定位图形的负担;利用定位图形的四个定位点进行定位,计算标准二维码坐标与扫描图像坐标之间的透视变换,使得只用一个定位图形就可以定位扫描图像中的二维码;二维码宽度与定位图形宽度相同,下位行固定,并且和奇偶与掩码行至少有两个码元不同,由此可以辨别二维码的上下方向,数据编码行对称分布在下位行的下方和奇偶与掩码行的上方。

综上所述,本发明提供一种长条小型二维码识别方法,所述方法包括:将二维码图像进行灰度化和二值化预处理后,再进行中值过滤处理;对处理后的二维码图像分别横向和纵向扫描,横向片段与纵向片段的交点为定位图形的中心并扫描到定位点;根据扫描到的定位点求得从标准二维码坐标到图像坐标之间的透视变换;根据透视变换的关系得到所有码元信息,对码元信息进行奇偶校验,再根据检验与掩码行中记录的掩码方法进行掩码,得到原来编码的数据。本发明通过扫描二维码快速识别所述二维码所携带的信息,适用于信息量少,空间受限,图像中存在多个二维码需要同时识别的场景。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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