一种qr码校正图形的检测方法及系统的制作方法

文档序号:6514313阅读:230来源:国知局
一种qr码校正图形的检测方法及系统的制作方法
【专利摘要】本发明涉及一种QR码校正图形的检测方法及系统,在进行校正图形检测时,首先根据检测到的探测图形的坐标以及不同QR码版本来粗略估计校正图形的坐标位置,然后在坐标周围划一方形区域进行循环查找,最后结合校正图形自身的特点,即线段比例满足预设比例,在方形区域内准确定位校正图形。不需要在整个QR码图像范围内逐行搜索满足线段1:1:1的比例的图形,有效的实现了资源的整合与优化,极大的减少了检测量,使得校正图形的检测更加快速高效,同时可以确保检测的精度与准度。同时还提供了因拍摄和二值化过程中引入误差造成校正图形的中心黑色模块失真或者不存在时的检测方法。
【专利说明】—种QR码校正图形的检测方法及系统

【技术领域】
[0001]本发明涉及一种图像定位检测技术,具体地说是一种QR码校正图形的检测方法及系统。

【背景技术】
[0002]二维码是由按照一定规律在二维方向上分布的黑白相间的特定几何图形组成,其可以在二维方向上表达信息,因此信息容量及空间利用率较高,并具有一定的校验功能。二维码分为堆叠式二维码和矩阵式二维码,QR码便是矩阵式二维码中的一种。
[0003]QR码中最小的信息单元为正方形的模块,不同版本号的QR码包括的模块数也不相同。版本号为I的QR码包括21*21个模块,版本号每增加1,QR码包括的模块数量就在横向和纵向上均增加4个。QR码图像识别过程中需要对图像进行校正,而这种校正过程往往依赖于QR码图像中的探测图形和校正图形。不同的QR码版本,校正图形的个数也不相同,在版本号为I的QR码中没有校正图形,在版本号为2的QR码中有一个校正图形,在QR码的右下角附近。版本号为21的QR码中有22个校正图形。可以通过QR码的外形来求得推测校正图形中心点与实际校正图形中心点的误差来修正各个模块的中心距离,即使将QR码贴在弯曲的物品上也能够快速识读。
[0004]目前探测图形和校正图形的检测是分开进行的,相互之间不进行关联。在不考虑形变特别严重的情况下,整个QR码图像呈现正方形的状态,如图1所示。无论是探测图形还是校正图形都是正方形的黑色模块与白色模块交错的图形。其中探测图形位于QR码图像的左上、右上和左下三个位置,校正图形在QR码图像内部,版本号的不同数量和位置也不同。校正图形由5*5个黑色模块、3*3个黑色模块以及位于中心的一个黑色模块构成,使得校正图形从不同方向上的都存在黑:白:黑呈现1:1:1的比例的线段,整个QR码图像中的其他图形基本不会呈现这种比例。
[0005]现有技术中一般采取整个QR码图像范围内搜索满足黑:白:黑线段1:1:1的比例的图形,包括水平方向逐行搜索、垂直方向逐行搜索、以及对角线方向测定三个步骤确定校正图形的位置。这种方法进行校正图形的检测在QR码图像形变较小的情况下准确度较高,但是逐行检测的检测速度慢、检测效率低下。


【发明内容】

[0006]为此,本发明所要解决的技术问题在于现有技术中无法快速准确的检测出QR码的校正图形,从而提出一种QR码校正图形的检测方法。
[0007]为解决上述技术问题,本发明是通过以下技术方案实现的:
[0008]一种QR码校正图形的检测方法,包括如下步骤:
[0009]根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标;
[0010]在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标。
[0011]进一步地所述根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标的步骤包括:
[0012]获取第一探测图形的中心点坐标(XA,Ya);
[0013]根据所述校正图形的中心点与所述第一探测图形的中心点的横向距离获取参考横坐标;根据所述校正图形的中心点与所述第一探测图形的中心点的纵向距离获取参考纵坐标。
[0014]进一步地利用下述公式确定所述横向距离和所述纵向距离:
[0015]所述横向距离为:ε h= ε (Xr-Xa);
[0016]所述纵向距离为:ε ζ= ε (Yr-Ya);
[0017]其中Xk = XB-XA+XC, Ye = YB-YA+YC ; (XB, YB)为第二探测图形的中心点的坐标;(Xe, Yc)为第三探测图形的中心点的坐标;ε为校正图形偏离因子。
[0018]进一步地利用下述公式确定所述校正图形偏离因子:
[0019]ε =(Ν-3)/Ν,其中N为QR码横向或纵向上包含的模块的数量。
[0020]进一步地在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤中,所述预定范围为包含所述参考坐标的正方形区域,所述正方形区域包含至少64个模块。
[0021]进一步地所述正方形区域包含256个模块。
[0022]进一步地所述正方形区域包含1024个模块。
[0023]进一步地在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤包括:
[0024]沿第一方向对所述预定范围检测,检测白:黑:白的长度比例满足预设比例的第一线段,确定所述第一线段中黑色部分的中心点;
[0025]以所述第一线段中黑色部分的中心点作为基准位置,得到垂直于所述第一线段的第二检测线,在所述第二检测线上检测白:黑:白的长度比例满足预设比例的第二线段,所述第二线段中黑色部分的中心点为校正图形的中心点。
[0026]进一步地在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤还包括:
[0027]以所述第二线段中黑色部分的中心点为基准位置,得到垂直于所述第二线段的第三检测线;在所述第三检测线上检测白:黑:白的长度比例满足预设比例的第三线段,若能够检测到所述第三线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回沿第一方向对所述预定范围检测的步骤。
[0028]进一步地在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤还包括:
[0029]以所述第二线段中黑色部分的中心点为基准位置,获得与所述第一方向呈45°角或负45°角的第四检测线,在所述第四检测线上检测满足白:黑:白的长度比例为预设比例的第四线段,若能够检测到所述第四线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回沿第一方向对所述预定范围检测的步骤。
[0030]进一步地在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤还包括:
[0031]根据所述第一线段的两个端点确定校正图形的第一方向边缘线;
[0032]根据所述第二线段的两个端点确定校正图形的第二方向边缘线;
[0033]根据所述第一方向边缘线和所述第二方向边缘线获取校正图形的四边形边框,所述四边形边框的几何中心即为校正图形的近似中心点;
[0034]获取所述第二线段中黑色部分的中心点与所述近似中心点的连线的中点为校正图形的中心点。
[0035]进一步地所述预设比例为:
[0036]白色部分和黑色部分的长度之和在0.7L-1.3L的范围内,其中L为三个模块的长度,且白色部分和黑色部分的长度均小于或等于2个模块的长度。
[0037]进一步地在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤中:
[0038]若沿第一方向对所述预定范围检测后未检测到白:黑:白的长度比例满足预设比例的横向或纵向线段,则进行如下步骤:
[0039]沿第一方向对所述预定范围检测,检测白色线段长度为预设长度的线段,确定该线段的第一中心点;
[0040]以所述第一中心点为基准位置,得到垂直于第一方向的检测线,在所述检测线上检测白色线段长度为预设长度的线段,该线段的中心点即为校正图形的中心点。
[0041]进一步地所述预设长度在0.7L-1.3L的范围内。
[0042]一种QR码校正图形的检测系统,包括:
[0043]粗定位模块:用于根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标;
[0044]精确定位模块:用于在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标。
[0045]进一步地所述粗定位模块包括:
[0046]探测图形中心点的坐标获取单元:用于获取第一探测图形的中心点坐标(XA,Ya);
[0047]参考坐标获取单元:用于根据所述校正图形的中心点与所述第一探测图形的中心点的横向距离获取参考横坐标;根据所述校正图形的中心点与所述第一探测图形的中心点的纵向距离获取参考纵坐标。
[0048]进一步地所述参考坐标获取单元中利用下述公式确定所述横向距离和所述纵向距离:
[0049]所述横向距离为:ε h= ε (Xr-Xa);
[0050]所述纵向距离为:ε ζ= ε (Yr-Ya);
[0051 ] 其中Xk = XB-XA+XC, Ye = YB-YA+YC ; (XB, YB)为第二探测图形的中心点的坐标;(Xe, Yc)为第三探测图形的中心点的坐标;ε为校正图形偏离因子。
[0052]进一步地所述校正图形偏离因子ε =(Ν_3)/Ν,其中N为QR码横向或纵向上包含的模块的数量。
[0053]进一步地所述精确定位模块中,设定所述预定范围为包含所述参考坐标的正方形区域,所述正方形区域包含至少64个模块。
[0054]进一步地所述精确定位模块中,设定所述正方形区域包含256个模块。
[0055]21.根据权利要求19所述的QR码校正图形的检测系统,其特征在于,所述精确定位模块中,所述正方形区域包含1024个模块。
[0056]进一步地所述精确定位模块还包括:
[0057]第一方向检测单元:用于沿第一方向对所述预定范围检测,检测白:黑:白的长度比例满足预设比例的第一线段,确定所述第一线段中黑色部分的中心点;
[0058]第二方向检测单元:用于以所述第一线段中黑色部分的中心点作为基准位置,得到垂直于所述第一线段的第二检测线,在所述第二检测线上检测白:黑:白的长度比例满足预设比例的第二线段,所述第二线段中黑色部分的中心点为校正图形的中心点。
[0059]进一步地所述精确定位模块还包括:
[0060]比较判断单元:用于以所述第二线段中黑色部分的中心点为基准位置,得到垂直于所述第二线段的第三检测线,在所述第三检测线上检测白:黑:白的长度比例满足预设比例的第三线段,若能够检测到所述第三线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回所述第一方向检测单元。
[0061]进一步地所述精确定位模块还包括:
[0062]对角线方向检测单元:用于以所述第二线段中黑色部分的中心点为基准位置,获得与所述第一方向呈45°角或负45°角的第四检测线,在所述第四检测线上检测满足白:黑:白的长度比例为预设比例的第四线段,若能够检测到所述第四线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回第一方向检测单元。
[0063]进一步地所述第一方向检测单元,还用于根据所述第一线段的两个端点确定校正图形的第一方向边缘线;
[0064]所述第二方向检测单元,还用于根据所述第二线段的两个端点确定校正图形的第二方向边缘线;
[0065]近似中心点获取单元,用于根据所述第一方向边缘线和所述第二方向边缘线获取校正图形的四边形边框,所述四边形边框的几何中心即为校正图形的近似中心点;
[0066]校正图形中心点获取单元,用于获取所述第二线段中黑色部分的中心点与所述近似中心点的连线的中点为校正图形的中心点。
[0067]进一步地所述预设比例为:
[0068]白色部分和黑色部分的长度之和在0.7L-1.3L的范围内,其中L为三个模块的长度,且白色部分和黑色部分的长度均小于或等于2个模块的长度。
[0069]进一步地所述精确定位模块还包括:
[0070]第一方向模糊检测单元:用于沿第一方向对所述预定范围检测,检测白色线段长度为预设长度的线段,确定该线段的第一中心点;
[0071]第二方向模糊检测单元:用于以所述第一中心点为基准位置,得到垂直于第一方向的检测线,在所述检测线上检测白色线段长度为预设长度的线段,该线段的中心点即为校正图形的中心点。
[0072]进一步地所述预设线段长度在0.7L-1.3L的范围内。
[0073]本发明的上述技术方案相比现有技术具有以下优点:
[0074](I)本发明所述的QR码校正图形的检测方法及系统本实施例中的QR码校正图形的检测方法,在预定范围内进行精确定位,其运算量一定小于在整个QR码图的范围内进行逐行和逐列扫描的运算量。因此能够在一定程度上缩短校正图形的检测时间,提高检测效率。
[0075](2)本发明所述的QR码校正图形的检测方法及系统在进行校正图形检测时,所述粗定位步骤中,根据校正图形的中心点与探测图形的中心点的相对位置关系获取所述参考坐标。由于在对QR码图像识别过程中必须首先对探测图形进行检测,所以探测图形的位置在检测校正图形之前已经获得,而无论版本号为多少,右下角的校正图形与三个探测图形的位置关系都是固定的。结合探测图形与校正图形的位置关系,可以大致参考出校正图形的坐标,进而可以快速的检测出校正图形,有效的实现了资源的整合与优化。
[0076](3)本发明所述的QR码校正图形的检测方法及系统,利用标准的QR码呈现正方形的结构,并且校正图形的中心与第二探测图形的中心在纵向上的距离与第三探测图形的中心和第一探测图形的中心点的纵向距离相差3个模块。校正图形的中心与第三探测图形在横向上的距离与第二探测图形和第一探测图形的中心点的横向距离相差3个模块。利用上述位置关系来得到校正图形中心点的坐标,因为设立校正图形的目的在于在解码过程中为矫正过程提供相应数据,使得失真的QR码图像得以还原,为后续的解码过程的顺利进行做好准备。但是对失真的QR码图像的矫正,并不需要使用所有的校正图形。如果不进行边缘检测,检测出所有的校正图形,不仅没有必要,反而会占用很多内存,同时运算量过大,也会致使整体运算速度较慢。因此只选择右下角的校正图形的坐标可以简化运算量。
[0077](4)本发明所述的QR码校正图形的检测方法及系统,所述精确定位步骤中,所述预定范围为包含所述参考坐标的正方形区域。正方形区域过大,会造成检测范围过宽,运算量过大致使检测速度较慢,若正方形区域过小,可能会造成无法检测出校正图形的情况发生。由于校正图形的大小为包含5X5个模块大小的正方形,故此处优选所述正方形区域至少包含64个模块,若无法在64个模块的检测区域内有效的检测出校正图形,将正方形区域扩大至包含256个模块,甚至是包含1024个模块。所述正方形区域的选择可以按照上述步骤由小至大的逐步检测,亦可以单独设定一个正方形区域进行检测,不在进行扩大检测。
[0078](5)本发明所述的QR码校正图形的检测方法及系统在QR码图像拍摄和二值化过程中引入误差的情况下,也可以很好的处理。由于误差的引入,校正图形的中心黑色模块,可能是很大也可能仅仅是一个点,而且并不在中心区域,此时可以分别求取黑色模块的中心点和整个校正图形的中心点,二者中点作为中心点;又或者导致校正图形根本没有中心黑色模块,此时可以检测正方形区域内的白色模块,只要其内部线段长度满足预设线段长度,也同样可认定为校正图形,取其中心为校正图形中心点。对校正图形的检测不局限与只在失真较小的情况下可以有效的检测,对失真的QR码图像也同样可以起到很好的检测效果。

【专利附图】

【附图说明】
[0079]为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
[0080]图1是本发明所述的一个实施例的QR码校正图形的检测方法流程图;
[0081]图2是本发明所述的一个实施例的正方形区域选择示意图;
[0082]图3是本发明所述的一个实施例的QR码校正图形的检测方法流程图;
[0083]图4是本发明所述的一个实施例的QR码校正图形的检测方法流程图;
[0084]图5是本发明所述的一个实施例的QR码校正图形的示意图;
[0085]图6是本发明所述的一个实施例的QR码校正图形的检测方法流程图;
[0086]图7是本发明所述的一个实施例的QR码校正图形的示意图;
[0087]图8是本发明所述的一个实施例的QR码校正图形的检测系统结构图;
[0088]图9是本发明所述的一个实施例的QR码校正图形的检测系统结构图;
[0089]图10是本发明所述的一个实施例的QR码校正图形的检测系统结构图;
[0090]图11是本发明所述的一个实施例的QR码校正图形的检测系统结构图。
[0091 ]01-第一线段,02-第二线段,03-第三线段,04-第四线段,3_第一探测图形,4_第二探测图形,5-第三探测图形。

【具体实施方式】
[0092]实施例1
[0093]本实施例提供了一种QR码校正图形的检测方法,如图1所示,包括如下步骤:
[0094]根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标;
[0095]在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标。
[0096]需要说明的是,根据QR码版本号的不同,校正图形的个数和位置均不相同。在本实施例中,所检测和定位的校正图形为在QR码右下角校正图形,如图2中所示的校正图形
I。而不论版本号为多少,在右下角的校正图形距离QR码的边缘位置都是固定的。因此,根据右下角的校正图形的位置特点,可以得到参考坐标,所述参考坐标可以是右下角的角点位置坐标、也可以是与右下角的角点在横向和纵向上均相差几个模块距离的点的位置坐标。由于根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标步骤中,本身只是参考一下校正图形的中心点所在的位置,因此对其精确程度并不做太高要求。
[0097]在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标步骤中,该所述预定范围可以是校正图形大小的几倍甚至十几倍的区域,以保证能够将校正图形包含在内部。
[0098]本实施例中的QR码校正图形的检测方法,在预定范围内进行精确定位,其运算量一定小于在整个QR码图的范围内进行逐行和逐列扫描的运算量。因此能够在一定程度上缩短校正图形的检测时间,提高检测效率。
[0099]本实施例中,所述根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标步骤中,由于在对QR码图像识别过程中必须首先对探测图形进行检测,所以探测图形的位置在检测校正图形之前已经获得,而无论版本号为多少,右下角的校正图形与三个探测图形的位置关系都是固定的。本实施例中,当QR码正向放置时,其左上角的探测图形为第一探测图形3,右上角的探测图形为第二探测图形4,左下角的探测图形为第三探测图形5。结合图2,该位置关系为:校正图形的中心与的第二探测图形4在纵向上的距离与第三探测图形5和第一探测图形3的中心点的纵向距离相差3个模块。校正图形的中心与的第三探测图形5在横向上的距离与第二探测图形4和的第一探测图形3的中心点的横向距离相差3个模块。因此当三个探测图形的位置信息为已知的情况下,根据上述位置关系粗略确定校正图形的中心点的位置坐标更加方便。
[0100]本实施例中,结合探测图形与校正图形的位置关系,可以大致参考出校正图形的坐标,进而可以快速的检测出校正图形,有效的实现了资源的整合与优化。
[0101]下面结合图2和图3具体阐述在本实施例中的粗定位步骤中如何结合探测图形进行坐标参考,如图3所示,所述根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标的具体步骤包括:
[0102]获取第一探测图形的中心点坐标(XA,YA)。
[0103]根据所述校正图形的中心点与所述第一探测图形的中心点的横向距离获取参考横坐标;根据所述校正图形的中心点与所述第一探测图形的中心点的纵向距离获取参考纵坐标。
[0104]结合图2,第一探测图形3为位于整个QR码图像的左上角的探测图形。第二探测图形4和第三探测图形5可以分别为整个QR码图像的右上角和左下角的探测图形,也可以分别为整个QR码图像的左下角和右上角的探测图形。由于标准的QR码呈现正方形的结构,并且校正图形的中心与第二探测图形4在纵向上的距离与第三探测图形5和第一探测图形3的中心点的纵向距离相差3个模块。校正图形的中心与第三探测图形5在横向上的距离与第二探测图形4和第一探测图形3的中心点的横向距离相差3个模块。利用上述关系,本实施例中所述获取参考坐标步骤中,利用下述公式确定所述横向距离和所述纵向距离:
[0105]所述横向距离为:ε h= ε (Xr-Xa);
[0106]所述纵向距离为:ε ζ= ε (Yr-Ya);
[0107]其中Xk = XB-XA+XC, Ye = YB-YA+YC ; (XB, YB)为第二探测图形的中心点的坐标;(Xe, Yc)为第三探测图形的中心点的坐标;ε为校正图形偏离因子。本实施例中,利用下述公式确定所述校正图形偏离因子:
[0108]ε =(Ν_3)/N,其中N为QR码横向或纵向上包含的模块的数量。如前所述,不同的QR码版本,校正图形的个数及位置也不相同,本实施例的意图并非找出所有的校正图形,而是找出位于整个QR码图像中的右下角的校正图形。因为设立校正图形的目的在于在解码过程中为矫正过程提供相应数据,使得失真的QR码图像得以还原,为后续的解码过程的顺利进行做好准备。但是对失真的QR码图像的矫正,并不需要使用所有的校正图形。如果不进行边缘检测,检测出所有的校正图形,不仅没有必要,反而会占用很多内存,同时运算量过大,也会致使整体运算速度较慢。在QR码图像完全不失真的情况下,所述校正图形的坐标就是我们所参考出的坐标,但是现实中保证QR码图像完全不失真的可能性极低,所以后续的精确定位便显得极其重要。
[0109]但是相关领域技术人员应当知晓,本实施例并不局限于只对整个QR码图像中的右下角的校正图形。我们知道其他不同版本的标准的QR码图像中也存在着探测图形和其他校正图形的对应关系,只是具体的对应关系不同而已。只需要相应的改变一下运算参数,便可以用本实施例所述的方法实现对各个不同位置的校正图形的快速检测,本实施例不再针对各个版本的校正图形与探测图形的对应关系进行阐述,但是由于各个版本的校正图形与探测图形的对应关系已经为现有技术,故本领域技术人员应当知晓,其他结合显而易见的参数变化进行的运算和改编均在本实施例的保护范围之内。
[0110]实施例2
[0111]本实施例是在实施例1的基础上进行的改进,所述在参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标步骤中,所述预定范围为包含所述参考坐标的正方形区域。从图2中可以看出,完成对校正图形的粗定位后,获得一个大致的参考坐标位置,然后所述参考坐标的预定范围内精确定位校正图形,其中很明显可以看到位于QR图像的右下角位置处的校正图形落在了所述的正方形区域,即灰色线框处。正方形区域过大,会造成检测范围过宽,运算量过大致使检测速度较慢,若正方形区域过小,可能会造成无法检测出校正图形的情况发生。由于校正图形的大小为包含5X5个模块大小的正方形,故此处优选所述正方形区域至少包含64个模块,若无法在64个模块的检测区域内有效的检测出校正图形,将正方形区域扩大至包含256个模块,甚至是包含1024个模块。所述正方形区域的选择可以按照上述步骤由小至大的逐步检测,亦可以单独设定一个正方形区域进行检测,不在进行扩大检测。
[0112]QR码中最小的信息单元为正方形的模块,不同版本号的QR码包括的模块数也不相同。版本号为I的QR码包括21X21个模块,版本号每增加1,QR码包括的模块数量就在横向和纵向上均增加4个。目前QR码的最大版本为40,其QR码包括177X177个模块。而校正图形由5X5个黑色模块、3X3个黑色模块以及位于中心的一个黑色模块构成,在选择正方形区域时首先选择64个模块,即8X8个模块,完全可以包裹住整个校正图形。只有在正方形区域为64个模块时,无法获得需要检测的校正图形时,此时可能是由于这个QR码图像整体失真或者偏移量较大,此时需要放大范围去检测校正图形,将整个检测范围扩展为16X16个模块,即所述正方形区域包含256个模块。如果依然无法找出,继续扩大范围检测,令所述正方形区域包含1024个模块,即32X32个模块。此时鉴于粗定位时参考的坐标相对于整个QR码图像来说已经在其右下方,所以这个正方形区域很有可能已经在QR码图像的外部。若检测范围扩大到这个程度上依然无法获得校正图形,原则上可以在继续扩大范围进行检测,但是这种情况多半是检测到的QR码图像可能并不是真正的QR码图像,即最初检测错误。抑或是QR码图像失真极其严重,这种情况下即使是真正的QR码图像,但是局限于现有技术,要对这种失真严重的QR码图像进行解码步骤整体难度较高。故为了节省运算步骤,此处我们设定为无法检测到校正图形,报告错误,退出检测步骤。但是本实施例依然保留将正方形区域继续扩大的权利,本领域技术人员应当知晓。
[0113]本实施例中,所述在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标如图4所示,具体包括如下步骤:
[0114]沿第一方向对所述预定范围检测,检测白:黑:白的长度比例满足预设比例的第一线段,确定所述第一线段中黑色部分的中心点;
[0115]以所述第一线段中黑色部分的中心点作为基准位置,得到垂直于所述第一线段的第二检测线,在所述第二检测线上检测白:黑:白的长度比例满足预设比例的第二线段,所述第二线段中黑色部分的中心点为校正图形的中心点。
[0116]其中,所述第一方向可以为横向也可以为纵向,当所述第一方向为横向时所述第二方向为纵向,当所述第一方向为纵向时所述第二方向为横向。
[0117]如图5所示,校正图形为最外侧的5X5大小的黑色正方形、中间的3X3大小的白色正方形和最内侧的I个模块大小的黑色正方形组成。因此,如果对其进行横向或者纵向检测的话,校正图形内部应该满足白:黑:白的比例为1:1:1,并且长度为3个模块的长度。在QR码的其他位置并没有符合这一条件的线段。但是,从图中可以看出,由于受到干扰,图5所示的校正图形的内侧的黑色正方形并不在白色正方形的中心部分。而实际情况中,这种受到干扰的QR码是占大部分的,即大部分的校正图形中的线段的黑白比例都不能满足上述比例,因此设定一预设比例,该预设比例在1:1:1的比例上可以允许有一定的误差范围。本实施例中,取所述预设比例为白色部分和黑色部分的长度之和在0.7L-1.3L的范围内,其中L为三个模块的长度,且白色部分和黑色部分的长度均小于或等于2个模块的长度。即每一段白:黑:白中的每一白色线段和每一黑色线段的长度不得大于2个模块的长度,整体白:黑:白线段的长度在2.1个模块到3.9个模块的之间。如果每一白色线段、每一黑色线段以及每一段白:黑:白的线段长度超出上述限定范围内,便认为不符合预设比例。
[0118]在检测时先进行横向检测或者先进行纵向检测都是可以的,本实施例参照图5,以先进行横向检测为例。从图中可以看出,从上到下对参考中心点的预定范围进行横向检测,假如检测到的第一条符合预设比例的横向线段一 01,选择该线段中黑色部分的中心点Cp该中心点可能并不是内侧黑色正方形的中心点,但一定是该正方形在横向上的中心点,因此在此基础上进行纵向检测,如果纵向线段上也存在白:黑:白的比例满足预设比例的纵向线段二 02,那么纵向线段二 02的中心Ciz —定就是黑色正方形的中心,即校正图形的中心。
[0119]本实施例中,优选地,如图6所示,所述在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标还包括如下步骤:
[0120]以所述第二线段中黑色部分的中心点为基准位置,得到垂直于所述第二线段的第三检测线;在所述第三检测线上检测白:黑:白的长度比例满足预设比例的第三线段,若能够检测到所述第三线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回沿第一方向对所述预定范围检测的步骤。
[0121]以所述第二线段中黑色部分的中心点为基准位置,获得与所述第一方向呈45°角或负45°角的第四检测线,在所述第四检测线上检测满足白:黑:白的长度比例为预设比例的第四线段,若能够检测到所述第四线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回沿第一方向对所述预定范围检测的步骤。
[0122]依然如图5所示,在经过上述检测后得到的所述第二线段02中黑色部分的中心点,此时我们只是从理论上认定该第二线段02中黑色部分的中心点Ciz是校正图形的中心点,但实际上只是在第二方向进行了验证,没有确认其第一方向是否满足白:黑:白的长度比例满足预设比例的条件,有可能会造成误判的现象发生。为了避免这种现象的发生,如图6所示,对第二线段02的中心点Ciz所在垂直于所述第二线段02的第三检测03线进行了再判断,判断其所在第三线段03是否满足白:黑:白的长度比例满足预设比例的条件。同时还加入了在对角线方向进行的检测,即以所述第二线段中黑色部分的中心点为基准位置,获得与所述第一方向呈45°角或负45°角的第四检测线,在所述第四检测线上检测满足白:黑:白的长度比例为预设比例的第四线段,若能够检测到所述第四线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回沿第一方向对所述预定范围检测的步骤。通过对与校正图形中心点Cjz的第一方向呈正负45°角的第四检测线04进行检测是否满足,如果该第二线段02的中心点确实是校正图形的中心点,那么一定满足上述判断条件,否则认定其不是校正图形的中心点,进一步保证了检测的准确性。在确保对QR码图像的校正图形的快速检测的同时还能一定程度上保证检测的准确性,有效降低错检率。
[0123]但是在QR码图像拍摄和二值化过程中由于误差的引入,校正图形的中心黑色模块,可能是很大也可能仅仅是一个点,而且并不在中心区域,此时我们再按照上述方法进行检测就可能无法获得校正图形。为了在这种情况下实现有效的检测校正图形,本实施例还提供了如下的方法。
[0124]根据所述第一线段的两个端点确定校正图形的第一方向边缘线;
[0125]根据所述第二线段的两个端点确定校正图形的第二方向边缘线;
[0126]根据所述第一方向边缘线和所述第二方向边缘线获取校正图形的四边形边框,所述四边形边框的几何中心即为校正图形的近似中心点;
[0127]获取所述第二线段中黑色部分的中心点与所述近似中心点的连线的中点为校正图形的中心点。
[0128]如图7所示,根据横向的第一线段的两个端点M、N和纵向的第二线段的两个端点P、Q,即可确定校正图形中中间白色正方形的四个边所在的位置,则M和N两个点的中心的横坐标即为近似中心点的横坐标,P和Q两个点的中心的纵坐标即为近似中心点的纵坐标。获得了内侧黑色正方形的中心点和整个校正图形的近似中心点,将二者中点作为校正图形中心点,可以很好的处理由于校正图形中心黑色模块严重失真造成的影响,使得本实施例应对各种复杂情况下的检测能力增强,并且可以保证高效准确的完成校正图形的检测。
[0129]上述预设比例的设定是经过多次数据验证得出的,能够很好的保证检测的准确性。但是本领域技术人员应当知晓,其他可实施的数据变化亦在本实施例的保护范围之内。
[0130]实施例3
[0131]本实施例是在实施例1和2的基础上进行的改进,主要对一些校正图形中心黑色模块失真严重的情形进行的检测。同时为了充分考虑到各种情况,那么现实中还会出现中心黑色模块因为失真等原因消失,只剩下白色模块,如图7所示。针对这种情况,本实施例也提供了相应的检测方法,
[0132]在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤中:
[0133]若沿第一方向对所述预定范围检测后未检测到白:黑:白的长度比例满足预设比例的横向或纵向线段,则进行如下步骤:
[0134]沿第一方向对所述预定范围检测,检测白色线段长度为预设长度的线段,确定该线段的第一中心点;
[0135]以所述第一中心点为基准位置,得到垂直于第一方向的检测线,在所述检测线上检测白色线段长度为预设长度的线段,该线段的中心点即为校正图形的中心点。
[0136]在校正图形的中心黑色模块缺失的情况下,再利用实施例2所述的方法必然无法检测出校正图形。此时可以检测正方形区域内的白色模块,只要其内部线段长度满足预设线段长度,也同样可认定为校正图形,取其中心为校正图形中心点。对校正图形的检测不局限与只在失真较小的情况下可以有效的检测,对失真的QR码图像也同样可以起到很好的检测效果。并且使得对校正图形的检测在应对各种复杂情况下的检测能力增强,满足了用户对QR码检测越来越高的需求。
[0137]同时为了保证检测的准确性,本实施例还设置了预设线段长度,所述预设线段长度在0.7L-1.3L的范围内。预设线段长度数值的设定是是经过多次数据验证得出的,能够很好的保证检测的准确性。
[0138]实施例4
[0139]本实施例提供了一种QR码校正图形的检测系统,如图8所示,包括:
[0140]粗定位模块:用于根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标;
[0141]精确定位模块:用于在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标。
[0142]本实施例中的QR码校正图形的检测系统,在预定范围内进行精确定位,其运算量一定小于在整个QR码图的范围内进行逐行和逐列扫描的运算量。因此能够在一定程度上缩短校正图形的检测时间,提高检测效率。
[0143]本实施例中,如图9所示,优选所述粗定位模块具体包括:
[0144]探测图形中心点的坐标获取单元:用于获取第一探测图形的中心点坐标(ΧΑ,ΥΑ)ο
[0145]参考坐标获取单元:用于根据所述校正图形的中心点与所述第一探测图形的中心点的横向距离获取参考横坐标;根据所述校正图形的中心点与所述第一探测图形的中心点的纵向距离获取参考纵坐标。
[0146]此处的第一探测图形为位于整个QR码图像的左上角的探测图形。第二探测图形和第三探测图形可以分别为整个QR码图像的右上角和左下角的探测图形,也可以分别为整个QR码图像的左下角和右上角的探测图形。由于标准的QR码呈现正方形的结构,校正图形相对于第一探测图形的位置来说,受第二探测图形和第三探测图形的影响并不大,故此处未作严格的限定,保持了数据选择的灵活性,对于在对校正图形进行检测之前进行的探测图形排序步骤而言,只要检测出的第一探测图形的坐标位置是正确的,那么即使在排序过程中对第二探测图形和第三探测图形的排序判断错误,也不会影响校正图形的检测,一定程度上保证了检测的准确性。
[0147]本实施例中,进一步所述参考坐标获取单元中利用下述公式确定所述横向距离和所述纵向距离:
[0148]所述横向距离为:ε h= ε (Xr-Xa);
[0149]所述纵向距离为:ε ζ= ε (Yr-Ya);
[0150]其中Xk = XB-XA+XC, Ye = YB-YA+YC ; (XB, YB)为第二探测图形的中心点的坐标;(Xe, Yc)为第三探测图形的中心点的坐标;ε为校正图形偏离因子。
[0151]所述校正图形偏离因子ε =(Ν_3)/N,其中N为QR码横向或纵向上包含的模块的数量。
[0152]不同的QR码版本,校正图形的个数及位置也不相同,本实施例的意图并非找出所有的校正图形,而是找出位于整个QR码图像中的右下角的校正图形。因为设立校正图形的目的在于在解码过程中为矫正过程提供相应数据,使得失真的QR码图像得以还原,为后续的解码过程的顺利进行做好准备。但是对失真的QR码图像的矫正,并不需要使用所有的校正图形。如果不进行边缘检测,检测出所有的校正图形,不仅没有必要,反而会占用很多内存,同时运算量过大,也会致使整体运算速度较慢。在QR码图像完全不失真的情况下,所述校正图形的坐标就是我们所参考出的坐标,但是现实中保证QR码图像完全不失真的可能性极低,所以后续的精确定位便显得极其重要。
[0153]实施例5
[0154]本实施例是在实施例4的基础上进行的改进,所述精确定位模块中,所述预定范围为包含所述参考坐标的正方形区域。正方形区域过大,会造成检测范围过宽,运算量过大致使检测速度较慢,若正方形区域过小,可能会造成无法检测出校正图形的情况发生。故此处优选所述正方形区域包含64个模块。若无法有效的检测出校正图形,依次将正方形区域扩大至包含256个模块,乃至包含1024个模块。所述正方形区域的选择可以按照上述步骤由小至大的逐步检测,亦可以单独设定一个正方形区域进行检测,不在进行扩大检测。此处正方形区域的大小选择比较灵活,不在赘述。
[0155]QR码中最小的信息单元为正方形的模块,不同版本号的QR码包括的模块数也不相同。版本号为I的QR码包括21X21个模块,版本号每增加1,QR码包括的模块数量就在横向和纵向上均增加4个。目前QR码的最大版本为40,其QR码包括177X177个模块。而校正图形由5X5个黑色模块、3X3个黑色模块以及位于中心的一个黑色模块构成,在选择正方形区域时首先选择64个模块,即8X8个模块,完全可以包裹住整个校正图形。只有在正方形区域为64个模块时,无法获得需要检测的校正图形时,此时可能是由于这个QR码图像整体失真或者偏移量较大,此时需要放大范围去检测校正图形,将整个检测范围扩展为16X16个模块,即所述正方形区域包含256个模块。如果依然无法找出,继续扩大范围检测,令所述正方形区域包含1024个模块,即32X32个模块。此时鉴于粗定位时参考的坐标相对于整个QR码图像来说已经在其右下方,所以这个正方形区域很有可能已经在QR码图像的外部。若检测范围扩大到这个程度上依然无法获得校正图形,原则上可以在继续扩大范围进行检测,但是这种情况多半是检测到的QR码图像可能并不是真正的QR码图像,即最初检测错误。抑或是QR码图像失真极其严重,这种情况下即使是真正的QR码图像,但是局限于现有技术,要对这种失真严重的QR码图像进行解码步骤整体难度较高。故为了节省运算步骤,此处我们设定为无法检测到校正图形,报告错误,退出检测步骤。但是本实施例依然保留将正方形区域继续扩大的权利,本领域技术人员应当知晓。
[0156]优选地,所述精确定位模块如图10所示,具体包括:
[0157]第一方向检测单元:用于沿第一方向对所述预定范围检测,检测白:黑:白的长度比例满足预设比例的第一线段,确定所述第一线段中黑色部分的中心点;
[0158]第二方向检测单元:用于以所述第一线段中黑色部分的中心点作为基准位置,得到垂直于所述第一线段的第二检测线,在所述第二检测线上检测白:黑:白的长度比例满足预设比例的第二线段,所述第二线段中黑色部分的中心点为校正图形的中心点。
[0159]本实施例所述的一种QR码校正图形的检测系统在进行校正图形检测时,采用先对校正图形进行粗定位,根据不同QR码版本来粗略估计校正图形的坐标位置,然后在其周围划一方形区域进行循环查找,最后结合校正图形自身的特点,在方形区域内准确定位校正图形。不需要在整个QR码图像范围内逐行搜索满足线段1:1:1的比例的图形,极大的减少了检测量,使得校正图形的检测更加快速高效。
[0160]如图11所示,所述精确定位模块还包括:
[0161]比较判断单元:用于以所述第二线段中黑色部分的中心点为基准位置,得到垂直于所述第二线段的第三检测线,在所述第三检测线上检测白:黑:白的长度比例满足预设比例的第三线段,若能够检测到所述第三线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回所述第一方向检测单元。
[0162]对角线方向检测单元:
[0163]用于以所述第二线段中黑色部分的中心点为基准位置,获得与所述第一方向呈45°角或负45°角的第四检测线,在所述第四检测线上检测满足白:黑:白的长度比例为预设比例的第四线段,若能够检测到所述第四线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回第一方向检测单元。
[0164]在经过第一方向检测单元和第二方向检测单元后,此时我们只是从理论上认定该第二线段的中心点是校正图形的中心点,但实际上只是在第二方向进行了验证,没有确认其第一方向是否满足白:黑:白的长度比例满足预设比例的条件,有可能会造成误判的现象发生。为了避免这种现象的发生,如图6所示,所述精确定位模块还包括比较判断单元:用于以所述第二线段中黑色部分的中心点为基准位置,得到垂直于所述第二线段的第三检测线,在所述第三检测线上检测白:黑:白的长度比例满足预设比例的第三线段,若能够检测到所述第三线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回所述第一方向检测单兀。
[0165]由于加入了比较判断单元,对第二线段的中心点所在第二线段进行了再判断,判断其所在第三线段是否满足白:黑:白的长度比例满足预设比例的条件。
[0166]进一步地,所述精确定位模块还包括对角线方向检测单元:用于以所述第二线段中黑色部分的中心点为基准位置,获得与所述第一方向呈45°角或负45°角的第四检测线,在所述第四检测线上检测满足白:黑:白的长度比例为预设比例的第四线段,若能够检测到所述第四线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回第一方向检测单元。
[0167]同时还加入了对角线方向检测单元,通过对与校正图形中心点C^z的第一方向呈正负45°角的两条第四检测线进行检测是否满足白:黑:白的长度比例满足预设比例的条件,如果该第二线段的中心点确实是校正图形的中心点,那么一定满足上述判断条件,否则认定其不是校正图形的中心点,进一步保证了检测的准确性。在确保对QR码图像的校正图形的快速检测的同时还能一定程度上保证检测的准确性,有效降低错检率。
[0168]但是在QR码图像拍摄和二值化过程中由于误差的引入,校正图形的中心黑色模块,可能是很大也可能仅仅是一个点,而且并不在中心区域,此时我们再按照上述方法进行检测就可能无法获得校正图形。为了在这种情况下实现有效的检测校正图形,本实施例所述的系统还具有如下所述功能。
[0169]所述第一方向检测单元,还用于根据所述第一线段的两个端点确定校正图形的第一方向边缘线。
[0170]所述第二方向检测单元,还用于根据所述第二线段的两个端点确定校正图形的第二方向边缘线。
[0171]近似中心点获取单元,用于根据所述第一方向边缘线和所述第二方向边缘线获取校正图形的四边形边框,所述四边形边框的几何中心即为校正图形的近似中心点。
[0172]校正图形中心点获取单元,用于获取所述第二线段中黑色部分的中心点与所述近似中心点的连线的中点为校正图形的中心点。
[0173]通过分别求取黑色模块的中心点和整个近似校正图形的中心点,将二者中点作为校正图形中心点,可以很好的处理由于校正图形中心黑色模块严重失真造成的影响,使得本实施例应对各种复杂情况下的检测能力增强,并且可以保证高效准确的完成校正图形的检测。
[0174]本实施例中设定一预设比例,该预设比例与1:1:1相比有一定的误差。本实施例中取所述预设比例优选为白色部分和黑色部分的长度之和在0.7L-1.3L的范围内,其中L为三个模块的长度,且白色部分和黑色部分的长度均小于或等于2个模块的长度。由于受成像设备的差异以及周围光照和所处的环境的影响,可能导致QR码图像的校正图形失真或者发生轻微形变等。此时严格按照黑白长度比例满足1:1:1去进行检测,难免会造成检测错误,无法正确检测出校正图形。为了应对这种情况,本实施例提供了预设比例,即当检测到有一线段呈现3处黑白相间的情况,但是比例不能严格满足1:1:1时,只要其比例落在预设比例范围之内,便可以认定其满足预设比例,可以据此找出校正图形的中心点。值得注意的是,此处还需保证每一段白:黑:白中的每一白色线段和每一黑色线段的长度不得大于2个模块的长度,整体白:黑:白线段的长度在2.1个模块到3.9个模块的之间。如果每一白色线段、每一黑色线段以及每一段白:黑:白的线段长度超出上述限定范围内,便认为不符合预设比例。上述预设比例的设定是经过多次数据验证得出的,能够很好的保证检测的准确性。但是本领域技术人员应当知晓,其他可实施的数据变化亦在本实施例的保护范围之内。
[0175]实施例6
[0176]本实施例是在实施例4或5的基础上进行的改进,主要对一些校正图形中心黑色模块失真严重的情形进行的检测。同时为了充分考虑到各种情况,那么现实中还会出现中心黑色模块因为失真等原因消失,只剩下白色模块,如图7所示。针对这种情况,本实施例也提供了相应的检测方法。
[0177]本实施例中,所述精确定位模块还包括:
[0178]第一方向模糊检测单元:用于沿第一方向对所述预定范围检测,检测白色线段长度为预设长度的线段,确定该线段的第一中心点;
[0179]第二方向模糊检测单元:用于以所述第一中心点为基准位置,得到垂直于第一方向的检测线,在所述检测线上检测白色线段长度为预设长度的线段,该线段的中心点即为校正图形的中心点。
[0180]在校正图形的中心黑色模块缺失的情况下,再利用实施例5所述的系统必然无法检测出校正图形。此时可以检测正方形区域内的白色模块,只要其内部线段长度满足预设线段长度,也同样可认定为校正图形,取其中心为校正图形中心点。对校正图形的检测不局限与只在失真较小的情况下可以有效的检测,对失真的QR码图像也同样可以起到很好的检测效果。并且使得对校正图形的检测在应对各种复杂情况下的检测能力增强,满足了用户对QR码检测越来越高的需求。
[0181]同时为了保证检测的准确性,本实施例还设置了预设线段长度,所述预设线段长度在0.7L-1.3L的范围内。预设线段长度数值的设定是是经过多次数据验证得出的,能够很好的保证检测的准确性。但是本领域技术人员应当知晓,其他可实施的数据变化亦在本实施例的保护范围之内,此处不再赘述。
[0182]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0183]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0184]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0185]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0186]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
【权利要求】
1.一种QR码校正图形的检测方法,其特征在于,包括如下步骤: 根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标; 在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标。
2.根据权利要求1所述的QR码校正图形的检测方法,其特征在于,所述根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标的步骤包括: 获取第一探测图形的中心点坐标(XA,Ya); 根据所述校正图形的中心点与所述第一探测图形的中心点的横向距离获取参考横坐标;根据所述校正图形的中心点与所述第一探测图形的中心点的纵向距离获取参考纵坐标。
3.根据权利要求2所述的QR码校正图形的检测方法,其特征在于,利用下述公式确定所述横向距离和所述纵向距离: 所述横向距离为:eh=e (Xe-Xa); 所述纵向距离为:εζ=ε (Ye-Ya); 其中Xk = XB-XA+XC,YE = YB-YA+YC ; (XB, YB)为第二探测图形的中心点的坐标;(Xc,Yc)为第三探测图形的中心点的坐标;ε为校正图形偏离因子。
4.根据权利要求3所述的QR码校正图形的检测方法,其特征在于,利用下述公式确定所述校正图形偏离因子: ε =(Ν_3)/N,其中N为QR码横向或纵向上包含的模块的数量。
5.根据权利要求1-4任一所述的QR码校正图形的检测方法,其特征在于,在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤中,所述预定范围为包含所述参考坐标的正方形区域,所述正方形区域包含至少64个模块。
6.根据权利要求5所述的QR码校正图形的检测方法,其特征在于,所述正方形区域包含256个模块。
7.根据权利要求5所述的QR码校正图形的检测方法,其特征在于,所述正方形区域包含1024个模块。
8.根据权利要求1-7任一所述QR码校正图形的检测方法,其特征在于,在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤包括: 沿第一方向对所述预定范围检测,检测白:黑:白的长度比例满足预设比例的第一线段,确定所述第一线段中黑色部分的中心点; 以所述第一线段中黑色部分的中心点作为基准位置,得到垂直于所述第一线段的第二检测线,在所述第二检测线上检测白:黑:白的长度比例满足预设比例的第二线段,所述第二线段中黑色部分的中心点为校正图形的中心点。
9.根据权利要求8所述QR码校正图形的检测方法,其特征在于,在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤还包括: 以所述第二线段中黑色部分的中心点为基准位置,得到垂直于所述第二线段的第三检测线;在所述第三检测线上检测白:黑:白的长度比例满足预设比例的第三线段,若能够检测到所述第三线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回沿第一方向对所述预定范围检测的步骤。
10.根据权利要求8或9所述的QR码校正图形的检测方法,其特征在于,在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤还包括: 以所述第二线段中黑色部分的中心点为基准位置,获得与所述第一方向呈45°角或负45°角的第四检测线,在所述第四检测线上检测满足白:黑:白的长度比例为预设比例的第四线段,若能够检测到所述第四线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回沿第一方向对所述预定范围检测的步骤。
11.根据权利要求8-10任一所述的QR码校正图形的检测方法,其特征在于,在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤还包括: 根据所述第一线段的两个端点确定校正图形的第一方向边缘线; 根据所述第二线段的两个端点确定校正图形的第二方向边缘线; 根据所述第一方向边缘线和所述第二方向边缘线获取校正图形的四边形边框,所述四边形边框的几何中心即为校正图形的近似中心点; 获取所述第二线段中黑色部分的中心点与所述近似中心点的连线的中点为校正图形的中心点。
12.根据权利要求8-11任一所述的QR码校正图形的检测方法,其特征在于,所述预设比例为: 白色部分和黑色部分的长度之和在0.7L-1.3L的范围内,其中L为三个模块的长度,且白色部分和黑色部分的长度均小于或等于2个模块的长度。
13.根据权利要求8所述的QR码校正图形的检测方法,其特征在于,在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标的步骤中: 若沿第一方向对所述预定范围检测后未检测到白:黑:白的长度比例满足预设比例的横向或纵向线段,则进行如下步骤: 沿第一方向对所述预定范围检测,检测白色线段长度为预设长度的线段,确定该线段的第一中心点; 以所述第一中心点为基准位置,得到垂直于第一方向的检测线,在所述检测线上检测白色线段长度为预设长度的线段,该线段的中心点即为校正图形的中心点。
14.根据权利要求13所述的QR码探测图形的检测方法,其特征在于,所述预设长度在0.7L-1.3L的范围内。
15.一种QR码校正图形的检测系统,其特征在于,包括: 粗定位模块:用于根据校正图形的中心点与探测图形的中心点的相对位置关系获取参考坐标; 精确定位1旲块:用于在所述参考坐标的预定范围内精确定位校正图形,获取校正图形的中心点的坐标。
16.根据权利要求15所述的QR码校正图形的检测系统,其特征在于,所述粗定位模块包括: 探测图形中心点的坐标获取单元:用于获取第一探测图形的中心点坐标(XA,Ya); 参考坐标获取单元:用于根据所述校正图形的中心点与所述第一探测图形的中心点的横向距离获取参考横坐标;根据所述校正图形的中心点与所述第一探测图形的中心点的纵向距离获取参考纵坐标。
17.根据权利要求16所述的QR码校正图形的检测系统,其特征在于,所述参考坐标获取单元中利用下述公式确定所述横向距离和所述纵向距离: 所述横向距离为:eh=e (Xe-Xa); 所述纵向距离为:εζ=ε (Ye-Ya); 其中Xk = XB-XA+XC,YE = YB-YA+YC ; (XB, YB)为第二探测图形的中心点的坐标;(Xc,Yc)为第三探测图形的中心点的坐标;ε为校正图形偏离因子。
18.根据权利要求17所述的QR码校正图形的检测系统,其特征在于,所述校正图形偏离因子ε =(Ν-3)/Ν,其中N为QR码横向或纵向上包含的模块的数量。
19.根据权利要求15-18任一所述的QR码校正图形的检测系统,其特征在于,所述精确定位模块中,设定所述预定范围为包含所述参考坐标的正方形区域,所述正方形区域包含至少64个模块。
20.根据权利要求19所述的QR码校正图形的检测系统,其特征在于,所述精确定位模块中,设定所述正方形区域包含256个模块。
21.根据权利要求19所述的QR码校正图形的检测系统,其特征在于,所述精确定位模块中,所述正方形区域包含1024个模块。
22.根据权利要求15-21任一所述QR码校正图形的检测系统,其特征在于,所述精确定位模块还包括: 第一方向检测单元:用于沿第一方向对所述预定范围检测,检测白:黑:白的长度比例满足预设比例的第一线段,确定所述第一线段中黑色部分的中心点; 第二方向检测单元:用于以所述第一线段中黑色部分的中心点作为基准位置,得到垂直于所述第一线段的第二检测线,在所述第二检测线上检测白:黑:白的长度比例满足预设比例的第二线段,所述第二线段中黑色部分的中心点为校正图形的中心点。
23.根据权利要求22所述QR码校正图形的检测系统,其特征在于,所述精确定位模块还包括: 比较判断单元:用于以所述第二线段中黑色部分的中心点为基准位置,得到垂直于所述第二线段的第三检测线,在所述第三检测线上检测白:黑:白的长度比例满足预设比例的第三线段,若能够检测到所述第三线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回所述第一方向检测单元。
24.根据权利要求22或23所述的QR码校正图形的检测系统,其特征在于,所述精确定位模块还包括: 对角线方向检测单元:用于以所述第二线段中黑色部分的中心点为基准位置,获得与所述第一方向呈45°角或负45°角的第四检测线,在所述第四检测线上检测满足白:黑:白的长度比例为预设比例的第四线段,若能够检测到所述第四线段则所述第二线段中黑色部分的中心点为校正图形的中心点,否则返回第一方向检测单元。
25.根据权利要求22-24任一所述的QR码校正图形的检测系统,其特征在于: 所述第一方向检测单元,还用于根据所述第一线段的两个端点确定校正图形的第一方向边缘线; 所述第二方向检测单元,还用于根据所述第二线段的两个端点确定校正图形的第二方向边缘线; 近似中心点获取单元,用于根据所述第一方向边缘线和所述第二方向边缘线获取校正图形的四边形边框,所述四边形边框的几何中心即为校正图形的近似中心点; 校正图形中心点获取单元,用于获取所述第二线段中黑色部分的中心点与所述近似中心点的连线的中点为校正图形的中心点。
26.根据权利要求22-25任一所述的QR码校正图形的检测系统,其特征在于,所述预设比例为: 白色部分和黑色部分的长度之和在0.7L-1.3L的范围内,其中L为三个模块的长度,且白色部分和黑色部分的长度均小于或等于2个模块的长度。
27.根据权利要求22-26任一所述的QR码校正图形的检测系统,其特征在于,所述精确定位模块还包括: 第一方向模糊检测单元:用于沿第一方向对所述预定范围检测,检测白色线段长度为预设长度的线段,确定该线段的第一中心点; 第二方向模糊检测单元:用于以所述第一中心点为基准位置,得到垂直于第一方向的检测线,在所述检测线上检测白色线段长度为预设长度的线段,该线段的中心点即为校正图形的中心点。
28.根据权利要求27所述的QR码校正图形的检测系统,其特征在于,所述预设线段长度在0.7L-1.3L的范围内。
【文档编号】G06K7/10GK104517092SQ201310459941
【公开日】2015年4月15日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】张玲, 关超, 刘振华, 刘革章, 车万毅 申请人:北大方正集团有限公司, 方正移动传媒技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1