CN107862235A - 二维码的位置定位方法、装置及终端设备 - Google Patents
二维码的位置定位方法、装置及终端设备 Download PDFInfo
- Publication number
- CN107862235A CN107862235A CN201711090811.5A CN201711090811A CN107862235A CN 107862235 A CN107862235 A CN 107862235A CN 201711090811 A CN201711090811 A CN 201711090811A CN 107862235 A CN107862235 A CN 107862235A
- Authority
- CN
- China
- Prior art keywords
- picture
- detected
- quick response
- response code
- positioning
- 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.)
- Granted
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/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)
- Image Processing (AREA)
Abstract
本发明公开了一种二维码的位置定位方法、装置及终端设备,属于图像处理技术领域,所述方法包括:获取待检测图片中的初始定位图形,将嵌套深度不小于2的所述初始定位图形确定为目标定位图形;若所述目标定位图形的数量不小于3,则确定包括各所述目标定位图形的最小外接圆区域;基于所述最小外接圆区域,定位所述二维码的位置。该方法可以自动快速地实现对待检测图片中包含的二维码位置的准确定位,进而有效提高了用户体验。
Description
技术领域
本发明实施例涉及图像处理技术领域,尤其涉及一种二维码的位置定位方法、装置及终端设备。
背景技术
二维码是一种用黑白相间的图形来记录数据符号信息的条码,该黑白相间的图形由特定的几何图形按照一定的规律分布在平面上组成。如图1所示,二维码一般由功能图形和编码区域两部分组成,其中,编码区域包括格式信息、版本信息以及数据和纠错码。功能图形包括位置探测图形、位置探测图形分隔符、位置确定图形和校正图形。其中,位置探测图形位于二维码的顶角处,由三个嵌套的正方形组成,用于精确定位二维码的位置。
相关技术中,在二维码识别时,大多从待检测图片中识别二维码,这就需要用户手动对待检测图片中包含的二维码进行裁剪,然后再识别,进而获取该二维码的图像信息。上述过程相当繁琐,效率低下,无法实现二维码的快速识别。
发明内容
本发明实施例提供一种二维码的位置定位方法、装置及终端设备,以解相关技术中无法从待检测图片中快速准确定位二维码位置的问题。
第一方面,本发明实施例提供一种二维码的位置定位方法,包括:
获取待检测图片中的初始定位图形,所述待检测图片中包含二维码,所述初始定位图形包括至少一个封闭轮廓;
将嵌套深度不小于2的所述初始定位图形确定为目标定位图形,所述嵌套深度是所述初始定位图形中嵌套的所述封闭轮廓的数量;
若所述目标定位图形的数量不小于3,则确定能够包括各所述目标定位图形的最小外接圆区域;
基于所述最小外接圆区域,定位所述二维码的位置。
第二方面,本发明实施例提供一种二维码的位置定位装置,包括:
获取模块,用于获取待检测图片中的初始定位图形,所述待检测图片中包含二维码,所述初始定位图形包括至少一个封闭轮廓;
确定模块,用于将嵌套深度不小于2的所述初始定位图形确定为目标定位图形,所述嵌套深度是所述初始定位图形中嵌套的所述封闭轮廓的数量;并在所述目标定位图形的数量不小于3时,确定能够包括各所述目标定位图形的最小外接圆区域;
定位模块,用于基于所述最小外接圆区域,定位所述二维码的位置。
第三方面,本发明实施例提供一种终端设备,包括:处理器和被配置为存储处理器可执行指令的存储器;
所述处理器被配置为执行上述第一方面所述的二维码的位置定位方法。
第四方面,本发明实施例提供一种计算机存储介质,所述存储介质中存储计算机程序,所述计算机程序在执行时实现上述第一方面所述的二维码的位置定位方法。
本发明实施例的有益效果如下:
在本发明实施例中,根据二维码中的图形构成,首先获取待检测图片中由封闭轮廓构成的初始定位图形,再从这些初始定位图形中筛选出嵌套深度不小于2的作为目标定位图形。由于用于精确定位二维码的位置探测图形的数量是三个,且该位置探测图形的嵌套深度也不小于2,因此,当判断目标定位图形的数量不小于3时,确定上述目标定位图形集合中包括三个位置探测图形。进而基于该目标定位图形集合,确定能够包括各目标定位图形的最小外接圆区域,这样基于该最小外接圆区域,即可自动且快速地定位出待检测图片中二维码的位置。上述从待检测图片中定位出二维码的位置的过程简单、快速,有效提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为二维码示意图;
图2为本发明实施例一提供的二维码的位置定位方法的流程图;
图3为本本发明实施例一中的待检测图片的示意图;
图4为二维码磨损后的示意图;
图5为本发明实施例二提供的二维码的位置定位方法的流程图;
图6为本发明实施例三提供的二维码的位置定位方法的流程图;
图7为对目标定位图形进行过滤后获得的最小外接圆区域示意图;
图8为基于图7所示的最小外接圆区域确定的二维码示意图;
图9为本发明实施例一提供的二维码的位置定位装置的结构示意图;
图10为本发明实施例二提供的二维码的位置定位装置的结构示意图;
图11为本发明实施例三提供的二维码的位置定位装置的结构示意图;
图12为本发明实施例提供的终端设备的结构示意图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的方法,通过获取待检测图片中由封闭轮廓形成的初始定位图形,将嵌套深度不小于2的初始定位图形确定为目标定位图形,若目标定位图形的数量不小于3,则确定能够包括各目标定位图形的最小外接圆区域,并基于该最小外接圆区域,定位二维码的位置,进而实现对二维码的准确定位。即本实施例的方法,用户只需选择包含二维码的图片即可自动完成定位和识别,其整个过程简单,可以自动快速地实现对二维码的准确定位,进而有效提高了用户体验。
需要说明的是,本实施例中的“第一”、“第二”等只是用于标识作用,不表示任何顺序关系。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本发明实施例一提供的二维码的位置定位方法的流程图。如图2所示,本实施例的方法可以包括:
S101、获取待检测图片中的初始定位图形,所述待检测图片中包含二维码,所述初始定位图形包括至少一个封闭轮廓。
本实施例的实施环境可以包括终端设备和待检测图片,该待检测图片至少包括二维码。
其中,终端设备可以是手机、平板电脑、智能眼镜、智能手表等。其中,待检测图片可以是存储在终端设备相册中的图片,还可以是终端设备使用自身的摄像头扫描或拍照获得的。
如图3所示,待检测图片包括二维码图像和其他非二维码信息。其中,二维码可以为印刷在各种物体表面的二维码,也可以是显示在显示屏上的二维码,该二维码可以是QRCode(Quick Response Code,矩阵二维码符号)、数据矩阵码或授权码等。
本实施例,首先读取待检测图片,对待检测图片进行轮廓检测,获得该待检测图片中包含的封闭轮廓和初始定位图形,该初始定位图形包括至少一个封闭轮廓。如图1所示,黑色正方形框a和白色正方形框b均为封闭轮廓,且里面均嵌套有其他的封闭轮廓,即可记为初始定位图形。
S102、将嵌套深度不小于2的所述初始定位图形确定为目标定位图形,所述嵌套深度是所述初始定位图形中嵌套的所述封闭轮廓的数量。
根据上述步骤,获得待检测图片中的初始定位图形,接着,确定各初始定位图形的嵌套深度,即初始定位图形中所嵌套的封闭轮廓的数量。
举例说明,如图1所示,对待检测图片中的区域E进行轮廓检测,获得3个封闭轮廓,分别为:黑色正方形框(记为封闭轮廓a)、白色正方形框(记为封闭轮廓b)和黑色正方形(记为封闭轮廓c)。如图1所示,将上述三个封闭轮廓的轮廓信息分别记录在矩阵A中。此时,矩阵其中,(a11,a12...a1m)为封闭轮廓a的轮廓信息,(b11,b12...b1m)为封闭轮廓b的轮廓信息,(c11,c12...c1m)为封闭轮廓c的轮廓信息。由图1可知,封闭轮廓c位于封闭轮廓b中,封闭轮廓b位于封闭轮廓a中。即,封闭轮廓a中嵌套有两个封闭轮廓,分别为c和b,将封闭轮廓a记为初始定位图形a',且初始定位图形a'的嵌套深度为2。封闭轮廓b中嵌套有一个封闭轮廓,即为c,将封闭轮廓b记为初始定位图形b',且初始定位图形b'的嵌套深度为1。封闭轮廓c中没有嵌套其他的封闭轮廓,因此,封闭轮廓c无法构成初始定位图形。此时,矩阵A对应的初始定位图形构成矩阵B,矩阵B中各初始定位图形的嵌套深度构成矩阵C,矩阵
根据该方法,可以获得待检测图片中每个初始定位图形的轮廓信息,以及获得每个初始定位图形的嵌套深度。将每个初始定位图形的轮廓信息放置在矩阵B中,将每个初始定位图形的嵌套深度保存在矩阵C中对应的行中。
根据上述方法,获得该待检测图片中各初始定位图形的嵌套深度后,从矩阵C中获取嵌套深度不小于2的行,对应的,从矩阵B中获取嵌套深度不小于2的行所对应的初始定位图形,将这些初始定位图形确定为目标定位图形。
如图1所示,由于用于精确定位二维码的位置探测图形包括一个黑色正方形框(即封闭轮廓a)、一个白色正方形框(即封闭轮廓b)和一个黑色正方形(即封闭轮廓c),其中封闭轮廓a中嵌套两个封闭轮廓b和c,因此二维码的位置探测图形最外侧的黑色正方形框的嵌套深度为2,也即目标定位图形中包括位置探测图形。
需要说明的是,如图4所示,图1中的二维码的位置探测图形的黑色正方形(即封闭轮廓c),在使用过程中会磨损,使得封闭轮廓c中出现白色正方形d,该白色正方形d构成一个封闭轮廓。此时,封闭轮廓a的嵌套深度为3。也就是说,嵌套深度大于2的初始定位图形也有可能是二维码的位置探测图形。因此,本实施例从待检测图片中的各初始定位图形中,将嵌套深度大于或等于2的初始定位图形均筛选出,记为目标定位图形。
S103、若所述目标定位图形的数量不小于3,则确定能够包括各所述目标定位图形的最小外接圆区域。
S104、基于所述最小外接圆区域,定位所述二维码的位置。
当待检测图片中目标定位图形的数目大于或等于3时,说明这些初始定位图形中至少包括了二维码的3个位置检测图形。此时,确定能够包括各目标定位图形的最小外接圆区域,该最小外接圆区域包括二维码的3个位置检测图形。
可选的,在本实施例中,当目标定位图形的数量等于3时,将这3个目标定位图确定为二维码的3个位置探测图形,确定包括这3个目标定位图形的最小外接圆区域,基于该最小外接圆区域,定位二维码的位置。
可选的,当目标定位图形的数量大于3时,可以对目标定位图形进行过滤,过滤掉距离其他目标定位图形较远的目标定位图形,剩余至少3个目标定位图形。接着,确定能够包括剩余的目标定位图形的最小外接圆区域,并基于该最小外接圆区域,定位二维码的位置。
其中,基于该最小外接圆区域,定位二维码的位置可以是,获取该最小外接圆的圆心和直径。在待检测图片中以该圆心为中心,该直径为边长的正方形位置即为二维码的位置。
需要说明的是,当待检测图片中目标定位图形的个数小于3时,说明此时的目标定位图形没有完全包括二维码的3个位置探测图形。因此,根据此时的目标定位图形无法确定出待检测图片中二维码的位置,此次定位失败。
本实施例,通过对待检测图片进行轮廓检测,获得待检测图片的封闭轮廓构成的初始定位图形,并将嵌套深度大于或等于2的初始定位图形确定为目标定位图形。此时的目标定位图形数量较少,因此,使得基于目标定位图形确定二维码的位置的过程所处理的数据量少,进而实现对二维码的快速定位,其整个过程简单,且用户体验高。
本发明实施例提供的二维码的位置定位方法、装置及终端设备,通过获取待检测图片中的初始定位图形,将嵌套深度不小于2的初始定位图形确定为目标定位图形,若目标定位图形的数量不小于3,则确定能够包括各目标定位图形的最小外接圆区域,并基于该最小外接圆区域,定位二维码的位置。本实施例,首先获取待检测图片中由封闭轮廓构成的初始定位图形,将嵌套深度不小于2的初始定位图形确定为目标定位图形。由于二维码的位置探测图形的嵌套深度也不小于2,因此,当目标定位图形的数量不小于3时,该目标定位图形集合中包括二维码的三个位置探测图形。接着,确定能够包括各目标定位图形的最小外接圆区域,此时该最小外接圆区域也包括二维码的三个位置探测图形,这样使得基于该最小外接圆区域,可以快速定位出待检测图片中二维码的位置,整个过程简单,进而有效提高了用户体验。
可选的,本实施例的方法可以基于OpenCV(Open Source Computer VisionLibrary,基于开源发行的跨平台计算机视觉库)实现,即本实施例的终端设备上安装有OpenCV。
其中,OpenCV可以运行在Linux(一种计算机操作系统)、Windows(视窗操作系统)和Mac OS(苹果操作系统)操作系统上。它轻量级而且高效,由一系列C函数和少量C++类构成,同时提供了Python(巨蟒语言)、Ruby(一种为简单快捷面向对象编程而创的脚本语言)、MATLAB(Matrix Laboratory,矩阵实验室)等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV具有阈值化、边缘检测和轮廓检测的功能,同时,OpenCV提供了以矩阵形式组织数据的基本工具Mat,通过Mat可以方便地对图片进行读写操作和矩阵运算操作。由于Mat支持子矩阵运算,子矩阵与图片对应的三通道原始Mat矩阵共享数据地址,但是子矩阵的数据量要远小于原Mat矩阵数据,通过该特征可以有效提高代码运行效率。
例如,本实施例可以首先调用OpenCV的图片读取功能,将待检测图片读取到OpenCV中。接着,调用OpenCV的轮廓检测功能,对待检测图片进行轮廓检测,获得该待检测图片中各轮廓的轮廓信息。
本实施例的方法,利用OpenCV的轮廓检测功能,可以进一步快速实现对待检测图片中二维码的自动识别定位,进而避免用户手动定位二维码时造成的定位不准确和效率低的问题。
图5为本发明实施例二提供的二维码的位置定位方法的流程图。在上述实施例的基础上,本实施例涉及的是终端设备获取待检测图片中的初始定位图形的具体过程。如图5所示,上述S101具体可以包括:
S201、获取所述待检测图片对应的三通道原始Mat矩阵。
S202、对所述三通道原始Mat矩阵进行预处理,确定所述待检测图片的灰度图,以及所述灰度图对应的单通道Mat矩阵。
在检测二维码时,图片的色彩信息不是主要考虑因素,只需要获取待检测图片对应的灰度图即可完成检测。而灰度图的数据量相比三通道BGR(Blue Green Red,蓝绿红)图片的数据量要小3倍,所以利用灰度图能有效提高程序的运行效率。
基于上述描述,为了进一步提高二维码的定位速度,则本实施例需要对待检测图片进行预处理,以降低待检测图片的数据量。
具体是,调用OpenCV图片读取方法,将含有二维码的待检测图片读取到OpenCV应用程序中,得到一个和待检测图片相对应的三通道原始Mat矩阵,即BGR原始Mat矩阵。其中,获取待检测图片相对应的BGR原始Mat矩阵为现有方法,在此不再赘述。
接着,对BGR原始Mat矩阵进行预处理,获得待检测图片的灰度图,以及获得一个与该待检测图片灰度图相对应的单通道Mat矩阵。
其中,对BGR原始Mat矩阵进行预处理,主要包括对BGR原始Mat矩阵进行灰度转换、降噪处理和阈值处理等。
本实施例中,待检测图片的单通道Mat矩阵,其数据量小,这样可以进一步提高二维码的定位速度。
S203、对所述单通道Mat矩阵进行轮廓检测,确定所述待检测图片中的初始定位图形。
具体的,调用OpenCV轮廓检测方法,对预处理后的灰度图对应的单通道Mat矩阵进行轮廓检测,获得包含待检测图片的所有初始定位图形的二维数组VectorA。其中VectorA的每行由检测得到的各个初始定位图形的一些定位点组成,例如初始定位图形的顶点、转折点和边线点等组成,其中,VectorA的每行表示一个初始定位图形。
在本实施例中,由于经过上述步骤处理,得到的待检测图片的单通道Mat矩阵,其数据量相比与待检测图片的BGR原始Mat矩阵要小,因此,对单通道Mat矩阵进行轮廓检测时,其检测速度快,可以快速地获得待检测图片中的初始定位图形,进而提高了二维码定位的速度。
需要说明的是,本实施例中,调用OpenCV轮廓检测方法,对单通道Mat矩阵进行轮廓检测的过程为现有技术,在此不再赘述。
本发明实施例提供的二维码的位置定位方法,通过获取所述待检测图片对应的三通道原始Mat矩阵,并对所述三通道原始Mat矩阵进行预处理,确定所述待检测图片的灰度图,以及所述灰度图对应的单通道Mat矩阵,对所述单通道Mat矩阵进行轮廓检测,确定所述待检测图片中初始定位图形。待检测图片经过上述处理后,降低了待检测图片的数据量,进而提高了确定所述待检测图片中初始定位图形的速度,使得基于初始定位图形的二维码的定位速度也大大提高,进一步提高用户体验。
图6为本发明实施例三提供的二维码的位置定位方法的流程图,图7为对目标定位图形进行过滤后获得的最小外接圆区域示意图,图8为基于图7所示的最小外接圆区域确定的二维码示意图。在上述实施例的基础上,本实施例涉及的是终端设备在将嵌套深度不小于2的初始定位图形确定为目标定位图形之后,对目标定位图形进行过滤的具体过程。如图6所示,在上述S102之后,本实施例还可以包括:
S301、选取所述目标定位图形的关键点和所述待检测图片的参考点。
在本实施例中,如图3所示,该待检测图片中除了包括一个完整二维码之外,还包括一部分不完整的二维码信息。
根据上述S101和S102的步骤,将嵌套深度不小于2的初始定位图形确定为目标定位图形之后,获得如图7所示的目标定位图形分布情况,其中,图7中的白色框为目标定位图形。参照图3和图7,图7对应的目标定位图形中包括不属于完整二维码的目标定位图形。此时,需要对目标定位图进行过滤,过滤掉不是该完整二维码的目标定位图形。
具体是,选取目标定位图形的关键点,例如,将目标定位图形的中心作为目标定位图形的关键点,或者将目标定位图形的某一个顶点作为目标定位图形的关键点。同时,选取待检测图片的参考点,例如,将待检测图片的原点作为待检测图片的参考点,或者,将待检测图片的任意一个顶点作为待检测图片的参考点。
需要说明的是,各目标定位图形的关键点统一,例如,当一个目标定位图形的关键点为中心点时,其他目标定位图形的关键点也为自身的中心点。
一般情况下,这些目标定位图形的关键点主要集中在待检测图片二维码部分,如果目标定位图形的关键点偏离了待检测图片二维码部分较大,则容易筛选。如果目标定位图形的关键点集中待检测图片二维码附近,这些无效数据对位二维码的位置影响很小,可以不用筛选。
S302、计算所述关键点与所述参考点之间的距离。
在选取目标定位图形的关键点和待检测图片的参考点后,计算每个目标定位图形的关键点与待检测图片的参考点之间的距离,具体是根据两点之间的距离公式计算。
S303、将所述距离未在预设阈值范围内的目标定位图形删除。
待计算出目标定位图形的关键点与待检测图片的参考点之间的距离后,将计算出的每个距离与预设阈值进行比较,删除距离不在预设阈值范围内的目标定位图形,进而实现对目标定位图形的过滤。
优选的,预设阈值范围可以是用户预设的,也可以是由经验值确定的,当然该预设阈值范围也可以为一个定值。
可选的,上述预设阈值范围[Min,Max],Min和Max分别满足以下公式:
Min=mean-3*sigma
Max=mean+3*sigma
其中,mean为各个关键点与参考点之间的距离的平均值,sigma为各个关键点与参考点之间的距离的标准差。
具体的,根据上述方法,计算每个目标定位图形的关键点与待检测图片的参考点之间的距离后,计算这些距离的平均值mean和这些距离的标准差sigma。接着,将平均值mean与3倍的标准差sigma之和作为该预设阈值的最大值,将平均值mean与3倍的标准差之差sigma作为该预设阈值的最小值,此时的预设阈值为[mean-3*sigma,mean+3*sigma]。
在本实施例中,将关键点与参考点之间的距离不在[mean-3*sigma,mean+3*sigma]中的目标定位图形全部过滤掉后,上述S103若所述目标定位图形的数量不小于3,则确定包括各所述目标定位图形的最小外接圆区域,具体可以包括:
基于剩余的目标定位图形的关键点,确定包括各所述关键点的最小外接圆区域。
为了便于阐述,将距离在预设阈值范围内的目标定位图形记为第一目标定位图形。基于各第一目标定位图形的关键点,确定包括各第一目标定位图形的关键点的最小外接圆区域。例如,如图7所示,确定包括各第一目标定位图形的关键点(例如第一目标定位图形的中心)的最小外接圆区域(即图7中的圆形区域),将该最小外接圆区域作为这些第一目标定位图形的最小外接圆区域。
此时,基于图7所示的最小外接圆区域,从待检测图片中剪裁二维码,获得如图8所示的二维码,该二维码的定位准确性高。
即本实施例,通过对目标定位图形进行过滤,并基于过滤后的目标定位图形的关键点来确定最小外接圆区域,进一步提高了定位待检测图片中二维码位置的准确性,避免用户手动定位二维码时造成的定位不准确和效率低的问题。
本发明实施例提供的二维码的位置定位方法,通过对目标定位图形进行筛选,删除掉距离待检测图片较远的目标定位图形,基于过滤后的目标定位图形的关键点来确定最小外接圆区域,进而提高了最小外接圆区域的准确性,使得基于准确性较高的最小外接圆区域确定的二维码位置也更加精确,进一步提高了二维码的定位准确性。
图9为本发明实施例一提供的二维码的位置定位装置的结构示意图,该二维码的位置定位装置100可以设置在任意终端设备的处理器中,该二维码的位置定位装置100可以通过软件、硬件或软/硬结合的方式实现。如图9所示,本实施例的二维码的位置定位装置100可以包括:
获取模块110,用于获取待检测图片中的初始定位图形,所述待检测图片中包含二维码,所述初始定位图形包括至少一个封闭轮廓。
确定模块120,用于将嵌套深度不小于2的所述初始定位图形确定为目标定位图形,所述嵌套深度是所述初始定位图形中嵌套的所述封闭轮廓的数量;并在所述目标定位图形的数量不小于3时,确定能够包括各所述目标定位图形的最小外接圆区域。
定位模块130,用于基于所述最小外接圆区域,定位所述二维码的位置。
图10为本发明实施例二提供的二维码的位置定位装置的结构示意图。在上述实施例的基础上,上述获取模块110包括:获取单元111、确定单元112和检测单元113:
获取单元111,用于获取所述待检测图片对应的三通道原始Mat矩阵。
确定单元112,用于对所述三通道原始Mat矩阵进行预处理,确定所述待检测图片的灰度图,以及所述灰度图对应的单通道Mat矩阵。
检测单元113,用于对所述单通道Mat矩阵进行轮廓检测,确定所述待检测图片中的初始定位图形。
图11为本发明实施例三提供的二维码的位置定位装置的结构示意图。在上述实施例的基础上,所述装置还包括选取模块140、计算模块150和删除模块160;
选取模块140,用于选取所述目标定位图形的关键点和所述待检测图片的参考点。
计算模块150,用于计算所述关键点与所述参考点之间的距离。删除模块160,用于将所述距离未在预设阈值范围内的目标定位图形删除。
在本实施例的一种可能的实现方式中,上述确定模块120,具体用于在将所述距离未在预设阈值范围内的目标定位图形删除之后,基于剩余的目标定位图形的关键点,确定包括各所述关键点的最小外接圆区域。
需要说明的是:上述实施例提供的二维码的位置定位装置在进行二维码定位处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的二维码的位置定位装置与二维码的位置定位方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12为本发明实施例提供的终端设备的结构示意图,如图12所示,该终端设备800包括:处理器820和被配置为存储处理器820可执行指令的存储器804。
其中,处理器820被配置为执行图2、5、6所示的二维码的位置定位方法。
本发明实施例还提供一种计算机存储介质,该存储介质中存储计算机程序,所述计算机程序在执行时实现图2、5、6所示的二维码的位置定位方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种二维码的位置定位方法,其特征在于,包括:
获取待检测图片中的初始定位图形,所述待检测图片中包含二维码,所述初始定位图形包括至少一个封闭轮廓;
将嵌套深度不小于2的所述初始定位图形确定为目标定位图形,所述嵌套深度是所述初始定位图形中嵌套的所述封闭轮廓的数量;
若所述目标定位图形的数量不小于3,则确定包括各所述目标定位图形的最小外接圆区域;
基于所述最小外接圆区域,定位所述二维码的位置。
2.根据权利要求1所述的方法,其特征在于,所述获取待检测图片中的初始定位图形,具体包括:
获取所述待检测图片对应的三通道原始Mat矩阵;
对所述三通道原始Mat矩阵进行预处理,确定所述待检测图片的灰度图,以及所述灰度图对应的单通道Mat矩阵;
对所述单通道Mat矩阵进行轮廓检测,确定所述待检测图片中的初始定位图形。
3.根据权利要求1所述的方法,其特征在于,在所述将嵌套深度不小于2的所述初始定位图形确定为目标定位图形之后,所述方法还包括:
选取所述目标定位图形的关键点和所述待检测图片的参考点;
计算所述关键点与所述参考点之间的距离;
将所述距离未在预设阈值范围内的目标定位图形删除。
4.根据权利要求3所述的方法,其特征在于,所述若所述目标定位图形的数量不小于3,则确定包括各所述目标定位图形的最小外接圆区域,具体包括:
在将所述距离未在预设阈值范围内的目标定位图形删除之后,基于剩余的目标定位图形的关键点,确定包括各所述关键点的最小外接圆区域。
5.根据权利要求3所述的方法,其特征在于,所述预设阈值范围是[Min,Max],Min=mean-3*sigma,Max=mean+3*sigma;
其中,mean为各个关键点与参考点之间的距离的平均值,sigma为各个关键点与参考点之间的距离的标准差。
6.一种二维码的位置定位装置,其特征在于,包括:
获取模块,用于获取待检测图片中的初始定位图形,所述待检测图片中包含二维码,所述初始定位图形包括至少一个封闭轮廓;
确定模块,用于将嵌套深度不小于2的所述初始定位图形确定为目标定位图形,所述嵌套深度是所述初始定位图形中嵌套的所述封闭轮廓的数量;并在所述目标定位图形的数量不小于3时,确定能够包括各所述目标定位图形的最小外接圆区域;
定位模块,用于基于所述最小外接圆区域,定位所述二维码的位置。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:获取单元、确定单元和检测单元;
所述获取单元,用于获取所述待检测图片对应的三通道原始Mat矩阵;
所述确定单元,用于对所述三通道原始Mat矩阵进行预处理,确定所述待检测图片的灰度图,以及所述灰度图对应的单通道Mat矩阵;
所述检测单元,用于对所述单通道Mat矩阵进行轮廓检测,确定所述待检测图片中的初始定位图形。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括选取模块、计算模块和删除模块;
所述选取模块,用于选取所述目标定位图形的关键点和所述待检测图片的参考点;
所述计算模块,用于计算所述关键点与所述参考点之间的距离;
所述删除模块,用于将所述距离未在预设阈值范围内的目标定位图形删除。
9.一种终端设备,其特征在于,包括:处理器和被配置为存储处理器可执行指令的存储器;
所述处理器被配置为执行权利要求1-5任一所述的二维码的位置定位方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储计算机程序,所述计算机程序在执行时实现权利要求1-5中的任一所述的二维码的位置定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711090811.5A CN107862235B (zh) | 2017-11-08 | 2017-11-08 | 二维码的位置定位方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711090811.5A CN107862235B (zh) | 2017-11-08 | 2017-11-08 | 二维码的位置定位方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107862235A true CN107862235A (zh) | 2018-03-30 |
CN107862235B CN107862235B (zh) | 2021-02-26 |
Family
ID=61701205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711090811.5A Active CN107862235B (zh) | 2017-11-08 | 2017-11-08 | 二维码的位置定位方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107862235B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388825A (zh) * | 2018-04-04 | 2018-08-10 | 厦门码灵半导体技术有限公司 | 快速反应码搜寻方法和装置 |
CN108985129A (zh) * | 2018-08-02 | 2018-12-11 | 谷东科技(广州)有限公司 | 二维码的定位与检出方法 |
CN109657514A (zh) * | 2018-12-04 | 2019-04-19 | 连尚(新昌)网络科技有限公司 | 一种用于生成和识别二维码的方法与设备 |
CN110555498A (zh) * | 2018-06-04 | 2019-12-10 | 北京三快在线科技有限公司 | 二维码的生成方法、装置、电子设备、存储介质 |
CN111753573A (zh) * | 2020-06-28 | 2020-10-09 | 北京奇艺世纪科技有限公司 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
CN112912886A (zh) * | 2018-10-23 | 2021-06-04 | 电装波动株式会社 | 信息码读取装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1963843A (zh) * | 2006-11-16 | 2007-05-16 | 深圳矽感科技有限公司 | 二维码及其解码方法、应用该二维码的印刷出版物 |
CN103177251A (zh) * | 2013-02-21 | 2013-06-26 | 南京金东康信息系统有限公司 | 一种qr码自动定位及定向方法 |
CN105074733A (zh) * | 2012-12-19 | 2015-11-18 | 电装波动株式会社 | 信息码、信息码生成方法、信息码读取装置以及信息码应用系统 |
CN105373756A (zh) * | 2015-10-13 | 2016-03-02 | 浙江工业大学 | 一种激光二维码识别装置 |
CN105469015A (zh) * | 2014-09-11 | 2016-04-06 | 北京慧眼智行科技有限公司 | 一种快速定位拍码距离的方法及系统 |
KR20170038468A (ko) * | 2015-09-30 | 2017-04-07 | 국민대학교산학협력단 | 컬러 qr코드를 생성하고 인식하는 방법 및 시스템 |
CN106991460A (zh) * | 2017-01-23 | 2017-07-28 | 中山大学 | 一种qr码快速定位检测算法 |
US20170243096A1 (en) * | 2016-02-22 | 2017-08-24 | Jeff Kotowski | Method and apparatus for multi-dimentional code storage and transfer system |
-
2017
- 2017-11-08 CN CN201711090811.5A patent/CN107862235B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1963843A (zh) * | 2006-11-16 | 2007-05-16 | 深圳矽感科技有限公司 | 二维码及其解码方法、应用该二维码的印刷出版物 |
CN105074733A (zh) * | 2012-12-19 | 2015-11-18 | 电装波动株式会社 | 信息码、信息码生成方法、信息码读取装置以及信息码应用系统 |
CN103177251A (zh) * | 2013-02-21 | 2013-06-26 | 南京金东康信息系统有限公司 | 一种qr码自动定位及定向方法 |
CN105469015A (zh) * | 2014-09-11 | 2016-04-06 | 北京慧眼智行科技有限公司 | 一种快速定位拍码距离的方法及系统 |
KR20170038468A (ko) * | 2015-09-30 | 2017-04-07 | 국민대학교산학협력단 | 컬러 qr코드를 생성하고 인식하는 방법 및 시스템 |
CN105373756A (zh) * | 2015-10-13 | 2016-03-02 | 浙江工业大学 | 一种激光二维码识别装置 |
US20170243096A1 (en) * | 2016-02-22 | 2017-08-24 | Jeff Kotowski | Method and apparatus for multi-dimentional code storage and transfer system |
CN106991460A (zh) * | 2017-01-23 | 2017-07-28 | 中山大学 | 一种qr码快速定位检测算法 |
Non-Patent Citations (1)
Title |
---|
王景中 等: ""一种快速有效的QR码定位方法"", 《计算机技术与发展》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388825A (zh) * | 2018-04-04 | 2018-08-10 | 厦门码灵半导体技术有限公司 | 快速反应码搜寻方法和装置 |
CN108388825B (zh) * | 2018-04-04 | 2021-06-08 | 厦门码灵半导体技术有限公司 | 快速反应码搜寻方法和装置 |
CN110555498A (zh) * | 2018-06-04 | 2019-12-10 | 北京三快在线科技有限公司 | 二维码的生成方法、装置、电子设备、存储介质 |
CN108985129A (zh) * | 2018-08-02 | 2018-12-11 | 谷东科技(广州)有限公司 | 二维码的定位与检出方法 |
CN108985129B (zh) * | 2018-08-02 | 2021-11-23 | 谷东科技有限公司 | 二维码的定位与检出方法 |
CN112912886A (zh) * | 2018-10-23 | 2021-06-04 | 电装波动株式会社 | 信息码读取装置 |
CN109657514A (zh) * | 2018-12-04 | 2019-04-19 | 连尚(新昌)网络科技有限公司 | 一种用于生成和识别二维码的方法与设备 |
CN111753573A (zh) * | 2020-06-28 | 2020-10-09 | 北京奇艺世纪科技有限公司 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
CN111753573B (zh) * | 2020-06-28 | 2023-09-15 | 北京奇艺世纪科技有限公司 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107862235B (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107862235A (zh) | 二维码的位置定位方法、装置及终端设备 | |
CN109961064B (zh) | 身份证文本定位方法、装置、计算机设备及存储介质 | |
CN112348815A (zh) | 图像处理方法、图像处理装置以及非瞬时性存储介质 | |
CN112016614B (zh) | 光学图像目标检测模型的构建方法、目标检测方法及装置 | |
CN110866871A (zh) | 文本图像矫正方法、装置、计算机设备及存储介质 | |
CN105989317B (zh) | 一种二维码的识别方法及装置 | |
CN110705583A (zh) | 细胞检测模型训练方法、装置、计算机设备及存储介质 | |
CN113962306A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN112381061B (zh) | 一种面部表情识别方法及系统 | |
CN111291761B (zh) | 用于识别文字的方法和装置 | |
CN109509200A (zh) | 基于轮廓提取的棋盘格角点检测方法、装置以及计算机可读存储介质 | |
CN110781890A (zh) | 身份证识别方法、装置、电子设备及可读取存储介质 | |
CN111680690A (zh) | 一种文字识别方法及装置 | |
CN111898610A (zh) | 卡片缺角检测方法、装置、计算机设备及存储介质 | |
CN110866965A (zh) | 一种三维模型的贴图绘制方法及装置 | |
CN111539238B (zh) | 二维码图像修复方法、装置、计算机设备和存储介质 | |
CN111260564A (zh) | 一种图像处理方法和装置及计算机存储介质 | |
CN110738712B (zh) | 一种几何图案重构方法、装置、设备及存储介质 | |
CN114692661A (zh) | 二维码识别方法、存储介质和计算机 | |
CN116798041A (zh) | 图像识别方法、装置和电子设备 | |
CN114219946B (zh) | 文本图像的二值化方法及装置、电子设备和介质 | |
CN113034449B (zh) | 目标检测模型训练方法、装置及通信设备 | |
CN112419459B (zh) | 烘焙模型ao贴图的方法、装置、计算机设备和存储介质 | |
CN113971738A (zh) | 图像检测方法、装置、电子设备及存储介质 | |
CN111222504A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd. Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |