一种QR码的定位方法及其系统与流程

文档序号:24287320发布日期:2021-03-17 00:34阅读:来源:国知局

技术特征:

1.一种qr码的定位方法,其特征在于,包括如下步骤:

s1:对包含qr码的目标图像进行预处理;

s2:对所述经过预处理的目标图像进行二值化处理;

s3:对所述经过二值化的目标图像进行连通域查找:逐行寻找等价的团,所得到等价团的集合为所述连通域,其中,所述团为灰度值相同且连续的一段像素集合;

s4:从s3步骤中获得的连通域中寻找位置探测图形:当所述连通域只包含一个子连通域且所述子连通域也只包含一个子连通域,则所述三个连通域构成一个位置探测图形;

s5:寻找所述位置探测图形的四个角点:计算所述位置探测图形的中心点到所述位置探测图形的边缘的距离,选取距离最大的四个点作为所述位置探测图形的四个角点;

s6:根据qr码的几何对称关系和对角距离最远关系,得到所述qr码的四个角点;

s7:所述qr码的四个角点临近相连所围成的凸四边形为qr码区域。

2.根据权利要求1所述的一种qr码的定位方法,其特征在于:所述s3步骤具体为:

s31:对所述二值化目标图像中的每一行的灰度值相同的连续区域记录其行号,开始坐标以及结束坐标,并标号为0;

s32:对第一行的团按照从左到右的顺序从1开始进行标号;

s33:对第n行的每一个团都与第n-1行的每一个团进行是否重叠的判断,如果第n行的一个团与第n-1行的一个团重叠且灰度值相同,则所述第n行的一个团与第n-1行的一个团的标号记为相同标号,否则所述第n行的一个团的标号递增;如果所述第n行的一个团与第n-1行的两个不同标号的团重叠且灰度相同,则记所述第n-1行的两个不同标号的团为等价对,并存入等价对列表中,重叠的判别式为:

其中,pre_start为第n-1行的一个团的开始坐标、pre_end为第n-1行的一个团的结束坐标,cur_start第n行的一个团的开始坐标、cur_end为第n行的一个团的结束坐标;

s33:合并所有等价对,将所有互为等价对的团,以及与所述所有等价对的团标号相同的团记为一个集合,所述一个集合构成一个连通域;

s34:遍历不在所述等价对列表中的团,每个团单独构成一个连通域。

3.根据权利要求1所述的一种qr码的定位方法,其特征在于,所述步骤s4具体为:

s41:对所有连通域进行标号;

s42:遍历所有连通域,确定两两连通域之间的关系是否为父子关系,即一个连通域是否包围另一个连通域;

s43:寻找疑似位置探测图形的连通域,所述连通域只有一个子连通域且所述子连通域也只有一个子连通域;

s44:计算所述疑似位置探测图形中三个连通域的面积,计算父连通域与子连通域的面积比值s1,计算子连通域与孙连通域的面积比值s2,当所述s1约等于49:9,所述s2约等于25:9,且误差值不超过±30%,则所述三个连通域构成位置探测图形,计算面积的公式为:

其中s为连通域的面积,n为连通域中团的个数,starti为连通域中的第i个团的开始坐标,endi为连通域中的第i个团的结束坐标。

4.根据权利要求1所述的一种qr码的定位方法,其特征在于:所述步骤s5具体为:

s51:查找所述位置探测图形的最高点、最低点、最左点、最右点,以最高点和最低点的中点纵坐标值作为点o的y坐标,最左点和最右点的中点横坐标值作为点o的x坐标,所述点o为所述位置探测图形的中心点,计算公式如下:

其中,t是最高点的纵坐标值,b是最低点的纵坐标值,l是最左点横坐标值,r是最右点的横坐标值;

s52:计算所述点o到所述位置探测图形边界的各点距离,绘制成一个波形图,所述距离公式为:

其中,x为所述位置探测图形边界上的点的横坐标,y为所述位置探测图形边界上的点的纵坐标,x0为点o的横坐标,y0为点o的纵坐标;

s53:消除所述波形图中的干扰波峰,计算阈值n,判断当前波峰的点在其(x-n,x+n)的范围内的y有没有高于其本身的y坐标,若有则消除该波峰,阈值n的计算方法为:

其中,l是最左点横坐标值,r是最右点的横坐标值;

s54:去除波峰后,将剩余的四个最大波峰的点认定为所述位置探测图形的四个角点。

5.根据权利要求1所述的一种qr码的定位方法,其特征在于:所述步骤s6具体为:

s61:确定所述qr码互为对角的位置探测图形:遍历每一个位置探测图形,判断所述位置探测图形的两条对角线是否有一条穿过另外一个位置探测图形,如果穿过,则确定所述位置探测图形与另外一个位置探测图形分别是右上角位置探测图形和左下角位置探测图形,独立的位置探测图形为左上角位置探测图形;

s62:确定所述qr码的左下角点和右上角点:穿过右上角位置探测图形和左下角位置探测图形的对角线上,相互之间距离最远的两个位置探测图形的角点即为qr码的左下角点和右上角点;

s63:确定qr码的左上角点:取s62步骤中获得的qr码的左下角点和右上角点作连线,以连线中点作为原点,取左上角位置探测图形四个角点到原点距离最远的点为qr码的左上角点;

s64:确定qr码的右下角点:分别从左下角位置探测图形和右上角位置探测图形的角点中,选取距离所述s63步骤得到qr码左上角点最远的角点,与当前位置探测图形所在区域的qr码外部角点进行连线,两条直线相交的点为qr码的右下角点。

6.一种qr码的定位系统,其特征在于,包括存储器和处理器,所述存储器存储有指令,所述指令适于由处理器加载并执行以下步骤:

s1:对包含qr码的目标图像进行预处理;

s2:对所述经过预处理的目标图像进行二值化处理;

s3:对所述经过二值化的目标图像进行连通域查找:逐行寻找等价的团,所得到等价团的集合为所述连通域,其中,所述团为灰度值相同且连续的一段像素集合;

s4:从s3步骤中获得的连通域中寻找位置探测图形:当所述连通域只包含一个子连通域且所述子连通域也只包含一个子连通域,则所述三个连通域构成一个位置探测图形;

s5:寻找所述位置探测图形的四个角点:计算所述位置探测图形的中心点到所述位置探测图形的边缘的距离,选取距离最大的四个点作为所述位置探测图形的四个角点;

s6:根据qr码的几何对称关系和对角距离最远关系,得到所述qr码的四个角点;

s7:所述qr码的四个角点临近相连所围成的凸四边形为qr码区域。

7.根据权利要求6所述的一种qr码的定位系统,其特征在于:所述s3步骤具体为:

s31:对所述二值化目标图像中的每一行的灰度值相同的连续区域记录其行号,开始坐标以及结束坐标,并标号为0;

s32:对第一行的团按照从左到右的顺序从1开始进行标号;

s33:对第n行的每一个团都与第n-1行的每一个团进行是否重叠的判断,如果第n行的一个团与第n-1行的一个团重叠且灰度值相同,则所述第n行的一个团与第n-1行的一个团的标号记为相同标号,否则所述第n行的一个团的标号递增;如果所述第n行的一个团与第n-1行的两个不同标号的团重叠且灰度相同,则记所述第n-1行的两个不同标号的团为等价对,并存入等价对列表中,重叠的判别式为:

其中,pre_start为第n-1行的一个团的开始坐标、pre_end为第n-1行的一个团的结束坐标,cur_start第n行的一个团的开始坐标、cur_end为第n行的一个团的结束坐标;

s33:合并所有等价对,将所有互为等价对的团,以及与所述所有等价对的团标号相同的团记为一个集合,所述一个集合构成一个连通域;

s34:遍历不在所述等价对列表中的团,每个团单独构成一个连通域。

8.根据权利要求6所述的一种qr码的定位系统,其特征在于,所述步骤s4具体为:

s41:对所有连通域进行标号;

s42:遍历所有连通域,确定两两连通域之间的关系是否为父子关系,即一个连通域是否包围另一个连通域;

s43:寻找疑似位置探测图形的连通域,所述连通域只有一个子连通域且所述子连通域也只有一个子连通域;

s44:计算所述疑似位置探测图形中三个连通域的面积,计算父连通域与子连通域的面积比值s1,计算子连通域与孙连通域的面积比值s2,当所述s1约等于49:9,所述s2约等于25:9,且误差值不超过±30%,则所述三个连通域构成位置探测图形,计算面积的公式为:

其中s为连通域的面积,n为连通域中团的个数,starti为连通域中的第i个团的开始坐标,endi为连通域中的第i个团的结束坐标。

9.根据权利要求6所述的一种qr码的定位系统,其特征在于:所述步骤s5具体为:

s51:查找所述位置探测图形的最高点、最低点、最左点、最右点,以最高点和最低点的中点纵坐标值作为点o的y坐标,最左点和最右点的中点横坐标值作为点o的x坐标,所述点o为所述位置探测图形的中心点,计算公式如下:

其中,t是最高点的纵坐标值,b是最低点的纵坐标值,l是最左点横坐标值,r是最右点的横坐标值;

s52:计算所述点o到所述位置探测图形边界的各点距离,绘制成一个波形图,所述距离公式为:

其中,x为所述位置探测图形边界上的点的横坐标,y为所述位置探测图形边界上的点的纵坐标,x0为点o的横坐标,y0为点o的纵坐标;

s53:消除所述波形图中的干扰波峰,计算阈值n,判断当前波峰的点在其(x-n,x+n)的范围内的y有没有高于其本身的y坐标,若有则消除该波峰,阈值n的计算方法为:

其中,l是最左点横坐标值,r是最右点的横坐标值;

s54:去除波峰后,将剩余的四个最大波峰的点认定为所述位置探测图形的四个角点。

10.根据权利要求6所述的一种qr码的定位系统,其特征在于:所述步骤s6具体为:

s61:确定所述qr码互为对角的位置探测图形:遍历每一个位置探测图形,判断所述位置探测图形的两条对角线是否有一条穿过另外一个位置探测图形,如果穿过,则确定所述位置探测图形与另外一个位置探测图形分别是右上角位置探测图形和左下角位置探测图形,独立的位置探测图形为左上角位置探测图形;

s62:确定所述qr码的左下角点和右上角点:穿过右上角位置探测图形和左下角位置探测图形的对角线上,相互之间距离最远的两个位置探测图形的角点即为qr码的左下角点和右上角点;

s63:确定qr码的左上角点:取s62步骤中获得的qr码的左下角点和右上角点作连线,以连线中点作为原点,取左上角位置探测图形四个角点到原点距离最远的点为qr码的左上角点;

s64:确定qr码的右下角点:分别从左下角位置探测图形和右上角位置探测图形的角点中,选取距离所述s63步骤得到qr码左上角点最远的角点,与当前位置探测图形所在区域的qr码外部角点进行连线,两条直线相交的点为qr码的右下角点。


技术总结
本发明涉及一种QR码的定位方法及其系统,通过寻找等价对的团确定连通域,从连通域中寻找到位置探测图形,根据位置探测图形的角点坐标和相互关系确定QR码的四个角点坐标,进而获得QR码的整体区域。本发明有益效果:对于畸变图像效果好,定位速度快,精度高。

技术研发人员:林少伟;宋少龙
受保护的技术使用者:福州符号信息科技有限公司
技术研发日:2020.11.06
技术公布日:2021.03.16
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1