CN113378595B - 二维码定位方法、装置、设备及存储介质 - Google Patents
二维码定位方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113378595B CN113378595B CN202010161024.0A CN202010161024A CN113378595B CN 113378595 B CN113378595 B CN 113378595B CN 202010161024 A CN202010161024 A CN 202010161024A CN 113378595 B CN113378595 B CN 113378595B
- Authority
- CN
- China
- Prior art keywords
- pixel
- black
- pixel points
- pixel point
- point
- 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.)
- Active
Links
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/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- 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/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods 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
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码。
一方面,本申请实施例提供一种二维码定位方法,所述方法包括:
获取待定位二维码的二值化图像,并获取所述二值化图像中各个像素点的坐标值;
获取第一目标像素点,并根据所述坐标值获取第一目标像素点对应的第一中心坐标,其中,所述第一目标像素点是指所述二值化图像第i行的像素点中,黑白像素比满足预设比例关系的多个连续像素点,所述黑白像素比是指黑色像素点:白色像素点:黑色像素点:白色像素点或白色像素点:黑色像素点:白色像素点:黑色像素点,所述预设比例关系是指黑白像素相间的多个连续像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点为1:1:3:1或白色像素点:黑色像素点:白色像素点:黑色像素点为1:3:1:1;
根据所述第一中心坐标获取第二目标像素点,并根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标,其中,所述第二目标像素点是指所述二值化图像第j列的像素点中,黑白像素比满足所述预设比例关系的多个连续像素点,所述第一中心坐标的列坐标值和所述第二中心坐标的列坐标值均为j,所述第一目标像素点与所述第二目标像素点的像素点数相同。
在本申请的一些实施例中,所述根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标,包括:
根据所述坐标值获取第二目标像素点对应的第二中心坐标;
根据所述第二中心坐标获取第一待检测像素点,并检测所述第一待检测像素点是否满足所述预设比例关系,所述第一待检测像素点是指所述二值化图像中,坐标值为(i’-n,j-n)...(i’,j)..(i’+n,j’+n)的像素点,其中n为正数,(i’,j)表示第二中心坐标;
若所述第一待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
在本申请的一些实施例中,所述检测所述第一待检测像素点是否满足所述预设比例关系,步骤之后还包括:
若所述第一待检测像素点不满足所述预设比例关系,则根据所述第二中心坐标获取第二待检测像素点,并检测所述第二待检测像素点是否满足所述预设比例关系,所述第二待检测像素点是指所述二值化图像中,坐标值为(i’+n,j-n)...(i’,j)..(i’-n,j+n)的像素点,其中n为正数;
若所述第二待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
在本申请的一些实施例中,所述获取第一目标像素点,包括:
根据预设的跳行间距,扫描所述二值化图像每一行的像素点,其中,所述二值化图像每行有w个像素点,每列有h个像素点;
若所述二值化图像第i行的像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则获取黑白像素比满足所述预设比例关系的多个连续像素点,以作为所述第一目标像素点。
在本申请的一些实施例中,所述根据所述第一中心坐标获取第二目标像素点,包括:
从所述二值化图像中获取待选像素点,其中,所述待选像素点是指坐标处于(i-m*2/3,j)至(i+m*2/3,j)的像素点,所述第一中心坐标为(i,j),m表示第一目标像素点中间距最大的两个像素点的横坐标差值;
检测所述待选像素点中,是否存在黑白像素比满足所述预设比例关系的多个连续像素点;
若所述待选像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则从所述待选像素点中,获取存在黑白像素比满足所述预设比例关系的多个连续像素点,以作为第二目标像素点。
在本申请的一些实施例中,所述获取待定位二维码的二值化图像,包括:
获取待定位二维码的原始图像;
对所述原始图像进行二值化处理,得到所述待定位二维码的二值化图像。
在本申请的一些实施例中,所述方法还包括:
根据所述中心点坐标解析所述待定位二维码。
另一方面,本申请实施例提供一种二维码定位装置,所述二维码定位装置包括:
获取单元,用于获取待定位二维码的二值化图像,并获取所述二值化图像中各个像素点的坐标值;
定位单元,用于获取第一目标像素点,并根据所述坐标值获取第一目标像素点对应的第一中心坐标,其中,所述第一目标像素点是指所述二值化图像第i行的像素点中,黑白像素比满足预设比例关系的多个连续像素点,所述黑白像素比是指黑色像素点:白色像素点:黑色像素点:白色像素点或白色像素点:黑色像素点:白色像素点:黑色像素点,所述预设比例关系是指黑白像素相间的多个连续像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点为1:1:3:1或白色像素点:黑色像素点:白色像素点:黑色像素点为1:3:1:1;根据所述第一中心坐标获取第二目标像素点,并根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标,其中,所述第二目标像素点是指所述二值化图像第j列的像素点中,黑白像素比满足所述预设比例关系的多个连续像素点,所述第一中心坐标的列坐标值和所述第二中心坐标的列坐标值均为j,所述第一目标像素点与所述第二目标像素点的像素点数相同。
在本申请的一些实施例中,所述定位单元具体还用于:
根据所述坐标值获取第二目标像素点对应的第二中心坐标;
根据所述第二中心坐标获取第一待检测像素点,并检测所述第一待检测像素点是否满足所述预设比例关系,所述第一待检测像素点是指所述二值化图像中,坐标值为(i’-n,j-n)...(i’,j)..(i’+n,j’+n)的像素点,其中n为正数,(i’,j)表示第二中心坐标;
若所述第一待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
在本申请的一些实施例中,所述定位单元具体还用于:
若所述第一待检测像素点不满足所述预设比例关系,则根据所述第二中心坐标获取第二待检测像素点,并检测所述第二待检测像素点是否满足所述预设比例关系,所述第二待检测像素点是指所述二值化图像中,坐标值为(i’+n,j-n)...(i’,j)..(i’-n,j+n)的像素点,其中n为正数;
若所述第二待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
在本申请的一些实施例中,所述定位单元具体还用于:
根据预设的跳行间距,扫描所述二值化图像每一行的像素点,其中,所述二值化图像每行有w个像素点,每列有h个像素点;
若所述二值化图像第i行的像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则获取黑白像素比满足所述预设比例关系的多个连续像素点,以作为所述第一目标像素点。
在本申请的一些实施例中,所述定位单元具体还用于:
从所述二值化图像中获取待选像素点,其中,所述待选像素点是指坐标处于(i-m*2/3,j)至(i+m*2/3,j)的像素点,所述第一中心坐标为(i,j),m表示第一目标像素点中间距最大的两个像素点的横坐标差值;
检测所述待选像素点中,是否存在黑白像素比满足所述预设比例关系的多个连续像素点;
若所述待选像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则从所述待选像素点中,获取存在黑白像素比满足所述预设比例关系的多个连续像素点,以作为第二目标像素点。
在本申请的一些实施例中,所述获取单元具体还用于:
获取待定位二维码的原始图像;
对所述原始图像进行二值化处理,得到所述待定位二维码的二值化图像。
在本申请的一些实施例中,所述二维码定位装置还包括解析单元,所述解析单元具体用于:
根据所述中心点坐标解析所述待定位二维码。
另一方面,本申请实施例还提供一种二维码定位设备,所述二维码定位设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行本申请实施例提供的任一种二维码定位方法中的步骤。
另一方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行所述的二维码定位方法中的步骤。
本申请实施例通过首先获取待定位的二维码的二值化图像。然后,检测出在横方向上满足预设比例关系的像素点(即第一目标像素点),并获取第一目标像素点对应的第一中心坐标。再然后,根据第一中心坐标获取第二目标像素点(即在竖方向上满足预设比例关系的像素点),并获取第二目标像素点对应的第二中心坐标。最后,将第二中心坐标作为待定位二维码的探测图的中心点坐标,从而完成对待定位二维码的定位。
由于本申请实施例中采用了“丢边”策略(即在黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数为1:1:3:1时,或在白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数为1:3:1:1时,则认为黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1),避免了因为二维码四周出现污渍、没有留白等情况下,不再能检测出完全满足在横、竖、斜三个方向上均满足黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1的连续像素点,导致不能定位出“回”字形的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的QR码的一种示意图;
图2是本申请实施例提供的二维码“回”字形在横、竖、斜方向上的特性的场景示意图;
图3本申请实施例中提供的二维码定位方法的一种实施例流程示意图;
图4是本申请实施例中提供的一种二值化图像行像素点的示意图;
图5是本申请实施例的多个连续像素点满足预设比例关系的示意图;
图6是本申请实施例中提供的二维码“回”字形在斜方向上满足预设比例关系的场景示意图;
图7是本申请实施例提供的目标场景区域对应的坐标的场景示意图;
图8是本申请实施例中提供的二维码定位装置的一个实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的过程进行详细阐述,以避免不必要的细节使本申请实施例的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请实施例所公开的原理和特征的最广范围相一致。
首先,在介绍本申请实施例之前,先介绍下本申请实施例关于应用背景的相关内容。
二维码中会存在定位点,例如,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)所示。
其中,横方向、竖方向、斜方向(包括左斜、右斜)是本申请实施例为了便于描述而提出。横方向的像素点具体是指坐标值为:(i’-n,j),...(i’,j)...,(i’-n,j)的像素点。竖方向的像素点具体是指坐标值为:(i’,j-n),...(i’,j)...,(i’,j-n)的像素点。左斜方向的像素点具体是指坐标值为:(i’-n,j-n)...(i’,j)..(i’+n,j’+n)的像素点。右斜方向的像素点具体是指坐标值为:(i’+n,j-n)...(i’,j)..(i’-n,j+n)的像素点。其中(i’,j)为中心点坐标,n为正数。
此外,本申请实施例中所提及的“满足预设比例关系”是指:连续的多个像素点满足白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:3:1:1的比例关系,或者满足黑色像素点的个数:白色像素的个数点:黑色像素点的个数:白色像素点的个数=1:1:3:1的比例关系。
现有技术中,主要是检测出像素点是否满足以上3个特性,从而定位出“回”字形。然而,QR码的三个“回”字形位于二维码的三个角点,并且最边上的像素点为黑色像素点。
当QR码被置于网页时,QR码四周外往往会存在其他网页内容;或者当QR码四周外存在污渍等情况时,不再能检测出完全满足以上3个特性的像素点。因此,QR码四周外的黑色像素点会影响到“回”字形的检测。
基于现有的相关技术存在的上述缺陷,本申请实施例提供了二维码定位方法,在QR码四周出现污渍、没有留白等情况下,可以定位出QR码的探测图的中心点坐标,进而实现正常识别QR码,至少在一定程度上克服现有的相关技术所存在的缺陷。
本申请实施例二维码定位方法的执行主体可以为本申请实施例提供的二维码定位装置,或者集成了该二维码定位装置的服务器设备、物理主机或者用户设备(UserEquipment,UE)等不同类型的二维码定位设备,其中,二维码定位装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、掌上电脑、台式电脑或者个人数字助理(Personal Digital Assistant,PDA)等终端设备。
该二维码定位设备可以采用单独运行的工作方式,或者也可以采用设备集群的工作方式,通过应用本申请实施例提供的二维码定位方法,在QR码四周出现污渍、没有留白等情况下,可以定位出QR码的探测图的中心点坐标,进而实现正常识别QR码。
下面,开始介绍本申请实施例提供的二维码定位方法,本申请实施例中以二维码定位设备作为执行主体,为了简化与便于描述,后续方法实施例中将省略该执行主体,该二维码定位方法包括:获取待定位二维码的二值化图像,并获取所述二值化图像中各个像素点的坐标值;获取第一目标像素点,并根据所述坐标值获取第一目标像素点对应的第一中心坐标;根据所述第一中心坐标获取第二目标像素点,并根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标。
参照图3,图3为本申请实施例提供的二维码定位方法的一种流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该二维码定位方法包括步骤S10~S30,其中:
S10、获取待定位二维码的二值化图像,并获取所述二值化图像中各个像素点的坐标值。
在本申请的一些实施例中,所述获取待定位二维码的二值化图像的步骤,具体包括以下步骤(1)和(2),其中:
(1)、获取待定位二维码的原始图像。
在实际应用中,应用本申请提供的二维码定位设备,在硬件上可直接包括摄像头,并在本地存储该摄像头拍摄得到待定位二维码的原始图像,可在设备内部直接读取;或者,二维码定位设备也可与终端(如手机、电脑)的摄像头建立网络连接,并根据该网络连接从摄像头在线获取摄像头拍摄得到待定位二维码的原始图像;或者,二维码定位设备也可从存储有待定位二维码的原始图像的相关存储介质,读取出待定位二维码的原始图像,具体获取方式在此不做限定。
(2)、对所述原始图像进行二值化处理,得到所述待定位二维码的二值化图像。
原始图像是指待定位二维码的原始图像,其中可能包含有非二维码的区域。具体地,首先,将原始图像转化为灰度图像,得到待定位二维码的灰度图像;其中,灰度图像只包含亮度信息,不包含彩色信息。然后,将待定位二维码的灰度图像进行二值化处理,得到待定位二维码的二值化图像。
其中,对待定位二维码的图像进行二值化的目的是:使图像呈现出明显的黑白效果,以便于分辨图像中的黑色像素点、白色像素点。因此对二值化的具体数值(黑色像素点的数值和白色像素点的数值)不作限制,只需二值化后的图像能够明显区分黑色像素点和白色像素点。例如,二值化后图像中像素点像素值可以只为1或255、或者只为5和235。为了易于分辨黑色像素点和白色像素点,在本申请的一些实施例中,对原始图像进行二值化处理的结果为:使得图像黑色像素点的像素值为255、白色像素点的像素值为0。
在本申请实施例中,通过获取待定位二维码的原始图像,并对原始图像进行二值化处理得到二值化图像,为后续检测待定位二维码的各个像素点的像素值提供了数据依据。
“获取二值化图像中各个像素点的坐标值”的一种实施方式为:首先,以二值化图像的任意一个角点(例如,二值化图像的左上角、右上角、左下角或右下角)作为坐标系原点、并以一个像素点距离作为一个单位坐标(或者以多个像素点距离作为一个单位坐标,可根据具体需求而设置单位坐标的长度),建立直角坐标系。然后,根据二值化图像的每个像素点在该直角坐标系中的坐标值,作为该像素点的坐标值。可以理解的是,在本申请实施例中,二值化图像为矩形。
S20、获取第一目标像素点,并根据所述坐标值获取第一目标像素点对应的第一中心坐标。
其中,第一目标像素点是指二值化图像第i行的像素点中,黑白像素比满足预设比例关系的多个连续像素点,黑白像素比是指黑色像素点:白色像素点:黑色像素点:白色像素点或白色像素点:黑色像素点:白色像素点:黑色像素点,预设比例关系是指黑白像素相间的多个连续像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点为1:1:3:1或白色像素点:黑色像素点:白色像素点:黑色像素点为1:3:1:1。
首先,确定第一目标像素点。具体地,以纵坐标相同的像素点作为一行,逐行扫描二值化图像中的像素点(目的在于确定每个像素点的像素值),并对每行连续的黑色像素点数、连续的白色像素点数进行统计。如图4所示,其中图4(a)是指二值化图像的第m行(即纵坐标为m)像素点经过“回”字形,图4(a)是指二值化图像的第n行(即纵坐标为n)像素点未经过“回”字形。
例如,第i行共有80个连续的像素点,依次为:20个白色像素点、10个黑色像素点、20个白色像素点、10个黑色像素点、20个白色像素点。
若记录到第i行的像素点中,连续的多个像素点存在黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系,则获取存在黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的多个连续像素点,以作为第一目标像素点。
或者若记录到第i行的像素点中,连续的多个像素点存在白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系,则获取存在白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的多个连续像素点,以作为第一目标像素点。
为了方便理解,参照图5,图5为像素点满足预设比例关系的示意图。其中,图5(a)为待定位二维码的二值化图像,图5(b)表示二值化图像第i行经过“回”字形的像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系,图5(c)表示二值化图像第i行经过“回”字形的像素点满足白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系。
然后,确定第一目标像素点对应的第一中心坐标。作为一种实施方式,确定第一目标像素点对应的第一中心坐标,包括以下步骤a1~a3,其中:
a1、确定第一目标像素点的个数。
a2、确定第一目标像素点对应的中心点。若第一目标像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系,则根据以下公式确定第一目标像素点对应的中心点,其中公式为:
其中,X表示第一目标像素点的个数,P表示第一目标像素点对应的中心点。第一目标像素点对应的中心点具体为第一目标像素点中,满足黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的X个连续像素点中的第P个。
若第一目标像素点满足白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系,则根据以下公式确定第一目标像素点对应的中心点,其中公式为:
其中,X表示第一目标像素点的个数,P表示第一目标像素点对应的中心点。第一目标像素点对应的中心点具体为第一目标像素点中,满足白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的X个连续像素点中的第P个。
a3、获取第一目标像素点对应的中心点在直角坐标系中的坐标值,以作为第一目标像素点对应的第一中心坐标。
作为另一种实施方式,以二值化图像中的一个像素点距离作为一个单位坐标,确定第一目标像素点对应的第一中心坐标,包括以下步骤b1~b2,其中:
b1、若第一目标像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点=a:b:c:d=1:1:3:1的比例关系,则根据以下公式确定第一目标像素点对应的中心坐标的纵坐标,其中公式为:
其中,j表示第一目标像素点对应的中心坐标的纵坐标,X表示第一目标像素点的个数,k表示第一目标像素点中,满足黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的X个连续像素点中第X个的纵坐标。
若第一目标像素点满足白色像素点:黑色像素点:白色像素点:黑色像素点=a:b:c:d=1:3:1:1的比例关系,则根据以下公式确定第一目标像素点对应的中心坐标的纵坐标,其中公式为:
其中,j表示第一目标像素点对应的中心坐标的纵坐标,X表示第一目标像素点的个数,k表示第一目标像素点中,满足白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的X个连续像素点中第X个的纵坐标。
b2、确定第一目标像素点对应的中心坐标为(i,j)。其中,i表示存在黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的多个连续像素点在第i行;或者白存在色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的多个连续像素点在第i行。
S30、根据所述第一中心坐标获取第二目标像素点,并根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标。
其中,第二目标像素点是指二值化图像第j列的像素点中,黑白像素比满足预设比例关系的多个连续像素点,第一中心坐标的列坐标值和第二中心坐标的列坐标值均为j,第一目标像素点与所述第二目标像素点的像素点数相同。
首先,确定第二目标像素点。
“根据所述第一中心坐标获取第二目标像素点”的一种实施方式为:
1、从二值化图像中,获取纵坐标为j的像素点,作为二值化图像的第j列像素点。
2、对第j列连续的黑色像素点数、连续的白色像素点数进行统计。扫描二值化图像中第j列像素点(目的在于确定每个像素点的像素值)。若记录到第j列的像素点中,连续的多个像素点存在黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系,则获取存在黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的多个(个数与第一目标像素点的个数相同)连续像素点,以作为第二目标像素点。
或者若记录到第j列的像素点中,连续的多个像素点存在白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系,则获取存在白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的多个(个数与第一目标像素点的个数相同)连续像素点,以作为第二目标像素点。
然后,确定第二目标像素点对应的第二中心坐标。作为一种实施方式,确定第二目标像素点对应的第二中心坐标,包括以下步骤c1~c3,其中:
c1、确定第二目标像素点的个数。其中,第二目标像素点的个数与第一目标像素点的个数相同。
c2、确定第二目标像素点对应的中心点。若第二目标像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系,则根据以下公式确定第二目标像素点对应的中心点,其中公式为:
其中,X表示第二目标像素点的个数,P表示第二目标像素点对应的中心点。第二目标像素点对应的中心点具体为第二目标像素点中,满足黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的X个连续像素点中的第P个。
若第二目标像素点满足白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系,则根据以下公式确定第二目标像素点对应的中心点,其中公式为:
其中,X表示第二目标像素点的个数,P表示第二目标像素点对应的中心点。第二目标像素点对应的中心点具体为第二目标像素点中,满足白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的X个连续像素点中的第P个。
c3、获取第二目标像素点对应的中心点在直角坐标系中的坐标值,以作为第二目标像素点对应的第二中心坐标。
作为另一种实施方式,确定第二目标像素点对应的第二中心坐标,可以参照步骤b1~b2确定第一目标像素点对应的第一中心坐标的方式,在此不再赘述。
最后,将第二目标像素点对应的第二中心坐标,作为待定位二维码的探测图的中心点坐标。依照前述方法,可以确定出待定位二维码的四个探测图(即“回”字形)的中心点坐标,完成对待定位二维码的定位。
在本申请实施例中,首先,获取待定位的二维码的二值化图像。然后,检测出在横方向上满足预设比例关系的像素点(即第一目标像素点),并获取第一目标像素点对应的第一中心坐标。再然后,根据第一中心坐标获取第二目标像素点(即在竖方向上满足预设比例关系的像素点),并获取第二目标像素点对应的第二中心坐标。最后,将第二中心坐标作为待定位二维码的探测图的中心点坐标,从而完成对待定位二维码的定位。
由于本申请实施例中采用了“丢边”策略(即在黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数为1:1:3:1时,或在白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数为1:3:1:1时,则认为黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1),避免了因为二维码四周出现污渍、没有留白等情况下,不再能检测出完全满足在横、竖、斜三个方向上均满足黑色像素点的个数:白色像素点的个数:黑色像素点的个数:白色像素点的个数:黑色像素点的个数=1:1:3:1:1的连续像素点,导致不能定位出“回”字形的问题。
为了准确、快速地确定第二目标像素点,在本申请的一些实施例中,所述根据所述第一中心坐标获取第二目标像素点,具体包括以下步骤A1~A3,其中:
A1、从所述二值化图像中获取待选像素点。
其中,待选像素点是指坐标处于(i-m*2/3,j)至(i+m*2/3,j)的像素点,第一中心坐标为(i,j),m表示第一目标像素点中间距最大的两个像素点的横坐标差值。
在“回”字形竖方向上的连续多个像素点,满足黑色像素点:白色像素点:黑色像素点:白色像素点:黑色像素点=a:b:c:d:e=1:1:3:1:1的比例关系,如图2(b)所示。
具体地,由于“回”字形(即待定位二维码的探测图)在竖方向的像素点个数与在横方向的像素点个数相同,且已知横方向的中心点纵坐标为j。因此,为了准确、快速地获取到第二目标像素点,获取坐标处于(i-m*2/3,j)至(i+m*2/3,j)的像素点作为待选像素点,以供后续检测待选像素点是否符合预设比例关系,进而快速确定待选像素点是否存在第二目标像素点。
A2、检测所述待选像素点中,是否存在黑白像素比满足所述预设比例关系的多个连续像素点。
首先,扫描待选像素点(目的在于确定每个像素点的像素值),并对连续的黑色像素点数、连续的白色像素点数进行统计。
然后,确定待选像素点中,是否存在黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的多个连续像素点。或者待选像素点中,是否存在白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的多个连续像素点。
A3、若所述待选像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则从所述待选像素点中,获取存在黑白像素比满足所述预设比例关系的多个连续像素点,以作为第二目标像素点。
具体地,若待选像素点中,存在黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的多个连续像素点,则获取黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的多个连续像素点,作为第二目标像素点。
若待选像素点中,存在白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的多个连续像素点,则获取白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的多个连续像素点,作为第二目标像素点。
在本申请实施例中,通过限定坐标处于(i-m*2/3,j)至(i+m*2/3,j)的像素点作为待选像素点,检测待选像素点是否存在黑白像素比满足预设比例关系的多个连续像素点,进而待选像素点是否存在第二目标像素点。一方面,可以减少像素点的扫描数量,进而加快待定位二维码的定位速度。另一方面,由于只有处于(i-m*2/3,j)至(i+m*2/3,j)才有可能为第二目标像素点,因此可以准确地确定出第二目标像素点。
为了避免误判,提高二维码定位的准确率,在本申请的一些实施例中,所述根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标,具体包括以下步骤B1~B3,其中:
B1、根据所述坐标值获取第二目标像素点对应的第二中心坐标。
具体地,“根据所述坐标值获取第二目标像素点对应的第二中心坐标”的实施方式可以参照步骤S30中的确定方式,在此不再赘述。
B2、根据所述第二中心坐标获取第一待检测像素点,并检测所述第一待检测像素点是否满足所述预设比例关系。
B3、若所述第一待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
其中,第一待检测像素点是指二值化图像中,坐标值为(i’-n,j-n)...(i’,j)..(i’+n,j’+n)的像素点,其中n为正数,(i’,j)表示第二中心坐标。
在“回”字形斜方向上的连续多个像素点,满足黑色像素点:白色像素点:黑色像素点:白色像素点:黑色像素点=a:b:c:d:e=1:1:3:1:1的比例关系,如图6所示,图6为“回”字形斜方向上像素点满足预设比例关系的示意图;其中,图6(a)为在“回”字形左斜方向上像素点满足预设比例关系、图6(b)为在“回”字形右斜方向上像素点满足预设比例关系。即使待定位二维的四周存在有污渍、没有留白等情况,待定位二维“回”字形斜方向上的连续多个像素点至少满足黑色像素点:白色像素点:黑色像素点:白色像素点=a:b:c:d=1:1:3:1,或者满足白色像素点:黑色像素点:白色像素点:黑色像素点=b:c:d:e=1:3:1:1。
由于“回”字形的中心点已初步确定,假设“回”字形的中心点坐标为第二中心坐标(i’,j),通过验证初步确定的“回”字形斜方向上是否满足预设比例关系(即第一待检测像素点是否满足预设比例关系),可以第二中心坐标(i’,j)是否为待定位二维码的探测图的中心点坐标。并且“回”字形在左斜方向上的像素点可以表示为:(i’-n,j-n)...(i’,j)..(i’+n,j’+n)。
具体地,首先,扫描第一待检测像素点(目的在于确定每个像素点的像素值),并对连续的黑色像素点数、连续的白色像素点数进行统计。
然后,确定第一待检测像素点中,是否存在黑色像素点:白色像素点:黑色像素点:白色像素点=1:1:3:1的比例关系的多个连续像素点。若存在,则确定第一待检测像素点满足预设比例关系,并将第二中心坐标作为待定位二维码的探测图的中心点坐标。
或者第一待检测像素点中,是否存在白色像素点:黑色像素点:白色像素点:黑色像素点=1:3:1:1的比例关系的多个连续像素点;若存在,则确定第一待检测像素点满足预设比例关系。若存在,则确定第一待检测像素点满足预设比例关系,并将第二中心坐标作为待定位二维码的探测图的中心点坐标。
在本申请实施例中,在确定像素点在横方向上、竖方向上均满足预设比例关系后,通过验证像素点在斜方向上也满足预设比例关系时,才确定第二中心坐标为待定位二维码的探测图的中心点坐标。避免了在斜方向上不满足预设比例关系时,将第二中心坐标误判为探测图的中心点坐标,从而提高了待定二维码定位的准确率。
如图6(a)所示,由于待定位二维码的四周均未留白,“回”字形探测图中心点的左斜满足预设比例关系,但是右斜不满足预设比例关系。又如图6(b)所示,由于待定位二维码的四周均未留白,“回”字形探测图中心点的右斜满足预设比例关系,但是左斜不满足预设比例关系。由此可见,单纯判定左斜不满足预设比例关系,就判定斜方向不满足预设比例关系;或单纯判定右斜不满足预设比例关系,就判定斜方向是不满足预设比例关系,准确率较低。
为了避免只检测左斜或右斜一个方向,不能准确判定“回”字形探测图中心点的斜方向是否满足预设比例关系,在本申请的一些实施例中,所述检测所述第一待检测像素点是否满足所述预设比例关系,步骤之后还包括:
B4、若所述第一待检测像素点不满足所述预设比例关系,则根据所述第二中心坐标获取第二待检测像素点,并检测所述第二待检测像素点是否满足所述预设比例关系。
其中,第二待检测像素点是指所述二值化图像中,坐标值为(i’+n,j-n)...(i’,j)..(i’-n,j+n)的像素点,其中n为正数。
由于“回”字形的中心点已初步确定,假设“回”字形的中心点坐标为第二中心坐标(i’,j);因此,“回”字形在右斜方向上的像素点可以表示为:(i’+n,j-n)...(i’,j)..(i’-n,j+n)。
B5、若所述第二待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
其中,步骤B1~B3为检测“回”字形左斜方向上的像素点是否满足预设比例关系、步骤B4~B5为检测“回”字形右斜方向上的像素点是否满足预设比例关系。本申请实施例中,以先检测到“回”字形左斜方向上的像素点不满足预设比例关系后,再检测“回”字形右斜方向上的像素点是否满足预设比例关系,以验证“回”字形斜方向上的像素点是否满足预设比例关系。
可以理解的是,也可以先检测到“回”字形右斜方向上的像素点不满足预设比例关系后,再检测“回”字形左斜方向上的像素点是否满足预设比例关系。同样可以达到验证“回”字形斜方向上的像素点是否满足预设比例关系。
在本申请实施例中,在检测到像素点在左斜方向上不满足预设比例关系时,通过检测像素点在右斜方向上是否满足预设比例关系,若像素点在右斜方向上满足预设比例关系时,则认为像素点在斜方向上也满足预设比例关系。避免了只检测左斜或右斜一个方向,不能准确地判定像素点在斜方向上是否满足预设比例关系的问题,从而提高了待定二维码定位的准确率。
由于二值化图像的像素点行数较多,为了减少扫描数量,进而加快二维码的定位速度,在本申请的一些实施例中,所述获取第一目标像素点,包括:
根据预设的跳行间距,扫描所述二值化图像每一行的像素点。
若所述二值化图像第i行的像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则获取黑白像素比满足所述预设比例关系的多个连续像素点,以作为所述第一目标像素点。
其中,所述二值化图像每行有w个像素点,每列有h个像素点。由此可见,二值化图像存在h行像素点,为了减少扫描行数,可以跳行扫描,例如每3行扫描一行,或每2行扫描一行。
其中,预设的跳行间距可以根据具体需求而设置。例如,预设的跳行间距为N(如3),则二值化图像在h行像素点中,依次分别扫描第1行、第4行、第7行...第(1+3*n)行,其中n为正整数。
“根据预设的跳行间距,扫描所述二值化图像每一行的像素点;若所述二值化图像第i行的像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则获取黑白像素比满足所述预设比例关系的多个连续像素点,以作为所述第一目标像素点”的具体实施方式,可以参照步骤S20中确定第一目标像素点的方式,在此不再赘述。
在本申请实施例中,通过按照预设的跳行间距,扫描二值化图像每一行的像素点的方式;可以减少扫描的行数,实现减少扫描的数据量,进而加快待定位二维码的定位速度。
在本申请的一些实施例中,该二维码定位方法还包括:根据所述中心点坐标解析所述待定位二维码。
具体地,将待定位二维码的探测图的中心点坐标输入开源的解码器,以使得开源的解码器根据待定位二维码的探测图的中心点坐标,将待定位二维码的信息解析出来。
在本申请实施例中,通过根据待定位二维码的探测图的中心点坐标,解析出待定位二维码的信息,可以实现准确、快速地解析出四周出现污渍、没有留白等情况的二维码。
为了更好实施本申请实施例中二维码定位方法,在二维码定位方法基础之上,本申请实施例中还提供一种二维码定位装置,如图7所示,为本申请实施例中二维码定位装置的一个实施例结构示意图,该二维码定位装置700包括:
获取单元701,用于获取待定位二维码的二值化图像,并获取所述二值化图像中各个像素点的坐标值;
定位单元702,用于获取第一目标像素点,并根据所述坐标值获取第一目标像素点对应的第一中心坐标,其中,所述第一目标像素点是指所述二值化图像第i行的像素点中,黑白像素比满足预设比例关系的多个连续像素点,所述黑白像素比是指黑色像素点:白色像素点:黑色像素点:白色像素点或白色像素点:黑色像素点:白色像素点:黑色像素点,所述预设比例关系是指黑白像素相间的多个连续像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点为1:1:3:1或白色像素点:黑色像素点:白色像素点:黑色像素点为1:3:1:1;根据所述第一中心坐标获取第二目标像素点,并根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标,其中,所述第二目标像素点是指所述二值化图像第j列的像素点中,黑白像素比满足所述预设比例关系的多个连续像素点,所述第一中心坐标的列坐标值和所述第二中心坐标的列坐标值均为j,所述第一目标像素点与所述第二目标像素点的像素点数相同。
在本申请的一些实施例中,所述定位单元702具体还用于:
根据所述坐标值获取第二目标像素点对应的第二中心坐标;
根据所述第二中心坐标获取第一待检测像素点,并检测所述第一待检测像素点是否满足所述预设比例关系,所述第一待检测像素点是指所述二值化图像中,坐标值为(i’-n,j-n)...(i’,j)..(i’+n,j’+n)的像素点,其中n为正数,(i’,j)表示第二中心坐标;
若所述第一待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
在本申请的一些实施例中,所述定位单元702具体还用于:
若所述第一待检测像素点不满足所述预设比例关系,则根据所述第二中心坐标获取第二待检测像素点,并检测所述第二待检测像素点是否满足所述预设比例关系,所述第二待检测像素点是指所述二值化图像中,坐标值为(i’+n,j-n)...(i’,j)..(i’-n,j+n)的像素点,其中n为正数;
若所述第二待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
在本申请的一些实施例中,所述定位单元702具体还用于:
根据预设的跳行间距,扫描所述二值化图像每一行的像素点,其中,所述二值化图像每行有w个像素点,每列有h个像素点;
若所述二值化图像第i行的像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则获取黑白像素比满足所述预设比例关系的多个连续像素点,以作为所述第一目标像素点。
在本申请的一些实施例中,所述定位单元702具体还用于:
从所述二值化图像中获取待选像素点,其中,所述待选像素点是指坐标处于(i-m*2/3,j)至(i+m*2/3,j)的像素点,所述第一中心坐标为(i,j),m表示第一目标像素点中间距最大的两个像素点的横坐标差值;
检测所述待选像素点中,是否存在黑白像素比满足所述预设比例关系的多个连续像素点;
若所述待选像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则从所述待选像素点中,获取存在黑白像素比满足所述预设比例关系的多个连续像素点,以作为第二目标像素点。
在本申请的一些实施例中,所述获取单元701具体还用于:
获取待定位二维码的原始图像;
对所述原始图像进行二值化处理,得到所述待定位二维码的二值化图像。
在本申请的一些实施例中,所述二维码定位装置还包括解析单元(图中未示出),所述解析单元具体用于:
根据所述中心点坐标解析所述待定位二维码。
此外,为了更好实施本申请实施例中二维码定位方法,在二维码定位方法基础之上,本申请实施例还提供一种二维码定位设备,参阅图8,图8示出了本申请实施例二维码定位设备的一种结构示意图,具体的,本申请实施例提供的二维码定位设备包括处理器801,处理器801用于执行存储器802中存储的计算机程序时实现如图1至图6对应任意实施例中二维码定位方法的各步骤;或者,处理器801用于执行存储器802中存储的计算机程序时实现如图7对应实施例中各单元的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器802中,并由处理器801执行,以完成本申请实施例。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
二维码定位设备可包括,但不仅限于处理器801、存储器802。本领域技术人员可以理解,示意仅仅是二维码定位设备的示例,并不构成对二维码定位设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如二维码定位设备还可以包括输入输出设备、网络接入设备、总线等,处理器801、存储器802、输入输出设备以及网络接入设备等通过总线相连。
处理器801可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是二维码定位设备的控制中心,利用各种接口和线路连接整个二维码定位设备的各个部分。
存储器802可用于存储计算机程序和/或模块,处理器801通过运行或执行存储在存储器802内的计算机程序和/或模块,以及调用存储在存储器802内的数据,实现计算机装置的各种功能。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据二维码定位设备的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的二维码定位装置、设备及其相应单元的具体工作过程,可以参考如图1至图6对应任意实施例中二维码定位方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1至图6对应任意实施例中二维码定位方法中的步骤,具体操作可参考如图1至图6对应任意实施例中二维码定位方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1至图6对应任意实施例中二维码定位方法中的步骤,因此,可以实现本申请如图1至图6对应任意实施例中二维码定位方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请实施例所提供的一种二维码定位方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种二维码定位方法,其特征在于,所述方法包括:
获取待定位二维码的二值化图像,并获取所述二值化图像中各个像素点的坐标值;
获取第一目标像素点,并根据所述坐标值获取第一目标像素点对应的第一中心坐标,其中,所述第一目标像素点是指所述二值化图像第i行的像素点中,黑白像素比满足预设比例关系的多个连续像素点,所述黑白像素比是指黑色像素点:白色像素点:黑色像素点:白色像素点或白色像素点:黑色像素点:白色像素点:黑色像素点,所述预设比例关系是指黑白像素相间的多个连续像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点为1:1:3:1或白色像素点:黑色像素点:白色像素点:黑色像素点为1:3:1:1;
根据所述第一中心坐标获取第二目标像素点,并根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标,其中,所述第二目标像素点是指所述二值化图像第j列的像素点中,黑白像素比满足所述预设比例关系的多个连续像素点,所述第一中心坐标的列坐标值和所述第二中心坐标的列坐标值均为j,所述第一目标像素点与所述第二目标像素点的像素点数相同;
所述根据所述第一中心坐标获取第二目标像素点,包括:
从所述二值化图像中获取待选像素点,其中,所述待选像素点是指坐标处于(i-m*2/3,j)至(i+m*2/3,j)的像素点,所述第一中心坐标为(i,j),m表示第一目标像素点中间距最大的两个像素点的横坐标差值;
检测所述待选像素点中,是否存在黑白像素比满足所述预设比例关系的多个连续像素点;
若所述待选像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则从所述待选像素点中,获取存在黑白像素比满足所述预设比例关系的多个连续像素点,以作为第二目标像素点。
2.根据权利要求1所述的二维码定位方法,其特征在于,所述根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标,包括:
根据所述坐标值获取第二目标像素点对应的第二中心坐标;
根据所述第二中心坐标获取第一待检测像素点,并检测所述第一待检测像素点是否满足所述预设比例关系,所述第一待检测像素点是指所述二值化图像中,坐标值为(i’-n,j-n)...(i’,j)..(i’+n,j’+n)的像素点,其中n为正数,(i’,j)表示第二中心坐标;
若所述第一待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
3.根据权利要求2所述的二维码定位方法,其特征在于,所述检测所述第一待检测像素点是否满足所述预设比例关系,步骤之后还包括:
若所述第一待检测像素点不满足所述预设比例关系,则根据所述第二中心坐标获取第二待检测像素点,并检测所述第二待检测像素点是否满足所述预设比例关系,所述第二待检测像素点是指所述二值化图像中,坐标值为(i’+n,j-n)...(i’,j)..(i’-n,j+n)的像素点,其中n为正数;
若所述第二待检测像素点满足所述预设比例关系,则将所述第二中心坐标作为所述待定位二维码的探测图的中心点坐标。
4.根据权利要求1所述的二维码定位方法,其特征在于,所述获取第一目标像素点,包括:
根据预设的跳行间距,扫描所述二值化图像每一行的像素点,其中,所述二值化图像每行有w个像素点,每列有h个像素点;
若所述二值化图像第i行的像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则获取黑白像素比满足所述预设比例关系的多个连续像素点,以作为所述第一目标像素点。
5.根据权利要求1所述的二维码定位方法,其特征在于,所述获取待定位二维码的二值化图像,包括:
获取待定位二维码的原始图像;
对所述原始图像进行二值化处理,得到所述待定位二维码的二值化图像。
6.根据权利要求1-5任一项所述的二维码定位方法,其特征在于,所述方法还包括:
根据所述中心点坐标解析所述待定位二维码。
7.一种二维码定位装置,其特征在于,所述二维码定位装置包括:
获取单元,用于获取待定位二维码的二值化图像,并获取所述二值化图像中各个像素点的坐标值;
定位单元,用于获取第一目标像素点,并根据所述坐标值获取第一目标像素点对应的第一中心坐标,其中,所述第一目标像素点是指所述二值化图像第i行的像素点中,黑白像素比满足预设比例关系的多个连续像素点,所述黑白像素比是指黑色像素点:白色像素点:黑色像素点:白色像素点或白色像素点:黑色像素点:白色像素点:黑色像素点,所述预设比例关系是指黑白像素相间的多个连续像素点满足黑色像素点:白色像素点:黑色像素点:白色像素点为1:1:3:1或白色像素点:黑色像素点:白色像素点:黑色像素点为1:3:1:1;根据所述第一中心坐标获取第二目标像素点,并根据所述坐标值获取第二目标像素点对应的第二中心坐标,以作为所述待定位二维码的探测图的中心点坐标,其中,所述第二目标像素点是指所述二值化图像第j列的像素点中,黑白像素比满足所述预设比例关系的多个连续像素点,所述第一中心坐标的列坐标值和所述第二中心坐标的列坐标值均为j,所述第一目标像素点与所述第二目标像素点的像素点数相同;
所述定位单元具体还用于:
从所述二值化图像中获取待选像素点,其中,所述待选像素点是指坐标处于(i-m*2/3,j)至(i+m*2/3,j)的像素点,所述第一中心坐标为(i,j),m表示第一目标像素点中间距最大的两个像素点的横坐标差值;
检测所述待选像素点中,是否存在黑白像素比满足所述预设比例关系的多个连续像素点;
若所述待选像素点中,存在黑白像素比满足所述预设比例关系的多个连续像素点,则从所述待选像素点中,获取存在黑白像素比满足所述预设比例关系的多个连续像素点,以作为第二目标像素点。
8.一种二维码定位设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至6任一项所述的二维码定位方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至6任一项所述的二维码定位方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010161024.0A CN113378595B (zh) | 2020-03-10 | 2020-03-10 | 二维码定位方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010161024.0A CN113378595B (zh) | 2020-03-10 | 2020-03-10 | 二维码定位方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113378595A CN113378595A (zh) | 2021-09-10 |
CN113378595B true CN113378595B (zh) | 2023-09-22 |
Family
ID=77568588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010161024.0A Active CN113378595B (zh) | 2020-03-10 | 2020-03-10 | 二维码定位方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113378595B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951726A (zh) * | 2015-06-25 | 2015-09-30 | 福建联迪商用设备有限公司 | 用于qr二维码位置探测的方法及装置 |
CN106156674A (zh) * | 2015-03-31 | 2016-11-23 | 联想(北京)有限公司 | 一种识别方法及电子设备 |
CN106372560A (zh) * | 2016-08-30 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 一种二维码探测图形的检测方法和装置、终端 |
CN107145810A (zh) * | 2017-04-26 | 2017-09-08 | 南京理工大学 | 一种全方位条码识别装置及方法 |
CN107729790A (zh) * | 2017-09-27 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 二维码定位方法及装置 |
CN110046529A (zh) * | 2018-12-11 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 二维码识别方法、装置及设备 |
CN110263597A (zh) * | 2019-06-27 | 2019-09-20 | 深圳市优象计算技术有限公司 | 一种快速准确的qr码校正方法及系统 |
CN110490021A (zh) * | 2019-08-21 | 2019-11-22 | 网易(杭州)网络有限公司 | 二维码定位方法、介质、装置和计算设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4301775B2 (ja) * | 2002-07-18 | 2009-07-22 | シャープ株式会社 | 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 |
CN104517089B (zh) * | 2013-09-29 | 2017-09-26 | 北大方正集团有限公司 | 一种二维码解码系统及其方法 |
CN104517090B (zh) * | 2013-09-29 | 2017-09-05 | 北大方正集团有限公司 | 一种qr码探测图形的检测方法及系统 |
-
2020
- 2020-03-10 CN CN202010161024.0A patent/CN113378595B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156674A (zh) * | 2015-03-31 | 2016-11-23 | 联想(北京)有限公司 | 一种识别方法及电子设备 |
CN104951726A (zh) * | 2015-06-25 | 2015-09-30 | 福建联迪商用设备有限公司 | 用于qr二维码位置探测的方法及装置 |
CN106372560A (zh) * | 2016-08-30 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 一种二维码探测图形的检测方法和装置、终端 |
CN107145810A (zh) * | 2017-04-26 | 2017-09-08 | 南京理工大学 | 一种全方位条码识别装置及方法 |
CN107729790A (zh) * | 2017-09-27 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 二维码定位方法及装置 |
CN110046529A (zh) * | 2018-12-11 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 二维码识别方法、装置及设备 |
CN110263597A (zh) * | 2019-06-27 | 2019-09-20 | 深圳市优象计算技术有限公司 | 一种快速准确的qr码校正方法及系统 |
CN110490021A (zh) * | 2019-08-21 | 2019-11-22 | 网易(杭州)网络有限公司 | 二维码定位方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113378595A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046529B (zh) | 二维码识别方法、装置及设备 | |
CN104951726B (zh) | 用于qr二维码位置探测的方法及装置 | |
US20150055857A1 (en) | Text detection in natural images | |
US11972583B2 (en) | Fluorescence image registration method, gene sequencing instrument, and storage medium | |
US8254683B2 (en) | Code image processing method | |
US9747486B2 (en) | Decoding visual codes | |
WO2014160433A2 (en) | Systems and methods for classifying objects in digital images captured using mobile devices | |
CN110647882A (zh) | 图像校正方法、装置、设备及存储介质 | |
JP2014059875A (ja) | 画像内のロゴの存在を検出する装置、及び方法 | |
CN108734161B (zh) | 冠字号区域的识别方法、装置、设备及存储介质 | |
CN111460355B (zh) | 一种页面解析方法和装置 | |
CN111882520A (zh) | 一种屏幕缺陷检测方法、装置及头戴显示设备 | |
CN111738252B (zh) | 图像中的文本行检测方法、装置及计算机系统 | |
CN108960247B (zh) | 图像显著性检测方法、装置以及电子设备 | |
CN112419207A (zh) | 一种图像矫正方法及装置、系统 | |
US9922263B2 (en) | System and method for detection and segmentation of touching characters for OCR | |
CN113129298B (zh) | 文本图像的清晰度识别方法 | |
CN113392455A (zh) | 基于深度学习的户型图比例尺检测方法、装置及电子设备 | |
CN113378595B (zh) | 二维码定位方法、装置、设备及存储介质 | |
CN109145916B (zh) | 一种图像文字识别切割方法及一种存储设备 | |
CN113496134A (zh) | 二维码定位方法、装置、设备及存储介质 | |
CN111753573B (zh) | 二维码图像识别方法、装置、电子设备以及可读存储介质 | |
CN112529923B (zh) | 一种控件识别方法及装置 | |
CN105930813B (zh) | 一种在任意自然场景下检测行文本的方法 | |
US8705874B2 (en) | Image processing method and system using regionalized architecture |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |