CN113496134A - 二维码定位方法、装置、设备及存储介质 - Google Patents
二维码定位方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113496134A CN113496134A CN202010268866.6A CN202010268866A CN113496134A CN 113496134 A CN113496134 A CN 113496134A CN 202010268866 A CN202010268866 A CN 202010268866A CN 113496134 A CN113496134 A CN 113496134A
- Authority
- CN
- China
- Prior art keywords
- point
- positioning
- target
- positioning point
- dimensional code
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000001514 detection method Methods 0.000 claims abstract description 55
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 19
- 230000002093 peripheral effect Effects 0.000 description 7
- 239000000523 sample Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000007547 defect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种二维码定位方法、装置、设备及存储介质。该二维码定位方法包括:获取待定位二维码的第一定位点和第二定位点;检测所述第一定位点和所述第二定位点的位置关系,其中,所述位置关系是指在所述待定位二维码图像中,所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系;根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点。本申请实施例中在QR码的一个探测图被遮挡情况下,可以定位出QR码被遮挡的探测图的中心点坐标,进而实现正常识别QR码。
Description
技术领域
本申请实施例涉及图像处理技术领域,具体涉及一种二维码定位方法、装置、设备及存储介质。
背景技术
随着互联网技术的快速发展,二维码在快递物流、移动支付、沟通交流中起到了越来越重要的作用。
为了解析出二维码的信息,通常需要对二维码进行识别定位。QR码(QuickResponse Code,快速响应矩阵码)是二维码中的一种,在正常情况下,基于现有的扫码库可以正常扫描并识别QR码。然而,在因QR码污损、遮挡、部分残缺等情况而导致QR码的探测图被遮挡时,基于现有的扫码库无法正常定位出QR码的定位点,也就无法正常识别QR码。
发明内容
本申请实施例提供一种二维码定位方法、装置、设备及存储介质,在QR码的一个探测图被遮挡情况下,可以定位出QR码被遮挡的探测图的中心点坐标,进而实现正常识别QR码。
第一方面,本申请实施例提供一种二维码定位方法,所述方法包括:
获取待定位二维码的第一定位点和第二定位点;
检测所述第一定位点和所述第二定位点的位置关系,其中,所述位置关系是指在所述待定位二维码图像中,所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系;
根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述检测所述第一定位点和所述第二定位点的位置关系,包括:
根据所述第一定位点和所述第二定位点,确定第一像素点长度和第二像素点长度,其中,所述第一像素点长度是指目标线段上从所述第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,所述目标线段是指所述第一定位点和所述第二定位点之间的线段,所述第二像素点长度是指目标射线上从所述第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,所述目标射线是指以所述第一定位点为起点,且与所述目标线段呈45度角的射线;
根据所述第一像素点长度和所述第二像素点长度的大小关系,确定所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系。
在本申请的一些实施例中,所述根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点,包括:
获取所述第一定位点与所述第二定位点的目标间距;
若所述第一定位点与所述第二定位点为相邻关系,则获取第一目标像素点,其中,所述第一目标像素点是指和所述第一定位点间构成的线段与目标线段垂直、且与所述第一定位点的间距等于所述目标间距的像素点,以及和所述第二定位点间构成的线段与所述目标线段垂直、且与所述第二定位点的间距等于所述目标间距的像素点,所述目标线段是指所述第一定位点和所述第二定位点之间的线段;
根据所述第一目标像素点周边的黑色像素点数,从所述第一目标像素点中,获取所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述根据所述第一目标像素点周边的黑色像素点数,从所述第一目标像素点中,获取所述待定位二维码的第三定位点,包括:
获取所述第一目标像素点对应的第一圆,并检测所述第一圆内的黑色像素点数,其中,所述第一圆是指以所述第一目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度;
从所述第一目标像素点中,获取所述待定位二维码的第三定位点,其中,所述第三定位点是指目标第一圆的圆心所在的像素点,所述目标第一圆是指所述第一圆中,具有黑色像素点数最多的圆。
在本申请的一些实施例中,所述根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点,包括:
获取所述第一定位点与所述第二定位点的目标间距;
若所述第一定位点与所述第二定位点为对角关系,则获取第二目标像素点,其中,所述第二目标像素点是指和目标线段的中心点间构成的线段与所述目标线段垂直、且与所述目标线段的间距等于所述目标间距一半的像素点,所述目标线段是指所述第一定位点和所述第二定位点之间的线段;
根据所述第二目标像素点周边的黑色像素点数,从所述第二目标像素点中,获取所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述根据所述第二目标像素点周边的黑色像素点数,从所述第二目标像素点中,获取所述待定位二维码的第三定位点,包括:
获取所述第二目标像素点对应的第二圆,并检测所述第二圆内的黑色像素点数,其中,所述第二圆是指以所述第二目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度;
从所述第二目标像素点中,获取所述待定位二维码的第三定位点,其中,所述第三定位点是指目标第二圆的圆心所在的像素点,所述目标第二圆是指所述第二圆中,具有黑色像素点数最多的圆。
在本申请的一些实施例中,所述方法还包括:
根据所述第一定位点的坐标、所述第二定位点的坐标和所述第三定位点的坐标,解析所述待定位二维码。
第二方面,本申请实施例提供一种二维码定位装置,所述二维码定位装置包括:
获取单元,用于获取待定位二维码的第一定位点和第二定位点;
检测单元,用于检测所述获取单元获取的所述第一定位点和所述第二定位点的位置关系,其中,所述位置关系是指在所述待定位二维码图像中,所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系;
定位单元,用于根据所述检测单元检测的所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述检测单元具体还用于:
根据所述第一定位点和所述第二定位点,确定第一像素点长度和第二像素点长度,其中,所述第一像素点长度是指目标线段上从所述第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,所述目标线段是指所述第一定位点和所述第二定位点之间的线段,所述第二像素点长度是指目标射线上从所述第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,所述目标射线是指以所述第一定位点为起点,且与所述目标线段呈45度角的射线;
根据所述第一像素点长度和所述第二像素点长度的大小关系,确定所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系。
在本申请的一些实施例中,所述定位单元具体还用于:
获取所述第一定位点与所述第二定位点的目标间距;
若所述第一定位点与所述第二定位点为相邻关系,则获取第一目标像素点,其中,所述第一目标像素点是指和所述第一定位点间构成的线段与目标线段垂直、且与所述第一定位点的间距等于所述目标间距的像素点,以及和所述第二定位点间构成的线段与所述目标线段垂直、且与所述第二定位点的间距等于所述目标间距的像素点,所述目标线段是指所述第一定位点和所述第二定位点之间的线段;
根据所述第一目标像素点周边的黑色像素点数,从所述第一目标像素点中,获取所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述定位单元具体还用于:
获取所述第一目标像素点对应的第一圆,并检测所述第一圆内的黑色像素点数,其中,所述第一圆是指以所述第一目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度;
从所述第一目标像素点中,获取所述待定位二维码的第三定位点,其中,所述第三定位点是指目标第一圆的圆心所在的像素点,所述目标第一圆是指所述第一圆中,具有黑色像素点数最多的圆。
在本申请的一些实施例中,所述定位单元具体还用于:
获取所述第一定位点与所述第二定位点的目标间距;
若所述第一定位点与所述第二定位点为对角关系,则获取第二目标像素点,其中,所述第二目标像素点是指和目标线段的中心点间构成的线段与所述目标线段垂直、且与所述目标线段的间距等于所述目标间距一半的像素点,所述目标线段是指所述第一定位点和所述第二定位点之间的线段;
根据所述第二目标像素点周边的黑色像素点数,从所述第二目标像素点中,获取所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述定位单元具体还用于:
获取所述第二目标像素点对应的第二圆,并检测所述第二圆内的黑色像素点数,其中,所述第二圆是指以所述第二目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度;
从所述第二目标像素点中,获取所述待定位二维码的第三定位点,其中,所述第三定位点是指目标第二圆的圆心所在的像素点,所述目标第二圆是指所述第二圆中,具有黑色像素点数最多的圆。
在本申请的一些实施例中,所述二维码定位装置还包括解析单元,所述解析单元具体用于:
根据所述第一定位点的坐标、所述第二定位点的坐标和所述第三定位点的坐标,解析所述待定位二维码。
第三方面,本申请实施例还提供一种二维码定位设备,所述二维码定位设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行本申请实施例提供的任一种二维码定位方法中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行所述的二维码定位方法中的步骤。
本申请实施例通过获取待定位二维码中能被正常识别的两个定位点(即第一定位点和第二定位),然后根据第一定位点和第二定位的位置关系获取目标像素点,并根据目标像素点周边的黑色像素点数,从目标像素点中获取具有周边的黑色像素点数最大的像素点,作为待定位二维码的第三定位点。
一方面,实现了对待定位二维码的探测图的定位。
另一方面,由于无需判定探测图(“回”)在横、竖、斜三个方向上是否满足黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1,因此在QR码的一个探测图被遮挡情况下,可以定位出QR码被遮挡的探测图的中心点坐标,进而实现正常识别QR码。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的QR码的一种示意图;
图2是本申请实施例提供的二维码“回”字形在横、竖、斜方向上的特性的场景示意图;
图3是本申请实施例提供的QR码探测图残缺的一种示意图;
图4是本申请实施例中提供的二维码定位方法的一种实施例流程示意图;
图5是本申请实施例提供的第一定位点和第二定位点的位置关系示意图;
图6(a)是本申请实施例中提供的目标线段的场景示意图;
图6(b)是本申请实施例中提供的目标射线的场景示意图;
图7(a)是以第一定位点为原点建立直角坐标系的场景示意图;
图7(b)是本申请实施例中第一像素点长度的场景示意图;
图7(c)是本申请实施例中第二像素点长度的场景示意图;
图8是本申请实施例中第一目标像素点和第二目标像素点的场景示意图;
图9是本申请实施例中提供的二维码定位装置的一个实施例结构示意图;
图10是本申请实施例中提供的二维码定位设备的一个实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的过程进行详细阐述,以避免不必要的细节使本申请实施例的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请实施例所公开的原理和特征的最广范围相一致。
首先,在介绍本申请实施例之前,先介绍下本申请实施例关于应用背景的相关内容。
二维码中会存在定位点,例如,DM(DataMatrix,数据矩阵)码以“L”边作为定位点,QR码以三个“回”字形(本申请实施例中又称为探测图)作为定位点。如图1所示,图1是本申请实施例提供的QR码的一种示意图。
在通常情况下,需要先检测出二维码的定位点,才能正常识别二维码。例如,需要先定位出QR码的三个“回”字形的中心点,才能正常解析QR码的信息。
在QR码“回”字形上的像素点,存在以下特性:
1、经过“回”字形的中心点的横方向直线上的像素点,满足黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1,如图2(a)所示。
2、经过“回”字形的中心点的竖方向直线上的像素点,满足黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1,如图2(b)所示。
3、经过“回”字形的中心点的斜方向直线上的像素点,满足黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1,如图2(c)所示。
现有技术中,主要是检测出像素点是否满足以上3个特性,从而定位出“回”字形。当QR码出现污损、遮挡、部分残缺等情况而导致QR码的探测图被遮挡时,不再能检测出完全满足以上3个特性的像素点。因此,当QR码的探测图被遮挡时,会影响到“回”字形的检测,进而影响到QR码的正常解析。如图3所示,图3是本申请实施例提供的QR码探测图残缺的一种示意图。
基于现有的相关技术存在的上述缺陷,本申请实施例提供了二维码定位方法,在QR码的一个探测图被遮挡情况下,可以定位出QR码被遮挡的探测图的中心点坐标,进而实现正常识别QR码,至少在一定程度上克服现有的相关技术所存在的缺陷。
本申请实施例二维码定位方法的执行主体可以为本申请实施例提供的二维码定位装置,或者集成了该二维码定位装置的服务器设备、物理主机或者用户设备(UserEquipment,UE)等不同类型的二维码定位设备,其中,二维码定位装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、掌上电脑、台式电脑或者个人数字助理(Personal Digital Assistant,PDA)等终端设备。
该二维码定位设备可以采用单独运行的工作方式,或者也可以采用设备集群的工作方式,通过应用本申请实施例提供的二维码定位方法,在QR码的一个探测图被遮挡情况下,可以定位出QR码被遮挡的探测图的中心点坐标,进而实现正常识别QR码。
下面,开始介绍本申请实施例提供的二维码定位方法,本申请实施例中以二维码定位设备作为执行主体,为了简化与便于描述,后续方法实施例中将省略该执行主体,该二维码定位方法包括:获取待定位二维码的第一定位点和第二定位点;检测所述第一定位点和所述第二定位点的位置关系;根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点。
参照图4,图4为本申请实施例提供的二维码定位方法的一种流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该二维码定位方法包括步骤S10~S30,其中:
S10、获取待定位二维码的第一定位点和第二定位点。
其中,待定位二维码探测图的中心点即为本申请实施例中所描述的定位点。本申请实施例中的第一定位点和第二定位点是指待定位二维码中已经检测出来的两个探测图的定位点(一个探测图的定位点对应一个探测图的中心点)。
第一定位点和第二定位点是相对而言,两个定位点中一个定位点为第一定位点,则另一个定位点为第二定位点。如图5(a)和(c)所示,图5(a)中两个矩形虚线内分别为检测到的两个定位点的探测图,图5(a)中若以左上方的探测图的中心点作为第一定位点,则以左下方的探测图的中心点作为第二定位点;图5(a)中若以左上方的探测图的中心点作为第二定位点,则以左下方的探测图的中心点作为第一定位点。
图5(c)中两个矩形虚线内分别为检测到的两个定位点的探测图,图5(c)中若以右上方的探测图的中心点作为第一定位点,则以左下方的探测图的中心点作为第二定位点;图5(c)中若以右上方的探测图的中心点作为第二定位点,则以左下方的探测图的中心点作为第一定位点。
在本申请的一些实施例中,通过现有的探测图定位的检测方式检测出待定位二维码的两个定位点(即第一定位点和第二定位点)。
S20、检测所述第一定位点和所述第二定位点的位置关系。
其中,位置关系是指在待定位二维码图像中,第一定位点与第二定位点为相邻关系,或第一定位点与第二定位点为对角关系。
如图5所示,图5是本申请实施例提供的第一定位点和第二定位点的位置关系示意图。其中,图5(a)和(b)是第一定位点和第二定位点为相邻关系的示意图,图5(c)是第一定位点和第二定位点为对角关系的示意图;第一定位点对应的探测图的中心点即为第一定位点,第二定位点对应的探测图的中心点即为第二定位点。
具体地,在本申请的一些实施例中,步骤S20具体包括以下步骤S21~S22,其中:
S21、根据所述第一定位点和所述第二定位点,确定第一像素点长度和第二像素点长度。
其中,第一像素点长度是指目标线段上从第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,目标线段是指第一定位点和第二定位点之间的线段,第二像素点长度是指目标射线上从第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,目标射线是指以第一定位点为起点,且与目标线段呈45度角的射线。
具体地,首先,将第一定位点和第二定位点之间的线段作为目标线段。为了方便理解,请参照图6(a),图6(a)是本申请实施例中提供的目标线段的场景示意图。
然后,一方面,在待定位二维码的二值化图像中,以第一定位点为起点,统计目标线段上连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,作为第一像素点长度。
另一方面,找出以第一定位点为起点、且与目标线段呈45度角的射线,作为目标射线。并在待定位二维码的二值化图像中,以第一定位点为起点,统计目标射线上连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,作为第二像素点长度。其中,第一定位点为起点、且与目标线段呈45度角的射线可能存在两种情况,如图6(b)所示,取其中一种情况下的射线作为目标射线即可,图6(b)是本申请实施例中提供的目标射线的场景示意图。
为了方便理解如何确定第一像素点长度和第二像素点长度,以下通过一具体例子进行说明。
例如,首先,将第一定位点和第二定位点之间的线段作为目标线段,并以第一定位点为原点、目标线段作为横轴(第一定位点指向第二定位点的方向作为横轴方向)、并以一个像素点距离作为一个单位坐标(或者以多个像素点距离作为一个单位坐标,可根据具体需求而设置单位坐标的长度),建立直角坐标系。如图7(a)所示,图7(a)是以第一定位点为原点建立直角坐标系的场景示意图。
然后,一方面,统计目标线段上以第一定位点起、朝第二定位点方向上,依次连续的黑色像素点的个数、连续的白色像素点个数、连续的黑色像素点的个数;并将依次连续的黑色像素点的个数、连续的白色像素点个数与连续的黑色像素点的个数之和,作为第一像素点长度。如图7(b)所示,图7(b)是本申请实施例中第一像素点长度的场景示意图。
具体地,统计坐标值为(0,0),(1,0),..(0+n,0)的像素点的个数,直至依次连续的黑色像素点、连续的白色像素点、连续的黑色像素点的个数统计完毕,将统计到的像素点个数作为第一像素点长度。其中n为正数,(0,0)表示第一定位点的坐标。
另一方面,找出以第一定位点为起点、且与目标线段成45度角的射线(例如,呈正45度角的射线),作为目标射线。并统计目标射线上以第一定位点起、朝第二定位点方向上,依次连续的黑色像素点的个数、连续的白色像素点个数、连续的黑色像素点的个数;并将依次连续的黑色像素点的个数、连续的白色像素点个数与连续的黑色像素点的个数之和,作为第二像素点长度。如图7(c)所示,图7(c)是本申请实施例中第二像素点长度的场景示意图。
具体地,统计坐标值为(0,0),(1,1),..(0+n,0+n)的像素点的个数,直至依次连续的黑色像素点、连续的白色像素点、连续的黑色像素点的个数统计完毕,将统计到的像素点个数作为第二像素点长度。其中n为正数,(0,0)表示第一定位点的坐标。
S22、根据所述第一像素点长度和所述第二像素点长度的大小关系,确定所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系。
具体地,若第一像素点长度小于第二像素点长度,则确定第一定位点与第二定位点为相邻关系。
若第一像素点长度大于第二像素点长度,则确定第一定位点与第二定位点为对角关系。
由于当第一像素点长度大于第二像素点长度时,第一定位点和第二定位点只可能为对角关系;当第一像素点长度小于第二像素点长度时,第一定位点和第二定位点只可能为相邻关系。
在本申请实施例中,通过根据目标线段(即第一定位点和第二定位点构成的线段)上从第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和(即第一像素点长度),与目标射线(即与目标线段呈45度角的射线)上从第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和(即第二像素点长度)的大小关系,确定第一定位点与第二定位点为相邻关系或对角关系,实现了精准地确定第一定位点和第二定位点的位置关系,为后续确定待定位二维码的第三定位点提供了精准的数据依据。
S30、根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点。
具体地,首先,若第一定位点与第二定位点为相邻关系,则根据以下步骤A1~A2获取目标像素点。若第一定位点与第二定位点为对角关系,则根据以下步骤B1~B2获取目标像素点。
然后,获取目标像素点周边的黑色像素点数(如以目标像素点为圆心、特定半径r为圆的圆内的黑色像素点数,或者以目标像素点为中心点、特定尺寸矩形内的黑色像素点数,等等)。
最后,从目标像素点中,获取具有周边的黑色像素点数最大的目标像素点,作为待定位二维码的第三定位点。
在本申请实施例中,通过获取待定位二维码中能被正常识别的两个定位点(即第一定位点和第二定位),然后根据第一定位点和第二定位的位置关系获取目标像素点,并根据目标像素点周边的黑色像素点数,从目标像素点中获取具有周边的黑色像素点数最大的像素点,作为待定位二维码的第三定位点。
一方面,实现了对待定位二维码的探测图的定位。
另一方面,由于无需判定探测图(“回”)在横、竖、斜三个方向上是否满足黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1,因此在QR码的一个探测图被遮挡情况下,可以定位出QR码被遮挡的探测图的中心点坐标,进而实现正常识别QR码。
在本申请的一些实施例中,步骤S30具体包括以下步骤A1~A3,其中:
A1、获取所述第一定位点与所述第二定位点的目标间距。
其中,目标间距是指目标线段的长度,即第一定位点和第二定位点之间的间距。
具体地,根据第一定位点的坐标、第二定位点的坐标,以及以下公式(1)可以计算出第一定位点与第二定位点的目标间距,其中公式为:
其中,D表示第一定位点与第二定位点的目标间距,(x1,y1)表示第一定位点的坐标,(x2,y2)表示第二定位点的坐标。
A2、若所述第一定位点与所述第二定位点为相邻关系,则获取第一目标像素点。
其中,第一目标像素点是指和第一定位点间构成的线段与目标线段垂直、且与第一定位点的间距等于目标间距的像素点,以及和与第二定位点间构成的线段与目标线段垂直、且与第二定位点的间距等于目标间距的像素点,目标线段是指第一定位点和第二定位点之间的线段。
具体地,首先,从待定位二维码的二值化图像的所有像素点中,筛选出和第一定位点间构成的线段与目标线段垂直的所有像素点,以及和第二定位点间构成的线段与目标线段垂直的所有像素点。
然后,从筛选出的像素点中,获取与第一定位点的间距等于目标间距的像素点、以及与第二定位点的间距等于目标间距的像素点,作为第一目标像素点。
可以理解的是,也可以先从待定位二维码的二值化图像的所有像素点中,筛选出与第一定位点的间距等于目标间距的所有像素点、以及与第二定位点的间距等于目标间距的所有像素点。再从筛选出的像素点中,获取和第一定位点间构成的线段与目标线段垂直的像素点,以及和第二定位点间构成的线段与目标线段垂直的像素点,作为第一目标像素点。
其中,第一目标像素点可以是多个。
为了方便理解如何获取第一目标像素点,请参照图8(a),图8(a)是本申请实施例中第一目标像素点的场景示意图。其中,D表示目标间距,(x1,y1)表示第一定位点的坐标,(x2,y2)表示第二定位点的坐标。a点、c点分别是和第一定位点间构成的线段与目标线段垂直、且与第一定位点的间距等于目标间距的像素点。b点、d点分别是和第二定位点间构成的线段与目标线段垂直、且与第二定位点的间距等于目标间距的像素点。
A3、根据所述第一目标像素点周边的黑色像素点数,从所述第一目标像素点中,获取所述待定位二维码的第三定位点。
作为步骤A3的一种实施方式,与以下步骤A31~步骤A32的具体实施方式相同,在此不再赘述。
作为步骤A3的另一种实施方式,也可以参照步骤A31~步骤A32的具体实施方式,不同的是,在获取第一圆时,圆的半径r除了可以是:目标线段上从第一定位点起连续的黑色像素点长度外,还可以是:目标线段上从第一定位点起连续的黑色像素点、连续的白色像素点的长度。
或者是:目标线段上从第一定位点起连续的黑色像素点、连续的白色像素点、连续的黑色像素点的长度。
或者是:目标射线上从第一定位点起连续的黑色像素点长度。
或者是:目标射线上从第一定位点起连续的黑色像素点、连续的白色像素点的长度;等等。
其中,获取第一圆并检测第一圆内的黑色像素点的个数,从而从第一目标像素点中获取待定位二维码的第三定位点;其主要设计思想在于:探测图内的黑色像素点较多;因此第一目标像素点特定范围内黑色像素点最多的,该第一目标像素点为待定位二维码的第三定位点的可能性最大。
由此可见,除了可以通过设定圆来确定第一目标像素点特定范围的黑色像素点数外,也可以通过设定矩形、三角形等方式来确定第一目标像素点特定范围的黑色像素点数,进而从第一目标像素点中查找出待定位二维码的第三定位点。
在本申请实施例中,通过获取和第一定位点间构成的线段与目标线段垂直、且与第一定位点的间距等于目标间距的像素点,以及和与第二定位点间构成的线段与目标线段垂直、且与第二定位点的间距等于目标间距的像素点,作为第一目标像素点。再从第一目标像素点中,获取具有周边的黑色像素点数的像素点,作为待定位二维码的第三定位点。
一方面,实现了在第一定位点和第二定位为相邻关系时,第三定位点的确定。同时由于相对于待定位二维码其他位置,探测图内的黑色像素点相对较多,通过从第一目标像素点中获取具有周边的黑色像素点数的像素点作为第三定位点,提高了所确定的第三定位点的精确度。
另一方面,由于第三定位点与已知的两定位点中一者的间距与目标间距必定相等、且第三定位点和已知的两定位点中一者构成的线段与目标线段必定垂直,因此保证了所获取的第一目标像素点中必定包含第三定位点,提高了所确定的第三定位点的精确度。
在本申请的一些实施例中,步骤A3具体包括以下步骤A31~A32,其中:
A31、获取所述第一目标像素点对应的第一圆,并检测所述第一圆内的黑色像素点数。
其中,第一圆是指以第一目标像素点为圆心、r为半径的圆,r是指目标线段上从第一定位点起连续的黑色像素点长度。
为了方便理解,请继续参照图8(a)。
具体地,首先,从待定位二维码的二值化图像中,统计目标线段上从第一定位点起连续的黑色像素点的个数,作为目标线段上从第一定位点起连续的黑色像素点长度。
然后,在待定位二维码的二值化图像中,以第一目标像素点为圆心、目标线段上从第一定位点起连续的黑色像素点长度作为半径r,所确定的圆作为第一圆。
同时,统计第一圆内的黑色像素点的个数。
例如,图8(a)中,a点、b点、c点、d点均是第一目标像素点。分别以a点为圆心、目标线段上从第一定位点起连续的黑色像素点长度作为半径r作圆,以b点为圆心、目标线段上从第一定位点起连续的黑色像素点长度作为半径r作圆,以c点为圆心、目标线段上从第一定位点起连续的黑色像素点长度作为半径r作圆,以d点为圆心、目标线段上从第一定位点起连续的黑色像素点长度作为半径r作圆,得到四个第一圆。
A32、从所述第一目标像素点中,获取所述待定位二维码的第三定位点。
其中,第三定位点是指目标第一圆的圆心所在的像素点,目标第一圆是指所述第一圆中,具有黑色像素点数最多的圆。
具体地,首先,从第一圆中,查找出具有黑色像素点数最多的圆,作为目标第一圆。然后,获取目标第一圆的圆心所在的像素点(即目标第一圆对应的第一目标像素点),作为待定位二维码的第三定位点。至此,完成对被遮挡的探测图的中心点(即被遮挡的探测图的定位点)的检测。
为方便理解,接以上步骤A31的例子继续说明。例如,以a点为圆心的第一圆黑色像素点数为500、以b点为圆心的第一圆黑色像素点数为300、以c点为圆心的第一圆黑色像素点数为250、以d点为圆心的第一圆黑色像素点数为275。则以具有黑色像素点数最多的第一圆(以a点为圆心的圆),作为目标第一圆
并以目标第一圆(以a点为圆心的圆)的圆心所在的像素点(即a点),作为待定位二维码的第三定位点。
由于以第三定位点为圆心、目标线段上从第一定位点起连续的黑色像素点长度为半径作圆,可以保证所作圆落在探测图中心区域(该区域内几乎为黑色像素点)。
在本申请实施例中,通过限定第一目标像素点周边的黑色像素点数为:以第一目标像素点为圆心、目标线段上从第一定位点起连续的黑色像素点长度为半径的圆内的黑色像素点数,提高了黑色像素点数最多的圆对应的圆心为第三定位点的可能性,进而提高了第三定位点的精确度。
在本申请的一些实施例中,步骤S30具体包括以下步骤B1~B3,其中:
B1、获取所述第一定位点与所述第二定位点的目标间距;
具体地,步骤B1中“获取第一定位点与第二定位点的目标间距”的具体实施方式,可以参照步骤A1中“获取第一定位点与第二定位点的目标间距”的具体实施方式,在此不再赘述。
B2、若所述第一定位点与所述第二定位点为对角关系,则获取第二目标像素点。
其中,第二目标像素点是指和目标线段的中心点间构成的线段与目标线段垂直、且与目标线段的间距等于目标间距一半的像素点,目标线段是指第一定位点和第二定位点之间的线段。
具体地,首先,从待定位二维码的二值化图像的所有像素点中,筛选出和目标线段的中心点间构成的线段与所述目标线段垂直的所有像素点。
然后,从筛选出的像素点中,获取与目标线段的间距等于目标间距一半的像素点,作为第二目标像素点。
可以理解的是,也可以先从待定位二维码的二值化图像的所有像素点中,筛选出与所述目标线段的间距等于所述目标间距一半的所有像素点。再从筛选出的像素点中,获取和目标线段的中心点间构成的线段与所述目标线段垂直的像素点,作为第二目标像素点。
为了方便理解如何获取第二目标像素点,请参照图8(b),图8(b)是本申请实施例中第二目标像素点的场景示意图。其中,D表示目标间距。e点、f点分别是和目标线段的中心点间构成的线段与目标线段垂直、且与目标线段的间距等于目标间距一半的像素点。
B3、根据所述第二目标像素点周边的黑色像素点数,从所述第二目标像素点中,获取所述待定位二维码的第三定位点。
作为步骤B3的一种实施方式,与以下步骤B31~步骤B32的具体实施方式相同,在此不再赘述。
作为步骤B3的另一种实施方式,也可以参照步骤B31~步骤B32的具体实施方式,不同的是,在获取第二圆时,圆的半径r除了可以是:目标线段上从第一定位点起连续的黑色像素点长度外,还可以是:目标线段上从第一定位点起连续的黑色像素点、连续的白色像素点的长度。
或者是:目标线段上从第一定位点起连续的黑色像素点、连续的白色像素点、连续的黑色像素点的长度。
或者是:目标射线上从第一定位点起连续的黑色像素点长度。
或者是:目标射线上从第一定位点起连续的黑色像素点、连续的白色像素点的长度;等等。
其中,获取第二圆并检测第二圆内的黑色像素点的个数,从而从第二目标像素点中获取待定位二维码的第三定位点;其主要设计思想在于:探测图内的黑色像素点较多;因此第二目标像素点特定范围内黑色像素点最多的,该第二目标像素点为待定位二维码的第三定位点的可能性最大。
由此可见,除了可以通过设定圆来确定第二目标像素点特定范围的黑色像素点数外,也可以通过设定矩形、三角形等方式来确定第二目标像素点特定范围的黑色像素点数,进而从第二目标像素点中查找出待定位二维码的第三定位点。
在本申请实施例中,通过获取和目标线段的中心点间构成的线段与目标线段垂直、且与目标线段的间距等于目标间距一半的像素点,作为第二目标像素点。再从第二目标像素点中,获取具有周边的黑色像素点数的像素点,作为待定位二维码的第三定位点。
一方面,实现了在第一定位点和第二定位为对角关系时,第三定位点的确定。同时由于相对于待定位二维码其他位置,探测图内的黑色像素点相对较多,通过从第二目标像素点中获取具有周边的黑色像素点数的像素点作为第三定位点,提高了所确定的第三定位点的精确度。
另一方面,由于第三定位点与和目标线段的中心点间构成的线段与目标线段必定垂直、且与目标线段的间距必定等于目标间距一半的像素点,因此保证了所获取的第二目标像素点中必定包含第三定位点,提高了所确定的第三定位点的精确度。
在本申请的一些实施例中,步骤B3具体包括以下步骤B31~B32,其中:
B31、获取所述第二目标像素点对应的第二圆,并检测所述第二圆内的黑色像素点数。
其中,所述第二圆是指以所述第二目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度。
为了方便理解,请继续参照图8(b)。
具体地,首先,从待定位二维码的二值化图像中,统计目标线段上从第一定位点起连续的黑色像素点的个数,作为目标线段上从第一定位点起连续的黑色像素点长度。
然后,在待定位二维码的二值化图像中,以第二目标像素点为圆心、目标线段上从第一定位点起连续的黑色像素点长度作为半径r,所确定的圆作为第二圆。
同时,统计第二圆内的黑色像素点的个数。
例如,图8(b)中,e点、f点均是第二目标像素点。分别以e点为圆心、目标线段上从第一定位点起连续的黑色像素点长度作为半径r作圆,以f点为圆心、目标线段上从第一定位点起连续的黑色像素点长度作为半径r作圆,得到两个个第二圆。
B32、从所述第二目标像素点中,获取所述待定位二维码的第三定位点。
其中,第三定位点是指目标第二圆的圆心所在的像素点,目标第二圆是指第二圆中,具有黑色像素点数最多的圆。
具体地,首先,从第二圆中,查找出具有黑色像素点数最多的圆,作为目标第二圆。然后,获取目标第二圆的圆心所在的像素点(即目标第二圆对应的第二目标像素点),作为待定位二维码的第三定位点。至此,完成对被遮挡的探测图的中心点(即被遮挡的探测图的定位点)的检测。
为方便理解,接以上步骤B31的例子继续说明。例如,以e点为圆心的第二圆黑色像素点数为500、以f点为圆心的第二圆黑色像素点数为300。则以具有黑色像素点数最多的第二圆(以e点为圆心的圆),作为目标第二圆
并以目标第二圆(以e点为圆心的圆)的圆心所在的像素点(即e点),作为待定位二维码的第三定位点。
由于以第三定位点为圆心、目标线段上从第一定位点起连续的黑色像素点长度为半径作圆,可以保证所作圆落在探测图中心区域(该区域内几乎为黑色像素点)
在本申请实施例中,通过限定第二目标像素点周边的黑色像素点数为:以第二目标像素点为圆心、目标线段上从第一定位点起连续的黑色像素点长度为半径的圆内的黑色像素点数,提高了黑色像素点数最多的圆对应的圆心为第三定位点的可能性,进而提高了第三定位点的精确度。
在本申请的一些实施例中,该二维码定位方法还包括:根据所述第一定位点的坐标、所述第二定位点的坐标和所述第三定位点的坐标,解析所述待定位二维码。
具体地,将待定位二维码的三个探测图的中心点坐标(即:第一定位点的坐标、第二定位点的坐标和第三定位点的坐标)输入开源的解码器,以使得开源的解码器根据待定位二维码的三个探测图的中心点坐标,将待定位二维码的信息解析出来。
在本申请实施例中,通过根据待定位二维码的探测图的中心点坐标,解析出待定位二维码的信息,可以实现准确、快速地解析出其中一个探测图被遮挡的二维码。
为了更好实施本申请实施例中二维码定位方法,在二维码定位方法基础之上,本申请实施例中还提供一种二维码定位装置,如图9所示,为本申请实施例中二维码定位装置的一个实施例结构示意图,该二维码定位装置900包括:
获取单元901,用于获取待定位二维码的第一定位点和第二定位点;
检测单元902,用于检测所述获取单元获取的所述第一定位点和所述第二定位点的位置关系,其中,所述位置关系是指在所述待定位二维码图像中,所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系;
定位单元903,用于根据所述检测单元检测的所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述检测单元902具体还用于:
根据所述第一定位点和所述第二定位点,确定第一像素点长度和第二像素点长度,其中,所述第一像素点长度是指目标线段上从所述第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,所述目标线段是指所述第一定位点和所述第二定位点之间的线段,所述第二像素点长度是指目标射线上从所述第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,所述目标射线是指以所述第一定位点为起点,且与所述目标线段呈45度角的射线;
根据所述第一像素点长度和所述第二像素点长度的大小关系,确定所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系。
在本申请的一些实施例中,所述定位单元903具体还用于:
获取所述第一定位点与所述第二定位点的目标间距;
若所述第一定位点与所述第二定位点为相邻关系,则获取第一目标像素点,其中,所述第一目标像素点是指和所述第一定位点间构成的线段与目标线段垂直、且与所述第一定位点的间距等于所述目标间距的像素点,以及和所述第二定位点间构成的线段与所述目标线段垂直、且与所述第二定位点的间距等于所述目标间距的像素点,所述目标线段是指所述第一定位点和所述第二定位点之间的线段;
根据所述第一目标像素点周边的黑色像素点数,从所述第一目标像素点中,获取所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述定位单元903具体还用于:
获取所述第一目标像素点对应的第一圆,并检测所述第一圆内的黑色像素点数,其中,所述第一圆是指以所述第一目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度;
从所述第一目标像素点中,获取所述待定位二维码的第三定位点,其中,所述第三定位点是指目标第一圆的圆心所在的像素点,所述目标第一圆是指所述第一圆中,具有黑色像素点数最多的圆。
在本申请的一些实施例中,所述定位单元903具体还用于:
获取所述第一定位点与所述第二定位点的目标间距;
若所述第一定位点与所述第二定位点为对角关系,则获取第二目标像素点,其中,所述第二目标像素点是指和目标线段的中心点间构成的线段与所述目标线段垂直、且与所述目标线段的间距等于所述目标间距一半的像素点,所述目标线段是指所述第一定位点和所述第二定位点之间的线段;
根据所述第二目标像素点周边的黑色像素点数,从所述第二目标像素点中,获取所述待定位二维码的第三定位点。
在本申请的一些实施例中,所述定位单元903具体还用于:
获取所述第二目标像素点对应的第二圆,并检测所述第二圆内的黑色像素点数,其中,所述第二圆是指以所述第二目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度;
从所述第二目标像素点中,获取所述待定位二维码的第三定位点,其中,所述第三定位点是指目标第二圆的圆心所在的像素点,所述目标第二圆是指所述第二圆中,具有黑色像素点数最多的圆。
在本申请的一些实施例中,所述二维码定位装置还包括解析单元(图中未示出),所述解析单元具体用于:
根据所述第一定位点的坐标、所述第二定位点的坐标和所述第三定位点的坐标,解析所述待定位二维码。
此外,为了更好实施本申请实施例中二维码定位方法,在二维码定位方法基础之上,本申请实施例还提供一种二维码定位设备,参阅图10,图10示出了本申请实施例二维码定位设备的一种结构示意图,具体的,本申请实施例提供的二维码定位设备包括处理器1001,处理器1001用于执行存储器1002中存储的计算机程序时实现如图1至图8对应任意实施例中二维码定位方法的各步骤;或者,处理器1001用于执行存储器1002中存储的计算机程序时实现如图9对应实施例中各单元的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器1002中,并由处理器1001执行,以完成本申请实施例。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
二维码定位设备可包括,但不仅限于处理器1001、存储器1002。本领域技术人员可以理解,示意仅仅是二维码定位设备的示例,并不构成对二维码定位设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如二维码定位设备还可以包括输入输出设备、网络接入设备、总线等,处理器1001、存储器1002、输入输出设备以及网络接入设备等通过总线相连。
处理器1001可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是二维码定位设备的控制中心,利用各种接口和线路连接整个二维码定位设备的各个部分。
存储器1002可用于存储计算机程序和/或模块,处理器1001通过运行或执行存储在存储器1002内的计算机程序和/或模块,以及调用存储在存储器1002内的数据,实现计算机装置的各种功能。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据二维码定位设备的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的二维码定位装置、设备及其相应单元的具体工作过程,可以参考如图1至图8对应任意实施例中二维码定位方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1至图8对应任意实施例中二维码定位方法中的步骤,具体操作可参考如图1至图8对应任意实施例中二维码定位方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1至图8对应任意实施例中二维码定位方法中的步骤,因此,可以实现本申请如图1至图8对应任意实施例中二维码定位方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请实施例所提供的一种二维码定位方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种二维码定位方法,其特征在于,所述方法包括:
获取待定位二维码的第一定位点和第二定位点;
检测所述第一定位点和所述第二定位点的位置关系,其中,所述位置关系是指在所述待定位二维码图像中,所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系;
根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点。
2.根据权利要求1所述的二维码定位方法,其特征在于,所述检测所述第一定位点和所述第二定位点的位置关系,包括:
根据所述第一定位点和所述第二定位点,确定第一像素点长度和第二像素点长度,其中,所述第一像素点长度是指目标线段上从所述第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,所述目标线段是指所述第一定位点和所述第二定位点之间的线段,所述第二像素点长度是指目标射线上从所述第一定位点起连续的黑色像素点数、连续的白素像素点数与连续的黑色像素点数之和,所述目标射线是指以所述第一定位点为起点,且与所述目标线段呈45度角的射线;
根据所述第一像素点长度和所述第二像素点长度的大小关系,确定所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系。
3.根据权利要求1所述的二维码定位方法,其特征在于,所述根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点,包括:
获取所述第一定位点与所述第二定位点的目标间距;
若所述第一定位点与所述第二定位点为相邻关系,则获取第一目标像素点,其中,所述第一目标像素点是指和所述第一定位点间构成的线段与目标线段垂直、且与所述第一定位点的间距等于所述目标间距的像素点,以及和所述第二定位点间构成的线段与所述目标线段垂直、且与所述第二定位点的间距等于所述目标间距的像素点,所述目标线段是指所述第一定位点和所述第二定位点之间的线段;
根据所述第一目标像素点周边的黑色像素点数,从所述第一目标像素点中,获取所述待定位二维码的第三定位点。
4.根据权利要求3所述的二维码定位方法,其特征在于,所述根据所述第一目标像素点周边的黑色像素点数,从所述第一目标像素点中,获取所述待定位二维码的第三定位点,包括:
获取所述第一目标像素点对应的第一圆,并检测所述第一圆内的黑色像素点数,其中,所述第一圆是指以所述第一目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度;
从所述第一目标像素点中,获取所述待定位二维码的第三定位点,其中,所述第三定位点是指目标第一圆的圆心所在的像素点,所述目标第一圆是指所述第一圆中,具有黑色像素点数最多的圆。
5.根据权利要求1所述的二维码定位方法,其特征在于,所述根据所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点,包括:
获取所述第一定位点与所述第二定位点的目标间距;
若所述第一定位点与所述第二定位点为对角关系,则获取第二目标像素点,其中,所述第二目标像素点是指和目标线段的中心点间构成的线段与所述目标线段垂直、且与所述目标线段的间距等于所述目标间距一半的像素点,所述目标线段是指所述第一定位点和所述第二定位点之间的线段;
根据所述第二目标像素点周边的黑色像素点数,从所述第二目标像素点中,获取所述待定位二维码的第三定位点。
6.根据权利要求5所述的二维码定位方法,其特征在于,所述根据所述第二目标像素点周边的黑色像素点数,从所述第二目标像素点中,获取所述待定位二维码的第三定位点,包括:
获取所述第二目标像素点对应的第二圆,并检测所述第二圆内的黑色像素点数,其中,所述第二圆是指以所述第二目标像素点为圆心、r为半径的圆,所述r是指所述目标线段上从所述第一定位点起连续的黑色像素长度;
从所述第二目标像素点中,获取所述待定位二维码的第三定位点,其中,所述第三定位点是指目标第二圆的圆心所在的像素点,所述目标第二圆是指所述第二圆中,具有黑色像素点数最多的圆。
7.根据权利要求1-6任一项所述的二维码定位方法,其特征在于,所述方法还包括:
根据所述第一定位点的坐标、所述第二定位点的坐标和所述第三定位点的坐标,解析所述待定位二维码。
8.一种二维码定位装置,其特征在于,所述二维码定位装置包括:
获取单元,用于获取待定位二维码的第一定位点和第二定位点;
检测单元,用于检测所述获取单元获取的所述第一定位点和所述第二定位点的位置关系,其中,所述位置关系是指在所述待定位二维码图像中,所述第一定位点与所述第二定位点为相邻关系,或所述第一定位点与所述第二定位点为对角关系;
定位单元,用于根据所述检测单元检测的所述位置关系获取目标像素点,并根据所述目标像素点周边的黑色像素点数,确定所述待定位二维码的第三定位点。
9.一种二维码定位设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至7任一项所述的二维码定位方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的二维码定位方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010268866.6A CN113496134A (zh) | 2020-04-08 | 2020-04-08 | 二维码定位方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010268866.6A CN113496134A (zh) | 2020-04-08 | 2020-04-08 | 二维码定位方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113496134A true CN113496134A (zh) | 2021-10-12 |
Family
ID=77995715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010268866.6A Pending CN113496134A (zh) | 2020-04-08 | 2020-04-08 | 二维码定位方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113496134A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117218328A (zh) * | 2023-11-07 | 2023-12-12 | 深圳优艾智合机器人科技有限公司 | 二维码定位方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004362053A (ja) * | 2003-06-02 | 2004-12-24 | Hitachi Information Technology Co Ltd | 二次元コード読取装置 |
CN104463059A (zh) * | 2013-09-16 | 2015-03-25 | 航天信息股份有限公司 | Qr码识别中一个探测图形破损时的重构方法 |
CN107832652A (zh) * | 2017-09-28 | 2018-03-23 | 努比亚技术有限公司 | 二维码识别方法、终端及计算机可读存储介质 |
CN110020571A (zh) * | 2019-03-18 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 二维码校正方法、装置及设备 |
-
2020
- 2020-04-08 CN CN202010268866.6A patent/CN113496134A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004362053A (ja) * | 2003-06-02 | 2004-12-24 | Hitachi Information Technology Co Ltd | 二次元コード読取装置 |
CN104463059A (zh) * | 2013-09-16 | 2015-03-25 | 航天信息股份有限公司 | Qr码识别中一个探测图形破损时的重构方法 |
CN107832652A (zh) * | 2017-09-28 | 2018-03-23 | 努比亚技术有限公司 | 二维码识别方法、终端及计算机可读存储介质 |
CN110020571A (zh) * | 2019-03-18 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 二维码校正方法、装置及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117218328A (zh) * | 2023-11-07 | 2023-12-12 | 深圳优艾智合机器人科技有限公司 | 二维码定位方法、电子设备及存储介质 |
CN117218328B (zh) * | 2023-11-07 | 2024-03-08 | 深圳优艾智合机器人科技有限公司 | 二维码定位方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108875731B (zh) | 目标识别方法、装置、系统及存储介质 | |
CN108875723B (zh) | 对象检测方法、装置和系统及存储介质 | |
CN108564082B (zh) | 图像处理方法、装置、服务器和介质 | |
US9076056B2 (en) | Text detection in natural images | |
CN108090486B (zh) | 一种台球比赛中的图像处理方法及装置 | |
CN110414649B (zh) | Dm码的定位方法、装置、终端及存储介质 | |
CN112199268B (zh) | 一种软件兼容性测试方法及电子设备 | |
US11893764B1 (en) | Image analysis for decoding angled optical patterns | |
US20230401691A1 (en) | Image defect detection method, electronic device and readable storage medium | |
CN112083870B (zh) | 信息识别方法及设备 | |
CN110796130A (zh) | 用于文字识别的方法、装置及计算机存储介质 | |
CN114638294A (zh) | 一种数据增强方法、装置、终端设备及存储介质 | |
CN115630663A (zh) | 一种二维码识别方法、装置及电子设备 | |
CN115829929A (zh) | 产品表面图像的缺陷检测方法、装置、设备及存储介质 | |
CN111046693A (zh) | 一种二维码扫描方法、装置、终端设备及存储介质 | |
CN110865785A (zh) | 像素尺寸的获取方法、装置及电子设备 | |
CN113496134A (zh) | 二维码定位方法、装置、设备及存储介质 | |
CN113129298A (zh) | 文本图像的清晰度识别方法 | |
CN110909816B (zh) | 图片识别方法和装置 | |
CN110764685B (zh) | 用于识别二维码的方法和设备 | |
CN117152760A (zh) | 图像处理方法、终端设备及存储介质 | |
CN108629219B (zh) | 一种识别一维码的方法及装置 | |
CN113378595B (zh) | 二维码定位方法、装置、设备及存储介质 | |
CN112559342A (zh) | 一种画面测试图像的获取方法、装置、设备及存储介质 | |
CN116468611B (zh) | 图像拼接方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |