CN104517090B - 一种qr码探测图形的检测方法及系统 - Google Patents

一种qr码探测图形的检测方法及系统 Download PDF

Info

Publication number
CN104517090B
CN104517090B CN201310455052.3A CN201310455052A CN104517090B CN 104517090 B CN104517090 B CN 104517090B CN 201310455052 A CN201310455052 A CN 201310455052A CN 104517090 B CN104517090 B CN 104517090B
Authority
CN
China
Prior art keywords
detection
codes
black
line segment
length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310455052.3A
Other languages
English (en)
Other versions
CN104517090A (zh
Inventor
张玲
关超
刘振华
刘革章
车万毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Founder Mobile Media Technology Beijing Co Ltd
Peking University Founder Group Co Ltd
Original Assignee
Founder Mobile Media Technology Beijing Co Ltd
Peking University Founder Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Founder Mobile Media Technology Beijing Co Ltd, Peking University Founder Group Co Ltd filed Critical Founder Mobile Media Technology Beijing Co Ltd
Priority to CN201310455052.3A priority Critical patent/CN104517090B/zh
Priority to US14/102,799 priority patent/US9177188B2/en
Publication of CN104517090A publication Critical patent/CN104517090A/zh
Application granted granted Critical
Publication of CN104517090B publication Critical patent/CN104517090B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore

Abstract

本发明所述的QR码探测图形的检测方法及系统,首先沿第一方向进行检测,在第一方向检测的基础上沿第二方向进行检测,检测出黑:白:黑:白:黑的长度比例满足预设比例的线段,确定探测图形的中心点,进而找出所有探测图形。探测图形的检测无需在整个QR码图像范围内进行纵向和横向的逐行遍历检测,只需在沿第一方向检测时进行逐行遍历检测即可,在检测出所述第一线段中心点后不再进行逐行的遍历检测,而是在所检测出的第一线段的中心点的基础上进行检测。极大地节省了检测的步骤,简化了检测流程,提升了运算速度,达到了对QR码图像的探测图形的快速检测。

Description

一种QR码探测图形的检测方法及系统
技术领域
本发明涉及图像定位技术领域,尤其涉及一种QR码探测图形的检测方法及系统。
背景技术
近年来,随着资料自动收集技术的发展,二维码得到了越来越广泛的应用。QR码是二维条码的一种,QR码与其他二维码相比,具有识读速度快、数据密度大、占用空间小的优势。QR码整体呈正方形,只有黑白两色。QR码通过寻像图形来帮助解码软件完成图像的定位。
所述寻象图形包括三个相同的探测图形,分别位于QR码的左上角、右上角和左下角。每个探测图形可以看作是由3个重叠的同心的正方形组成,它们分别为7*7个深色模块、5*5个浅色模块和3*3个深色模块。故经过探测图形中心分块的线段黑白长度比例满足1:1:3:1:1。QR码中其他地方遇到类似图形的可能性极小,因此可以通过探测图形迅速地识别可能的QR码。使用二维码识读设备来探测QR码的位置、大小、倾斜角度、并加以解码,继而可以实现QR码的360度高速识读。
现有技术中对探测图形的检测是依托探测图形的线段黑白长度比满足1:1:3:1:1的这一特点,具体通过边缘法进行检测。当探测到预选区时,QR码图像中一行像素与探测图形的外边缘相遇的第一点A和最后一点B,线段黑白长度比例满足1:1:3:1:1,如图1所示。对该图像中的相邻象素行进行逐行重复探测,直到在探测图形中心方块横向所有满足黑白长度比例为1:1:3:1:1的线段被全部识别。在纵向,识别穿过探测图形中心方块的所有满足黑白长度比例为1:1:3:1:1的线段。通过在横向穿过探测图形中心方块的最外层的象素线上A、B两点连线的中点连一直线,用同样方法在纵向上划一直线,两条直线的交点就是探测图形的中心点。采用相同的方法确定其它两个探测图形的中心点。便得到三个探测图形以及每个探测图形的中心点了。
通过边缘法检测探测图形,需要占用较大的运算空间,尤其是在运算速度受限的情况下,会造成长时间的探测图形检测,检测效率低下,用户无法获得良好的检测体验。无法满足随着技术的进步,用户对于二维码识别速度提出的更高要求。
发明内容
本发明所要解决的技术问题是现有技术中无法实现QR码探测图形的检测,从而提供一种QR码探测图形的检测方法及系统。
为解决上述技术问题,本发明是通过以下技术方案实现的:
一种QR码探测图形的检测方法,包括如下步骤:
沿第一方向对QR码进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第一线段,确定所述第一线段的中心点;
沿第二方向对经过所述第一线段的中心点的直线进行检测,得到黑:白:黑:白:黑的长度比例满足预设比例的第二线段,所述第二线段的中心点为探测图形的中心点。
进一步地还包括如下步骤:
沿第一方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回沿第一方向对QR码进行检测的步骤。
进一步地还包括如下步骤:
沿与所述第一方向呈45°角或负45°角的对角线方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回沿第一方向对QR码进行检测的步骤。
进一步地所述预设比例为:每一段黑色部分的长度和每一段白色部分的长度与黑色部分和白色部分的总长度之比均在0.5:7-2:7的范围内。
进一步地还包括如下步骤:
设置沿第一方向对QR码进行检测时的检测步长,所述检测步长小于或等于QR码中单个模块在第一方向上包含的像素数。
进一步地所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,根据QR码在第一方向上包含的像素数与单个模块在第一方向上包含的像素数来获得所述检测步长。
进一步地所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,利用以下公式得到所述检测步长:
L=Max(M×N/Mod,Min),
其中M为QR码在第一方向上包含的像素数,N为调整系数且0<N≤1,Mod为预设的QR码在第一方向上包含的模块数,Min为QR码单个模块在第一方向上的像素数。
进一步地,所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,设定所述预设的QR码在第一方向上包含的模块数Mod=57。
进一步地所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,设定所述调整系数N为0.75。
一种QR码探测图形的检测系统,包括:
第一方向检测模块:用于沿第一方向对QR码进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第一线段,确定所述第一线段的中心点;
第二方向检测模块:用于沿第二方向对经过所述第一线段的中心点的直线进行检测,得到黑:白:黑:白:黑的长度比例满足预设比例的第二线段,所述第二线段的中心点为探测图形的中心点。
进一步地还包括:
比较判断模块:用于沿第一方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回所述第一方向检测模块。
进一步地还包括:
对角线方向检测模块:用于沿与所述第一方向呈45°角或负45°角的对角线方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回所述第一方向检测模块。
进一步地所述预设比例为:每一段黑色部分的长度和每一段白色部分的长度与黑色部分和白色部分的总长度之比均在0.5:7-2:7的范围内。
进一步地还包括:
检测步长设定模块:用于设置沿第一方向对QR码进行检测时的检测步长,所述检测步长小于或等于QR码中单个模块在第一方向上包含的像素数。
进一步地所述检测步长设定模块用于根据QR码在第一方向上包含的像素数与单个模块在第一方向上包含的像素数来获得所述检测步长。
进一步地所述检测步长设定模块用于利用以下公式得到所述检测步长:
L=Max(M×N/Mod,Min),
其中M为QR码在第一方向上包含的像素数,N为调整系数且0<N≤1,Mod为预设的QR码在第一方向上包含的模块数,Min为QR码单个模块在第一方向上的像素数。
进一步地,所述检测步长设定模块中设定所述预设的QR码在第一方向上包含的模块数Mod=57。
进一步地所述检测步长设定模块中设定所述调整系数N为0.75。
本发明的上述技术方案相比现有技术具有以下优点:
(1)本发明所述的QR码探测图形的检测方法及系统,首先沿第一方向进行检测,在第一方向检测的基础上沿第二方向进行检测,检测出黑:白:黑:白:黑的长度比例满足预设比例的线段,确定探测图形的中心点,进而找出所有探测图形。探测图形的检测无需在整个QR码图像范围内进行纵向和横向的逐行遍历检测,只需在沿第一方向检测时进行逐行遍历检测即可,在检测出所述第一线段中心点后不再进行逐行的遍历检测,而是在所检测出的第一线段的中心点的基础上进行检测。极大地节省了检测的步骤,简化了检测流程,提升了运算速度,达到了对QR码图像的探测图形的快速检测。
(2)本发明所述的QR码探测图形的检测方法及系统,其所述探测步长具体数值的设定不仅充分考虑到了不同QR码图像的版本号,还结合了不同版本号的单个模块最少像素值,保证了检测步长数值的设定的合理性和灵活性。同时不仅在第一方向和第二方向进行检测,还进行了比较判断与对角线方向检测,在确保对QR码图像的探测图形的快速检测的同时还能一定程度上保证检测的准确性,有效降低错检率。
(3)本发明所述的QR码探测图形的检测方法及系统,充分利用了探测图形自身的特点,即探测图形的线段黑白长度比例满足1:1:3:1:1。同时考虑到失真以及图像形变等因素,可能会导致探测图形中心部分的线段黑白长度比例不会严格满足1:1:3:1:1,设定了检测的预设比例,即检测黑:白:黑:白:黑的长度比例满足预设比例便认为满足探测图形的检测条件。预设比例的设定在保证检测的准确性的基础上还可以一定程度上消除因为失真以及轻微形变等带来的影响。
附图说明
为了使本发明的内容更容易被清楚的理解,下面结合附图,对本发明作进一步详细的说明,其中,
图1是现有技术中探测图形检测的方法示意图;
图2是本发明所述QR码探测图形的检测方法流程图;
图3是本发明所述QR码探测图形的检测方法流程图;
图4是一种实施例所述QR码探测图形的检测方法流程图;
图5是一种实施例所述QR码探测图形的检测方法的检测示意图;
图6是本发明所述QR码探测图形的检测系统的结构图;
图7是一种实施例所述QR码探测图形的检测系统的结构图;
图8是一种实施例所述QR码探测图形的检测系统的检测示意图;
图9是一种实施例所述QR码探测图形的检测系统的结构图;
图10是本发明所述QR码探测图形的检测效果图。
具体实施方式
实施例1
本实施例提供了一种QR码探测图形的检测方法,如图2所示,包括如下步骤:
沿第一方向对QR码进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第一线段,确定所述第一线段的中心点;
沿第二方向对经过所述第一线段的中心点的直线进行检测,得到黑:白:黑:白:黑的长度比例满足预设比例的第二线段,所述第二线段的中心点为探测图形的中心点。
本实施例的核心思想在于应用探测图形自身的特点进行探测图形的快速检测。探测图形自身的特点即每个所述的探测图形可以看作是由3个重叠的同心的正方形组成,它们分别为7*7个深色模块、5*5个浅色模块和3*3个深色模块。此处所述的模块是指QR码图像的基本信息存储单元。
本实施例所述的QR码图像是指包含有背景以及QR码的图像,并且是经过了二值化处理后的,故探测图形的深色模块与浅色模块便会呈现黑色模块与白色模块的形态。对于每一个模块内的每一个像素点来说,其灰度值或者为0或者为255,我们在判断线段比例是否满足预设比例时实质是根据像素点的灰度值来判断是黑色还是白色,最后求得整体黑白比例是否满足预设比例。
本实施例所述的QR码探测图形的检测方法,如图3所示,还包括如下步骤:沿第一方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回沿第一方向对QR码进行检测的步骤。
进一步地,还包括沿与所述第一方向呈45°角或负45°角的对角线方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回沿第一方向对QR码进行检测的步骤。上述检测均是为了保证快速检测的准确性而设置的。
下面结合图4进行进一步阐述。图4所示为一个完整的流程示意图,此处的第一方向可以是横向方向还可以是纵向方向。图4中首先沿第一方向对QR码进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第一线段,确定所述第一线段的中心点CJ,显然第一线段的中心点一定是探测图形在第一方向上的中心点,但是其不一定是探测图形在第二方向上的中心点。如图5所示,以第一方向检测中得到的第一线段的中心点CJ为基准位置,得到第二方向上的直线,检测该直线上是否存在黑:白:黑:白:黑的长度比例满足预设比例的第二线段,若存在则确定该第二线段的中心点CIZ。由于第二线段是以探测图形的第一方向上的中心点为基准位置所做的,因此第二线段一定是位于探测图形的第一方向中心线上的,此时选择第二线段的中心点理论上一定是探测图形的纵向上的中心同时也是探测图形的几何中心点。
本实施例中的上述方案,只是从理论上认定该第二线段的中心点CIZ是探测图形的中心点,但实际上只是在第二方向进行了验证,没有确认其第一方向是否满足黑:白:黑:白:黑的长度比例满足预设比例的条件,有可能会造成误判的现象发生。为了避免这种现象的发生,对第二线段的中心点CIZ所在沿第一方向的直线进行了再判断,判断其所在直线上是否存在黑:白:黑:白:黑的长度比例满足预设比例条件的线段。同时还加入了对角线方向检测,通过对与探测图形中心点CJZ的第一方向呈正负45°角的两条对角线进行检测是否满足黑:白:黑:白:黑的长度比例满足预设比例的条件,如果该第二线段的中心点确实是探测图形的中心点,那么一定满足上述判断条件,否则认定其不是探测图形的中心点,进一步保证了检测的准确性。在确保对QR码图像的探测图形的快速检测的同时还能一定程度上保证检测的准确性,有效降低错检率。
本实施例中设定一预设比例,该预设比例与1:1:3:1:1相比有一定的误差。本实施例中取所述预设比例为:每一段黑色部分的长度和每一段白色部分的长度与黑色部分和白色部分的总长度之比均在0.5:7-2:7的范围内。由于受成像设备的差异以及周围光照和所处的环境的影响,可能导致QR码图像的探测图形失真或者发生轻微形变等。此时严格按照黑白长度比例满足1:1:3:1:1去进行检测,难免会造成检测错误,无法正确检测出探测图形。为了应对这种情况,本实施例提供了预设比例,即当检测到有一线段呈现5处黑白相间的情况,但是比例不能严格满足1:1:3:1:1时,我们首先可以获知该线段整体所占的像素数,同时也可以获知该线段中的每一段或黑或白的线段所占的像素数,由此便可以获知每一段或黑或白的线段所占线段整体的比例,只要这一比例满足预设比例即可,便认为其符合探测图形的比例要求。例如检测到一线段呈现5处黑白相间的情况,整体像素数为210像素,其中第一部分黑色线段所占像素数为45像素,则其占整体像素的比例为0.214,由于预设比例范围为0.5:7-2:7,即0.071-0.286,因为比例0.214在预设比例范围内,故可以认定第一部分黑色线段满足比例,由此继续判定余下的每一段线段是否在预设比例范围内。
本实施例所述的QR码探测图形的检测方法,充分利用了探测图形自身的特点,即探测图形的线段黑白长度比例满足1:1:3:1:1。同时考虑到失真以及图像形变等因素,可能会导致探测图形中心部分的线段黑白长度比例不会严格满足1:1:3:1:1,设定了检测的预设比例,即检测黑:白:黑:白:黑的长度比例满足预设比例便认为满足探测图形的检测条件。预设比例的设定在保证检测的准确性的基础上还可以一定程度上消除因为失真以及轻微形变等带来的影响。
本实施例所述的QR码探测图形的检测方法,首先沿第一方向进行检测,在第一方向检测的基础上沿第二方向进行检测,检测出黑:白:黑:白:黑的长度比例满足预设比例的线段,确定探测图形的中心点,进而找出所有探测图形。探测图形的检测无需在整个QR码图像范围内进行纵向和横向的逐行遍历检测,只需在沿第一方向检测时进行逐行遍历检测即可,在检测出所述第一线段中心点后不再进行逐行的遍历检测,而是在所检测出的第一线段的中心点的基础上进行检测。极大地节省了检测的步骤,简化了检测流程,提升了运算速度,达到了对QR码图像的探测图形的快速检测。
实施例2
本实施例在实施例1的基础上进行的改进,除包括实施例1所述的步骤,还包括如下步骤:
设置沿第一方向对QR码进行检测时的检测步长,所述检测步长小于或等于QR码中单个模块在第一方向上包含的像素数。
所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,根据QR码在第一方向上包含的像素数与单个模块在第一方向上包含的像素数来获得所述检测步长。
所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,利用以下公式得到所述检测步长:
L=Max(M×N/Mod,Min),
其中M为QR码在第一方向上包含的像素数,N为调整系数且0<N≤1,Mod为预设的QR码在第一方向上包含的模块数,Min为QR码单个模块在第一方向上的像素数。
M×N/Mod为按照一定比例缩放的单个模块像素平均值,与单个模块在第一方向上的像素数进行比较,选取其中较大的一个值作为检测步长,可以减少扫描的行数。其中M×N/Mod可以是按照一定比例缩放的单个模块横向像素平均值,也可以是单个模块纵向像素平均值。但是为了能保证整体检测准确性,需要在尽可能减少扫描的行数的基础上,保证检测步长设置的合理性,所以下面结合QR码图像的版本号来进行具体阐述。
众所周知QR码图像共有40种规格,分别为版本1、版本2……版本40。版本1的规格为21模块*21模块,版本2为25模块*25模块,以此类推,每一版本符号比前一版本每边增加4个模块,直到版本40,规格为177模块*177模块。由此可见版本号越大,其横向和纵向方向上的模块数就越多,涵盖的信息量越大,QR码图像也会越大。由于在探测图形尚未检测出来时,我们无法获得所述QR码图像的真实版本号,现实中我们接触到的QR码图像一般为较低版本的,一般不会超过版本10。为了保证检测的准确性最好是将检测步长设定的较小,即模块中所述预设的QR码在第一方向上包含的模块数越少越好,此时可以使得检测步长最小。但是在保证检测的准确性的基础上,我们同时还想获得更快的检测速度,就希望将检测步长设置的尽可能大一些,这时将所述预设的QR码在第一方向上包含的模块数越多越好。所以基于以上两种考虑,本实施例中优选模块中设定所述预设的QR码在第一方向上包含的模块数Mod=57,即对应着版本号为10的情况。申请人采用上述设定对现有的QR码图像进行处理,不仅可以减少运算步骤,同时还能保证检测的准确性,处理结果的准确度达99%以上。
由于版本号10所对应的横向和纵向的模块数分别为57,对于小于版本10的QR码图像其检测步长肯定小于一个模块的长度,但是版本号大于10的则不一定,若是最终检测步长大于一个模块的长度,则有可能造成进行检测时跳过了探测图形的中心方块,导致无法检测出探测图形。为了兼顾这种情况,防止由于监测步长设定的不合理而造成的漏检现象的发生,需要设定相应数值来保证检测步长不大于一个模块的长度。在经过多次的数值验证后,本实施例优选所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,设定所述调整系数N为0.75。
本实施例所述的QR码探测图形的检测方法,其所述探测步长具体数值的设定不仅充分考虑到了不同QR码图像的版本号,还结合了不同版本号的单个模块最少像素值,保证了检测步长数值的设定的合理性和灵活性。
实施例3
本实施例提供了一种QR码探测图形的检测系统,如图6所示,包括:
第一方向检测模块:用于沿第一方向对QR码进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第一线段,确定所述第一线段的中心点;
第二方向检测模块:用于沿第二方向对经过所述第一线段的中心点的直线进行检测,得到黑:白:黑:白:黑的长度比例满足预设比例的第二线段,所述第二线段的中心点为探测图形的中心点。
本实施例的核心思想在于应用探测图形自身的特点进行探测图形的快速检测。探测图形自身的特点即每个所述的探测图形可以看作是由3个重叠的同心的正方形组成,它们分别为7*7个深色模块、5*5个浅色模块和3*3个深色模块。此处所述的模块是指QR码图像的基本信息存储单元。由于本实施例所述的QR码图像是指包含有背景以及QR码符号的图像,并且是经过了二值化处理后的,故探测图形的深色模块与浅色模块便会呈现黑色模块与白色模块的形态。同时由于图像经过了二值化的处理后,对于每一个模块内的每一个像素来说,其灰度值或者为0或者为255,而我们在判断线段比例是否满足时其实是根据像素值来判断是黑是白,最后求得整体黑白比例是否满足1:1:3:1:1。
本实施例所述的QR码探测图形的检测系统,如图7所示,还包括:
比较判断模块:用于沿第一方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回所述第一方向检测模块。
对角线方向检测模块:用于沿与所述第一方向呈45°角或负45°角的对角线方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回所述第一方向检测模块。
以上检测均是为了保证快速检测的准确性而设置的,下面结合图4进行进一步阐述。图4所示为一个完整的流程示意图,此处的第一方向指代横向方向,但是本领域技术人员应当知晓,第一方向还可以包括纵向方向。图4中首先沿第一方向对QR码进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第一线段,确定所述第一线段的中心点CJ,显然第一线段的中心点一定是探测图形在第一方向上的中心点,但是其不一定是探测图形在第二方向上的中心点。如图5所示,以第一方向检测中得到的第一线段的中心点CJ为基准位置,在第二方向进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第二线段,确定该第二线段的中心点CIZ。由于第二线段是以探测图形的第一方向上的中心点为基准位置所做的,因此第二线段一定是位于探测图形的第一方向中心线上的,此时选择第二线段的中心点理论上一定是探测图形的纵向上的中心同时也是探测图形的几何中心点。
此时我们只是从理论上认定该第二线段的中心点CIZ是探测图形的中心点,但实际上只是在第二方向进行了验证,没有确认其第一方向是否满足黑:白:黑:白:黑的长度比例满足预设比例的条件,有可能会造成误判的现象发生。为了避免这种现象的发生,对第二线段的中心点CIZ所在沿第一方向的线段进行了再判断,判断其所在线段是否满足黑:白:黑:白:黑的长度比例满足预设比例的条件。如图8所示,同时还通过对与探测图形中心点CJZ的第一方向呈正负45°角的两条对角线进行检测是否满足,如果该第二线段的中心点确实是探测图形的中心点,那么一定满足上述判断条件,否则认定其不是探测图形的中心点,进一步保证了检测的准确性。在确保对QR码图像的探测图形的快速检测的同时还能一定程度上保证检测的准确性,有效降低错检率。
本实施例中设定一预设比例,该预设比例与1:1:3:1:1相比有一定的误差。本实施例中取所述预设比例为:每一段黑色部分的长度和每一段白色部分的长度与黑色部分和白色部分的总长度之比均在0.5:7-2:7的范围内。
由于受成像设备的差异以及周围光照和所处的环境的影响,可能导致QR码图像的探测图形失真或者发生轻微形变等。此时严格按照黑白长度比例满足1:1:3:1:1去进行检测,难免会造成检测错误,无法正确检测出探测图形。为了应对这种情况,本实施例提供了预设比例,即当检测到有一线段呈现5处黑白相间的情况,但是比例不能严格满足1:1:3:1:1时,我们首先可以获知该线段整体所占的像素数,同时也可以获知该线段中的每一段或黑或白的线段所占的像素数,由此便可以获知每一段或黑或白的线段所占线段整体的比例,只要这一比例满足预设比例即可,便认为其符合探测图形的比例要求。例如检测到一线段呈现5处黑白相间的情况,整体像素数为210像素,其中第一部分黑色线段所占像素数为45像素,则其占整体像素的比例为0.214,由于预设比例范围为0.5:7-2:7,即0.071-0.286,因为比例0.214在预设比例范围内,故可以认定这段线段满足比例,由此继续判定余下的每一段线段是否在预设比例范围内。
本实施例所述的一种QR码探测图形的检测系统,充分利用了探测图形自身的特点,即探测图形的线段黑白长度比例满足1:1:3:1:1。同时考虑到失真以及图像形变等因素,可能会导致探测图形中心部分的线段黑白长度比例不会严格满足1:1:3:1:1,设定了检测的预设比例,即检测黑:白:黑:白:黑的长度比例满足预设比例便认为满足探测图形的检测条件。预设比例的设定在保证检测的准确性的基础上还可以一定程度上消除因为失真以及轻微形变等带来的影响。
本实施例所述的QR码探测图形的检测系统,首先沿第一方向进行检测,在第一方向检测的基础上沿第二方向进行检测,检测出黑:白:黑:白:黑的长度比例满足预设比例的线段,确定探测图形的中心点,进而找出所有探测图形。探测图形的检测无需在整个QR码图像范围内进行纵向和横向的逐行遍历检测,只需在沿第一方向检测时进行逐行遍历检测即可,在检测出所述第一线段中心点后不再进行逐行的遍历检测,而是在所检测出的第一线段的中心点的基础上进行检测。极大地节省了检测的步骤,简化了检测流程,提升了运算速度,达到了对QR码图像的探测图形的快速检测。
实施例4
本实施例在实施例3的基础上进行的改进,除包括实施例3所述的步骤,还包括:
检测步长设定模块:用于设置沿第一方向对QR码进行检测时的检测步长,所述检测步长小于或等于QR码中单个模块在第一方向上包含的像素数。
所述检测步长设定模块用于根据QR码在第一方向上包含的像素数与单个模块在第一方向上包含的像素数来获得所述检测步长。
所述检测步长设定模块用于利用以下公式得到所述检测步长:
L=Max(M×N/Mod,Min),
其中M为QR码在第一方向上包含的像素数,N为调整系数且0<N≤1,Mod为QR码在第一方向上包含的模块数,Min为QR码单个模块在第一方向上的像素数。
M×N/Mod为按照一定比例缩放的单个模块像素平均值,与单个模块最少像素值Min进行比较,选取其中较大的一个值作为检测步长,可以减少扫描的行数。其中M×N/Mod可以是按照一定比例缩放的单个模块横向像素平均值,也可以是单个模块纵向像素平均值。但是为了能保证整体检测准确性,需要在尽可能减少扫描的行数的基础上,保证检测步长设置的合理性,所以下面结合QR码图像的版本号来进行具体阐述。
众所周知QR码图像共有40种规格,分别为版本1、版本2……版本40。版本1的规格为21模块*21模块,版本2为25模块*25模块,以此类推,每一版本符号比前一版本每边增加4个模块,直到版本40,规格为177模块*177模块。由此可见版本号越大,其横向和纵向方向上的模块数就越多,涵盖的信息量越大,QR码图像也会越大。由于在探测图形尚未检测出来时,我们无法获得所述QR码图像的真实版本号,现实中我们接触到的QR码图像一般为较低版本的,一般不会超过版本10。为了保证检测的准确性最好是将检测步长设定的较小,即模块中所述预设的QR码在第一方向上包含的模块数越少越好,此时可以使得检测步长最小。但是在保证检测的准确性的基础上,这时将所述预设的QR码在第一方向上包含的模块数越多越好。所以基于以上两种考虑,本实施例中优选模块中设定所述预设的QR码在第一方向上包含的模块数Mod=57,即对应着版本号为10的情况。如图9所示,便是设定版本号为1的前提下快速检测到探测图形的效果图。现实中我们接触到的QR码图像一般为较低版本的,一般不会超过版本10。选择设定版本号为10,基本可以检测出我们日常生活中遇到的绝大部分的QR码图像的探测图形。申请人采用上述设定对现有的QR码图像进行处理,不仅可以减少运算步骤,同时还能保证检测的准确性,处理结果的准确度达99%以上。而本领域技术人员可以根据对运算量的要求以及对准确程度的要求对版本号i进行合理的选择。
由于版本号10所对应的横向和纵向的模块数分别为57,对于小于版本10的QR码图像其检测步长肯定小于一个模块的长度,但是版本号大于10的则不一定,若是最终检测步长大于一个模块的长度,则有可能造成进行检测时跳过了探测图形的中心方块,导致无法检测出探测图形。为了兼顾这种情况,防止由于探测步长设定的不合理而造成的漏检现象的发生,需要设定相应数值来保证检测步长不大于一个模块的长度。在经过多次的数值验证后,本实施例优选所述检测步长设定模块中设定所述调整系数N为0.75。
本实施例所述的QR码探测图形的检测系统,其所述探测步长具体数值的设定不仅充分考虑到了不同QR码图像的版本号,还结合了不同版本号的单个模块最少像素值,保证了检测步长数值的设定的合理性和灵活性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

Claims (18)

1.一种QR码探测图形的检测方法,其特征在于,包括如下步骤:
沿第一方向对QR码进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第一线段,确定所述第一线段的中心点;
沿第二方向对经过所述第一线段的中心点的直线进行检测,得到黑:白:黑:白:黑的长度比例满足预设比例的第二线段,所述第二线段的中心点为探测图形的中心点。
2.根据权利要求1所述的QR码探测图形的检测方法,其特征在于,还包括如下步骤:
沿第一方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回沿第一方向对QR码进行检测的步骤。
3.根据权利要求1或2所述的QR码探测图形的检测方法,其特征在于,还包括如下步骤:
沿与所述第一方向呈45角或负45角的对角线方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回沿第一方向对QR码进行检测的步骤。
4.根据权利要求3所述的QR码探测图形的检测方法,其特征在于,所述预设比例为:每一段黑色部分的长度和每一段白色部分的长度与黑色部分和白色部分的总长度之比均在0.5:7-2:7的范围内。
5.根据权利要求4所述的QR码探测图形的检测方法,其特征在于,还包括如下步骤:
设置沿第一方向对QR码进行检测时的检测步长,所述检测步长小于或等于QR码中单个模块在第一方向上包含的像素数。
6.根据权利要求5所述的QR码探测图形的检测方法,其特征在于,所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,根据QR码在第一方向上包含的像素数与单个模块在第一方向上包含的像素数来获得所述检测步长。
7.根据权利要求5或6所述的QR码探测图形的检测方法,其特征在于,所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,利用以下公式得到所述检测步长:
L=Max(M×N/Mod,Min),
其中M为QR码在第一方向上包含的像素数,N为调整系数且0<N≤1,Mod为预设的QR码在第一方向上包含的模块数,Min为QR码单个模块在第一方向上的像素数。
8.根据权利要求7所述的QR码探测图形的检测方法,其特征在于,所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,设定所述预设的QR码在第一方向上包含的模块数Mod=57。
9.根据权利要求8所述的QR码探测图形的检测方法,其特征在于,所述设置沿第一方向对QR码进行检测时的检测步长的步骤中,设定所述调整系数N为0.75。
10.一种QR码探测图形的检测系统,其特征在于,包括:
第一方向检测模块:用于沿第一方向对QR码进行检测,检测黑:白:黑:白:黑的长度比例满足预设比例的第一线段,确定所述第一线段的中心点;
第二方向检测模块:用于沿第二方向对经过所述第一线段的中心点的直线进行检测,得到黑:白:黑:白:黑的长度比例满足预设比例的第二线段,所述第二线段的中心点为探测图形的中心点。
11.根据权利要求10所述的QR码探测图形的检测系统,其特征在于,还包括:
比较判断模块:用于沿第一方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回所述第一方向检测模块。
12.根据权利要求10或11所述的QR码探测图形的检测系统,其特征在于,还包括:
对角线方向检测模块:用于沿与所述第一方向呈45角或负45角的对角线方向对经过所述第二线段的中心点直线进行检测,若检测到黑:白:黑:白:黑的长度比例满足预设比例的线段,则所述第二线段的中心点为探测图形的中心点,否则返回所述第一方向检测模块。
13.根据权利要求12任一所述的QR码探测图形的检测系统,其特征在于,所述预设比例为:每一段黑色部分的长度和每一段白色部分的长度与黑色部分和白色部分的总长度之比均在0.5:7-2:7的范围内。
14.根据权利要求13所述的QR码探测图形的检测系统,其特征在于,还包括:
检测步长设定模块:用于设置沿第一方向对QR码进行检测时的检测步长,所述检测步长小于或等于QR码中单个模块在第一方向上包含的像素数。
15.根据权利要求14所述的QR码探测图形的检测系统,其特征在于,所述检测步长设定模块用于根据QR码在第一方向上包含的像素数与单个模块在第一方向上包含的像素数来获得所述检测步长。
16.根据权利要求14或15所述的QR码探测图形的检测系统,其特征在于,所述检测步长设定模块用于利用以下公式得到所述检测步长:
L=Max(M×N/Mod,Min),
其中M为QR码在第一方向上包含的像素数,N为调整系数且0<N≤1,Mod为预设的QR码在第一方向上包含的模块数,Min为QR码单个模块在第一方向上的像素数。
17.根据权利要求16所述的QR码探测图形的检测系统,其特征在于,所述检测步长设定模块中设定所述预设的QR码在第一方向上包含的模块数Mod=57。
18.根据权利要求17所述的QR码探测图形的检测系统,其特征在于,所述检测步长设定模块中设定所述调整系数N为0.75。
CN201310455052.3A 2013-09-29 2013-09-29 一种qr码探测图形的检测方法及系统 Expired - Fee Related CN104517090B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310455052.3A CN104517090B (zh) 2013-09-29 2013-09-29 一种qr码探测图形的检测方法及系统
US14/102,799 US9177188B2 (en) 2013-09-29 2013-12-11 Method and system for detecting detection patterns of QR code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310455052.3A CN104517090B (zh) 2013-09-29 2013-09-29 一种qr码探测图形的检测方法及系统

Publications (2)

Publication Number Publication Date
CN104517090A CN104517090A (zh) 2015-04-15
CN104517090B true CN104517090B (zh) 2017-09-05

Family

ID=52739109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310455052.3A Expired - Fee Related CN104517090B (zh) 2013-09-29 2013-09-29 一种qr码探测图形的检测方法及系统

Country Status (2)

Country Link
US (1) US9177188B2 (zh)
CN (1) CN104517090B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117677B (zh) 2015-07-30 2017-10-31 福建联迪商用设备有限公司 一种qr码特征检测方法及系统
CN105095822B (zh) * 2015-09-07 2018-07-06 福建联迪商用设备有限公司 一种汉信码特征图形检测方法及系统
CN106372560B (zh) * 2016-08-30 2018-03-27 腾讯科技(深圳)有限公司 一种二维码探测图形的检测方法和装置、终端
CN106529636B (zh) * 2016-10-18 2019-08-13 上海觉感视觉科技有限公司 一种qr码的位置探测图形分组方法
CN107423653B (zh) * 2017-07-06 2021-06-08 上海动联信息技术股份有限公司 一种二维码预处理方法、系统及解码方法
CN112861560B (zh) * 2017-09-27 2023-12-22 创新先进技术有限公司 二维码定位方法及装置
CN109960957B (zh) 2017-12-26 2022-12-16 阿里巴巴集团控股有限公司 残缺二维码及其生成、修复和识别方法、装置及系统
CN108388825B (zh) * 2018-04-04 2021-06-08 厦门码灵半导体技术有限公司 快速反应码搜寻方法和装置
CN109785353B (zh) * 2019-01-15 2020-12-08 佛山市顺德区中山大学研究院 一种二维码的二次遍历二值化方法、装置和存储介质
CN113378595B (zh) * 2020-03-10 2023-09-22 顺丰科技有限公司 二维码定位方法、装置、设备及存储介质
CN113705270B (zh) * 2021-11-01 2022-02-18 深圳思谋信息科技有限公司 识别二维码定位码区的方法、装置、设备和存储介质
CN113822092B (zh) * 2021-11-25 2022-03-15 北京紫光青藤微系统有限公司 用于定位位置探测图形的方法及装置、电子设备、介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059834A (zh) * 2007-05-31 2007-10-24 中国农业大学 基于聊天用摄像头的qr二维条码识读方法
CN101930532A (zh) * 2010-10-29 2010-12-29 福州中路网络技术开发有限公司 基于手机摄像头快速响应矩阵码识读方法
CN102231187A (zh) * 2011-07-12 2011-11-02 四川大学 一种基于计算机视觉检测技术的qr码检测识别方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088482A (en) * 1998-10-22 2000-07-11 Symbol Technologies, Inc. Techniques for reading two dimensional code, including maxicode
JP2003248792A (ja) * 2002-02-22 2003-09-05 Seiko Epson Corp 2次元コードのデコード方法、2次元コードのデコード装置、コンピュータに2次元コードのデコード方法を実行させるためのプログラム、このプログラムを記録した記録媒体
JP4301775B2 (ja) * 2002-07-18 2009-07-22 シャープ株式会社 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体
CN100347714C (zh) * 2004-09-07 2007-11-07 佳能株式会社 用于定位二维条形码的方法和设备
US7546950B2 (en) * 2006-03-28 2009-06-16 Seiko Epson Corporation Method and apparatus for locating and decoding a two-dimensional machine-readable symbol
JP4442624B2 (ja) * 2006-06-22 2010-03-31 株式会社デンソーウェーブ 光学情報読取装置
US7886978B2 (en) * 2007-09-20 2011-02-15 Microsoft Corporation Techniques for decoding images of barcodes
JP4539701B2 (ja) * 2007-09-26 2010-09-08 富士ゼロックス株式会社 コード読取装置、及びコード読取プログラム
US9355293B2 (en) * 2008-12-22 2016-05-31 Canon Kabushiki Kaisha Code detection and decoding system
JP5362058B2 (ja) * 2011-05-17 2013-12-11 東芝テック株式会社 コード読取装置及びプログラム
US10565483B2 (en) * 2012-08-31 2020-02-18 International Business Machines Corporation Two-dimensional barcode to avoid unintentional scanning
CN102880850B (zh) * 2012-09-19 2015-08-19 腾讯科技(深圳)有限公司 一种二维码批量扫描的方法及扫描设备
US20140158753A1 (en) * 2012-12-10 2014-06-12 Kerry P. Sisselman System and method for obtaining information electronically using a coded indicium associated with a recipe
US20140231523A1 (en) * 2013-02-15 2014-08-21 Samsung Electronics Co., Ltd. Electronic device capable of recognizing object

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059834A (zh) * 2007-05-31 2007-10-24 中国农业大学 基于聊天用摄像头的qr二维条码识读方法
CN101930532A (zh) * 2010-10-29 2010-12-29 福州中路网络技术开发有限公司 基于手机摄像头快速响应矩阵码识读方法
CN102231187A (zh) * 2011-07-12 2011-11-02 四川大学 一种基于计算机视觉检测技术的qr码检测识别方法

Also Published As

Publication number Publication date
US20150090795A1 (en) 2015-04-02
CN104517090A (zh) 2015-04-15
US9177188B2 (en) 2015-11-03

Similar Documents

Publication Publication Date Title
CN104517090B (zh) 一种qr码探测图形的检测方法及系统
US7813553B2 (en) Image region detection method, recording medium, and device therefor
RU2678485C1 (ru) Способ сегментации и распознавания символов
US9607199B2 (en) Decoding machine-readable optical codes with aesthetic component
RU2601185C2 (ru) Способ, система и компьютерный носитель данных для детектирования лица
US9892300B2 (en) Two-dimensional code
US8640957B2 (en) Method and apparatus for locating bar codes including QR codes
CN107729790A (zh) 二维码定位方法及装置
JP2004234318A (ja) 二次元情報コード、二次元情報コードの表示方法、二次元情報コードの生成方法、二次元情報コードの読取方法
CN102279926A (zh) 光学字符识别中的技术
CN103034831A (zh) 线性条码识别方法和系统
CN103336938B (zh) 一种基于一维条形码图像的识别方法
US20070140564A1 (en) 2-Dimensional code region extraction method, 2-dimensional code region extraction device, electronic device, 2-dimensional code region extraction program, and recording medium containing the program
CN104284053A (zh) 倾斜角度校正装置、图像读取装置、图像形成装置及程序
CN109738450A (zh) 笔记本键盘的检测方法和装置
JP5412465B2 (ja) 画像処理装置
CN104641381B (zh) 用于检测圆形标签中的2d条形码的方法和系统
CN105590112B (zh) 一种图像识别中倾斜文字判断方法
JP2015040827A (ja) 欠陥判定装置および欠陥判定方法
JP2012194831A (ja) コード読取装置、コード読取方法およびコード読取プログラム
CN104103069A (zh) 图像处理装置、图像处理方法及程序
JP2015191531A (ja) 2次元コードの空間位置の決定方法及びそのための装置
JP4978287B2 (ja) 電子機器、2次元コード認識方法、プログラム及び2次元コード
Li et al. Stereo matching based on multi-scale fusion and multi-type support regions
JP2017102841A (ja) 二次元コード、二次元コードの解析方法、二次元コードの解析装置及び二次元コードを解析するプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170905

Termination date: 20180929