CN111753573A - 二维码图像识别方法、装置、电子设备以及可读存储介质 - Google Patents
二维码图像识别方法、装置、电子设备以及可读存储介质 Download PDFInfo
- Publication number
- CN111753573A CN111753573A CN202010600133.8A CN202010600133A CN111753573A CN 111753573 A CN111753573 A CN 111753573A CN 202010600133 A CN202010600133 A CN 202010600133A CN 111753573 A CN111753573 A CN 111753573A
- Authority
- CN
- China
- Prior art keywords
- image
- sub
- array
- elements
- value
- 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
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/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/1452—Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
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
本发明实施例提供了一种二维码图像识别方法、装置、电子设备及可读存储介质,所述方法包括:从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域;在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。通过上述方法可以逐步准确筛选出二维码的定位图像,从而准确地定位二维码图像的所在位置,提高了二维码识别的准确率,保证了业务的稳定性和安全性。
Description
技术领域
本发明涉及图像处理领域,特别是涉及一种二维码图像识别方法、装置、电子设备及可读存储介质。
背景技术
二维码是近几年移动设备上非常流行的一种编码方式,它比传统的条形码能存储更多的信息,也能表示更多的数据类型。二维码在移动应用中能够承担登录、用户标识、支付、分享与关注等多种业务,所以识别二维码是是一个主流应用程序必须具备的能力。
目前,大多数移动应用都采用一些开源的二维码识别框架,但是这些识别框架比较老旧,不能适用于现在形形色色的二维码。现有的识别框架采用寻找面积最接近的三个图形的方法来识别二维码图像中的定位点,但是现在有些二维码的定位点周围也会有类似面积大小的图形,这些图形也会被识别框架误认为是定位点,从而导致识别失败。因此,现有的二维码识别方法准确率较低,这会导致在与支付、金融相关的二维码业务中,业务的稳定性与安全性得不到保证。
发明内容
本发明实施例的目的在于提供一种二维码图像识别方法、装置、电子设备及可读存储介质,以解决现有的二维码识别方法准确率较低的问题。
在本发明实施的第一方面,提供一种二维码图像识别方法,所述方法包括:
从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;
选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域;
在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
可选地,所述选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像,包括:
从所述子图像的边中,选取两个目标点;所述两个目标点的横坐标值和纵坐标值至少有一个不相同;
在所述子图像中包括的连通区域的所有像素点中,从所述两个目标点确定的第一线段的一端开始,提取与所述第一线段重合的目标像素点,并获取每个所述目标像素点对应的像素值;
确定所述目标像素点在各个所述连通区域的像素值是否满足离散特征,并确定所述目标像素点在各个所述连通区域的个数是否满足预设比例关系;
选取同时满足所述离散特征和所述预设比例关系的所述子图像作为定位图像。
可选地,所述两个目标点确定的第一线段过所述子图像的中心。
可选地,所述从所述子图像的边中,选取两个目标点,包括:
若所述子图像的边存在端点,则从所述子图像的边的端点中,选取横坐标值和纵坐标值均不相同的两个端点作为所述两个目标点;
若所述子图像的边不存在端点,则选取第二直线与所述子图像的边的两个交点作为所述两个目标点,所述第二直线为任意过所述子图像的中心的直线。
可选地,在从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像之前,还包括:
从组成原始图像的各图形中选取形状为矩形的图形作为预处理图像;
从所述预处理图像的各顶点确定的线段中选取两条目标线段,所述两条目标线段分别为所述线段中长度最短和长度第二短的两条线段;
在所述两条目标线段的长度的比值在预设范围内的情况下,将所述预处理图像确定为待识别图像。
可选地,所述确定所述目标像素点在各个所述连通区域的像素值是否满足离散特征,并确定所述目标像素点在各个所述连通区域的个数是否满足预设比例关系,包括:
将所述像素值按照所述目标像素点的提取顺序依次排列,得到包括多个元素的第一数组,所述元素的值为所述像素值;
将所述第一数组中相邻且相等的元素合并为一个元素,得到包括多个元素的第二数组;
确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,并确定所述第一数组中与各个所述连通区域对应的元素的个数是否满足预设比例关系。
可选地,所述确定所述第一数组中与各个所述连通区域对应的元素的个数是否满足预设比例关系,包括:
将所述第一数组中的元素分为多个子段;其中,位于相同子段中的元素的元素值相同,位于相邻子段中的元素的元素值不同;
依次确定每个所述子段中的元素的个数,并按照所述子段的排列顺序将所述个数依次排列,得到包括多个元素的第三数组,所述第三数组中的元素的值为所述个数;
确定所述第三数组中的各个元素的值是否满足预设的比例关系。
可选地,所述确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,包括:
确定所述第二数组中元素的个数;
若所述个数为第三取值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
可选地,所述确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,包括:
对所述第二数组中的各个元素的值进行归一化处理,得到第四数组;所述第四数组中的元素的值为所述第二数组中的各个元素的归一化值;
确定所述第四数组中的所有元素的方差;
若所述方差大于或等于第一阈值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
可选地,在将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像之前,还包括:
通过仿射变换,对所述能够同时覆盖每个所述定位图像的最小矩形所处的区域进行形变矫正。
可选地,所述从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像,包括:
对待识别图像进行边缘提取,得到待识别图像的轮廓图像;
识别所述轮廓图像中的轮廓线,并确定是否存在所述轮廓线的嵌套层数等于第一取值的子轮廓图像;
若存在,则将所述子轮廓图像对应在待识别图像中的区域确定为子图像。
在本发明实施的第二方面,提供一种二维码图像识别装置,所述装置包括:
子图像确定模块,用于从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;
定位图像选取模块,用于选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域;
识别模块,用于在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
可选地,所述定位图像选取模块,包括:
目标点选取子模块,用于从所述子图像的边中,选取两个目标点;所述两个目标点的横坐标值和纵坐标值至少有一个不相同;
像素点提取子模块,用于在所述子图像中包括的连通区域的所有像素点中,从所述两个目标点确定的第一线段的一端开始,提取与所述第一线段重合的目标像素点,并获取每个所述目标像素点对应的像素值;
特征关系确定子模块,用于确定所述目标像素点在各个所述连通区域的像素值是否满足离散特征,并确定所述目标像素点在各个所述连通区域的个数是否满足预设比例关系;
定位图像确定子模块,用于选取同时满足所述离散特征和所述预设比例关系的所述子图像作为定位图像。
可选地,所述目标点选取子模块包括:
第一选取单元,用于若所述子图像的边存在端点,则从所述子图像的边的端点中,选取横坐标值和纵坐标值均不相同的两个端点作为所述两个目标点;
第二选取单元,用于若所述子图像的边不存在端点,则选取第二直线与所述子图像的边的两个交点作为所述两个目标点,所述第二直线为任意过所述子图像的中心的直线。
可选地,所述装置还包括:
矩形选取模块,用于从组成原始图像的各图形中选取形状为矩形的图形作为预处理图像;
目标线段选取模块,用于从所述预处理图像的各顶点确定的线段中选取两条目标线段,所述两条目标线段分别为所述线段中长度最短和长度第二短的两条线段;
待识别图像确定模块,用于在所述两条目标线段的长度的比值在预设范围内的情况下,将所述预处理图像确定为待识别图像。
可选地,所述特征关系确定子模块,包括:
第一数组确定单元,用于将所述像素值按照所述目标像素点的提取顺序依次排列,得到包括多个元素的第一数组,所述元素的值为所述像素值;
第二数组确定单元,用于将所述第一数组中相邻且相等的元素合并为一个元素,得到包括多个元素的第二数组;
特征关系确定单元,用于确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,并确定所述第一数组中与各个所述连通区域对应的元素的个数是否满足预设比例关系。
可选地,所述特征关系确定单元,包括:
分段子单元,用于将所述第一数组中的元素分为多个子段;其中,位于相同子段中的元素的元素值相同,位于相邻子段中的元素的元素值不同;
第三数组确定子单元,用于依次确定每个所述子段中的元素的个数,并按照所述子段的排列顺序将所述个数依次排列,得到包括多个元素的第三数组,所述第三数组中的元素的值为所述个数;
关系确定子单元,用于确定所述第三数组中的各个元素的值是否满足预设的比例关系。
可选地,所述特征关系确定单元,包括:
个数确定子单元,用于确定所述第二数组中元素的个数;
第一特征确定子单元,用于若所述个数为第三取值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
可选地,所述特征关系确定单元,包括:
归一化子单元,用于对所述第二数组中的各个元素的值进行归一化处理,得到第四数组;所述第四数组中的元素的值为所述第二数组中的各个元素的归一化值;
方差确定子单元,用于确定所述第四数组中的所有元素的方差;
第二特征确定子单元,用于若所述方差大于或等于第一阈值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
可选地,所述装置还包括:
矫正模块,用于通过仿射变换,对所述能够同时覆盖每个所述定位图像的最小矩形所处的区域进行形变矫正。
可选地,所述子图像确定模块,包括:
边缘提取子模块,用于对待识别图像进行边缘提取,得到待识别图像的轮廓图像;
轮廓识别子模块,用于识别所述轮廓图像中的轮廓线,并确定是否存在所述轮廓线的嵌套层数等于第一取值的子轮廓图像;
子图像确定子模块,用于若存在,则将所述子轮廓图像对应在待识别图像中的区域确定为子图像。
在本发明实施的第三方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的二维码图像识别方法。
在本发明实施的第四方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的二维码图像识别方法。
综上所述,本发明实施例提供的二维码图像识别方法和装置,从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;选取各个连通区域的像素点同时满足离散特征和预设比例关系的子图像作为定位图像;在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。在上述方法中,首先根据轮廓线的嵌套层数确定子图像,再根据连通区域的像素点满足的条件从子图像中筛选出定位图像。因为二维码定位图像的嵌套层数是固定的,且各连通区域的像素点是满足离散特征和预设比例关系的,因此,通过上述方法可以逐步准确筛选出二维码的定位图像,从而准确地定位二维码图像的所在位置,提高了二维码识别的准确率,保证了业务的稳定性和安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中的二维码图像识别方法的流程图之一;
图2是本发明实施例中的二维码图像的示意图;
图3是本发明实施例中的待识别图像和轮廓图像的示意图;
图4是本发明实施例中的连通区域的示意图;
图5是本发明实施例中的最小矩形的示意图;
图6为本发明实施例中的二维码图像识别方法的流程图之二;
图7为本发明实施例中的二维码图像识别方法的流程图之三;
图8为本发明实施例中的二维码图像识别装置的结构框图之一;
图9为本发明实施例中的二维码图像识别装置的结构框图之二;
图10为本发明实施例中的二维码图像识别装置的结构框图之三;
图11为本发明实施例中的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
图1是本发明实施例中的二维码图像识别方法的流程图之一。如图1所示,所述方法包括以下步骤:
步骤101,从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像。
在本发明实施例中,电子设备接收用户的二维码扫描指令,打开摄像头对待识别的图像进行扫描。扫描之后电子设备即获取了待识别图像,接下来对待识别图像进行边缘检测并提取边缘部分,得到待识别图像的轮廓图像。识别轮廓图像中存在相互嵌套的多个轮廓线,计算嵌套的层数,若存在嵌套的层数为第一取值的,则将该多个轮廓线围成的区域对应在待识别图像中的部分确定为子图像。具体地,该第一取值为3,即当轮廓线的嵌套层数为3时,将三个轮廓线所围成的区域对应在待识别图像中的部分确定为子图像。当然,随着二维码的发展应用,可能会出现定位图像的嵌套层数取值为其他值的情况,因此,本发明实施例不限定第一取值为3,第一取值可以根据二维码的定位图像的嵌套层数的变化而变化。该子图像为初步确定的待识别图像中的定位图像,子图像的个数可以有多个,但子图像并不都是定位图像,需要继续通过其他步骤方法进行甄别。
若待识别图像中不存在轮廓线的嵌套层数等于第一取值的子图像,则说明待识别图像不是二维码图像,则退出识别流程并重新扫描。
图2是本发明实施例中的二维码图像的示意图。在图2中,P1、P2、P3所示的为二维码图像的三个定位图像,位于二维码的三个角落,用于二维码的位置检测,可以使二维码不受背景样式的影响,实现快速稳定的读取。P4所示的虚框为二维码的数据部分,数据部分由大量的P5所示的码元组成,码元存储有二维码的数据信息。
图3是本发明实施例中的待识别图像和轮廓图像的示意图。通过对图3左侧的待识别图像进行边缘检测,可以得到图3右侧所示的轮廓图像。在轮廓图像中,S1、S2、S3所示分别为三条轮廓线,这三条轮廓线相互嵌套且嵌套层数为3层,而第一取值为3,因此,将这三条轮廓线对应在待识别图像中的部分确定为子图像,即图3左侧虚框所包围的矩形。该待识别图像中的子图像有三个。
步骤102,选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域。
一般地,只根据轮廓线的嵌套层数还不能确定子图像为定位图像,还需要根据子图像中包括的各个连通区域的像素点是否同时满足离散特征和预设比例关系来进一步判断。
连通区域为具有相同像素值且位置相邻的像素组成的区域。例如在图4中,P6、P7、P8所示分别为定位图像的三个不同的连通区域。在二维码中,定位图像的特征是黑白均匀相间,即三个连通区域的像素值为黑白均匀相间,即三个连通区域的像素值满足离散特征。并且,定位图像是轴对称图像,用一条直线同时穿过三个连通区域,在各个连通区域上与这条直线重合的目标像素点的个数具有特定的比例关系。
因此,需要确定子图像中包括的各个连通区域的像素点是否同时满足离散特征和预设比例关系,若满足,则说明子图像为定位图像。
步骤103,在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
子图像有多个,采用步骤102的方法从子图像中确定定位图像,并统计定位图像的个数。当确定的定位图像的个数为第二取值时,说明待识别图像为二维码图像。在二维码图像中,一般有三个定位图像,因此,第二取值可以为3。在顺利找到三个定位图像的情况下,使用最小包围圈算法即可确定包围每个定位图像的最小矩形。需要说明的是,本发明实施例不限定第二取值为3,第二取值可以根据现实中二维码的发展而变化。
图5是本发明实施例中的最小矩形的示意图。在图5中,S4、S5、S6所示为步骤102中确定的三个定位图像,S7所示的虚框即为覆盖三个定位图像的最小矩形。
最小矩形包围的区域为二维码图像的数据部分,数据部分由码元组成,将最小矩形覆盖的区域交给解码框架进行解码,可以得到二维码图像中的数据信息。
综上所述,本发明实施例提供的二维码图像识别方法,从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。在上述方法中,首先根据轮廓线的嵌套层数确定子图像,再根据连通区域的像素点满足的条件从子图像中筛选出二维码的定位图像。因为二维码定位图像的嵌套层数是固定的,且各连通区域的像素点是满足离散特征和预设比例关系的,因此,通过上述方法可以逐步准确筛选出二维码的定位图像,从而准确地定位二维码图像的所在位置,提高了二维码识别的准确率,保证了业务的稳定性和安全性。
图6是本发明实施例中的二维码图像识别方法的流程图之二。如图6所示,所述方法包括以下步骤:
步骤201,对待识别图像进行边缘提取,得到待识别图像的轮廓图像。
在本发明实施例中,在获取到待识别图像后,可以加载图像进行一些预处理。首先可以将待识别图像转换为灰度图像,并使用高斯模糊、阈值处理进行图像去噪。去噪实际上就是将图像中哪些对我们需要识别提取的图像造成干扰的区域弱化或者抹去,从而突出我们关心的区域。
在进行预处理之后,对待识别图像进行边缘检测,提取出程序认为是边缘的点或者线,得到待识别图像的轮廓图像。
具体地,可以采用Canny边缘算法进行边缘提取,该算法主要的处理步骤如下:在已经完成去噪的图片上生成每个像素点的亮度梯度图(intensity gradients),以及亮度梯度的方向;通过非极大值抑制(non-maximum suppression)缩小边缘宽度,非极大值抑制的目的是,只保留梯度方向上的极大值,删除其他非极大值,从而实现锐化的效果;通过双阈值法(double threshold)寻找潜在边缘,大于高阈值的像素点为强边缘(strong edge),保留,小于低阈值的像素点删除,不大不小的像素点为弱边缘(weak edge),待定;弱边缘有可能是边缘,也可能是噪音,通过迟滞现象(Hysteresis)处理待定边缘。
步骤202,识别所述轮廓图像中的轮廓线,并确定是否存在所述轮廓线的嵌套层数等于第一取值的子轮廓图像。
在本发明实施例中,轮廓图像中包括多个轮廓线,轮廓线是一系列相连的点组成的曲线,代表了物体的基本外形,相对于边缘,轮廓是连续的,边缘并不全部连续。连续的轮廓线存在相互嵌套的现象,即大轮廓包含小轮廓的情况。检测是否存在轮廓线的嵌套层数等于第一取值的情况,因为在一般的二维码图像中,定位图像的轮廓线的嵌套层数为三层,因此,第一取值可以为3。嵌套层数为第一取值,即有个数为第一取值的轮廓线存在相互嵌套和包含的情况。将最外层的轮廓线内包含的所有图像确定为子轮廓图像。
若存在嵌套层数为第一取值的轮廓线,则进行步骤203;若不存在嵌套层数为第一取值的轮廓线,则说明待识别图像不是二维码图像,则退出识别流程。
步骤203,若存在,则将所述子轮廓图像对应在待识别图像中的区域确定为子图像。
在本发明实施例中,子轮廓图像是由一层层的轮廓线构成的,寻找子轮廓图像的目的是初步确定二维码图像的定位图像,在寻找到子轮廓图像后,将子轮廓图像对应在待识别图像中的区域确定为子图像。该子图像为初步确定的待识别图像中的定位图像。
步骤204,从所述子图像的边中,选取两个目标点;所述两个目标点的横坐标值和纵坐标值至少有一个不相同。
在本发明实施例中,每个子图像由至少一条边构成。若子图像为圆形,则由一条圆周边构成,若子图像为多边形,则由至少三条边构成。从子图像的边中,选取横坐标值和纵坐标值至少有一个不相同的两个目标点,则对于圆形,可以选取到位于圆周上的两个目标点,两个目标点之间的连线为圆形的弦或直径;多边形以矩形为例,则可以选取到分别位于矩形两个边上的目标点,两个目标点之间的连线可以为矩形的对称轴或矩形的对角线或任意的平行于矩形对称轴的线段。
可选地,所述两个目标点确定的第一线段过所述子图像的中心。
在本发明实施例中,两个目标点确定的第一线段,即两个目标点之间的连线。对于圆形来说,第一线段过圆形的中心,则第一线段为圆形的直径。现有的二维码图像中定位图像大多是矩形,因此,多边形中以矩形为例进行说明。对于矩形来说,若两个目标点的横纵坐标值均不相同,则两个目标点的连线,即第一线段,为矩形的对角线;若两个目标点的横纵坐标值有一个不相同,则在第一线段过子图像的中心的限制下,该第一线段为矩形的两条对称轴其中之一。
可选地,步骤204包括以下步骤2041或步骤2042:
步骤2041,若所述子图像的边存在端点,则从所述子图像的边的端点中,选取横坐标值和纵坐标值均不相同的两个端点作为所述两个目标点。
端点是线段或射线的起点或终点,子图像的边存在端点,则说明子图像是多边形。选取横坐标值和纵坐标值均不相同的两个端点作为所述两个目标点,则目标点之间的连线为多边形的对角线。
步骤2042,若所述子图像的边不存在端点,则选取第二直线与所述子图像的边的两个交点作为所述两个目标点,所述第二直线为任意过所述子图像的中心的直线。
圆形是没有端点的图形,若子图像的边不存在端点,则子图像为圆形。第二直线为任意过子图像中心的直线,则第二直线为圆的直径。两个目标点分别为直径在圆周上的交点。
在本发明实施例中,步骤204给出了在任何形状的子图像中两个目标点的统一选取方法。而在步骤204的思想指导下,步骤2041和步骤2042分别针对子图像的边存在端点和不存在端点的两种情况,给出了两个目标点的具体选取方法,根据不同的图形设置不同的选取方法,可以更准确、快速地选取目标点,提高了工作效率。
步骤205,在所述子图像中包括的连通区域的所有像素点中,从所述第一线段的一端开始,提取与所述第一线段重合的目标像素点,并获取每个所述目标像素点对应的像素值。
若子图像是圆形,则第一线段为直径;若子图像是多边形,则第一线段为对称轴或对角线。提取与第一线段重合的目标像素点并获取像素值,即是获取直径或对称轴或对角线所对应的像素点的像素值。以子图像是矩形、且现有的黑白相间的二维码定位图像为例,从第一线段的一端开始,第一线段共经过了五个连通区域,其中有两个连通区域经过两次。提取各个连通区域中与第一线段重合的目标像素点,目标像素点的像素值分别为其所在的各个连通区域的像素值。
如图4所示,第一线段为线段AD或线段BC。以线段BC为例,从B点开始,其所经过的连通区域依次为P6、P7、P8、P7、P6。子图像为灰度图像,区域P6的像素值为255,区域P7的像素值为0,区域P8的像素值为255。
步骤206,确定所述目标像素点在各个所述连通区域的像素值是否满足离散特征,并确定所述目标像素点在各个所述连通区域的个数是否满足预设比例关系。
在二维码图像中,定位图像的特征是黑白均匀相间,即三个连通区域的像素值为黑白相间,即三个连通区域的像素值满足离散特征。并且,定位图像是轴对称图像,用一条直线同时穿过三个连通区域,位于直线上的像素点的个数具有特定的比例关系。
因此,通过确定所述目标像素点在各个所述连通区域的像素值是否满足离散特征,并确定所述目标像素点在各个所述连通区域的个数是否满足预设比例关系,可以判定子图像是否是真正的定位图像。
可选地,步骤206包括步骤2061-步骤2063:
步骤2061,将所述像素值按照所述目标像素点的提取顺序依次排列,得到包括多个元素的第一数组,所述元素的值为所述像素值。
在本发明实施例中,第一线段所经过的像素点为子图像的斜对角线,将这些像素点的像素值从所经过的第一个点到最后一个点,依次排列,并存入第一数组中。子图像中包括三个连通区域,若从外到内依次为第一连通区域、第二连通区域、第三连通区域,则第一线段从端点开始经过的连通区域依次为第一连通区域、第二连通区域、第三连通区域、第二连通区域、第一连通区域。
在图4中,第一线段为线段BC,从B点开始,其所经过的连通区域依次为P6、P7、P8、P7、P6。区域P6的像素值为255,区域P7的像素值为0,区域P8的像素值为255。
若子图像为二维码的定位图像,且第一线段第一次经过第一连通区域的像素点个数为m、第一次经过第二连通区域的像素点个数为n、经过第三连通区域的像素点个数为p、第二次经过第一连通区域的像素点个数为q、第二次经过第二连通区域的像素点个数为r,则第一数组可以表示为:(m个255,n个0,p个255,q个0,r个255)。其中,m个255表示m个元素的值均为255,n个0表示n个元素的值均为0,p个255表示p个元素的值均为255,q个0表示q个元素的值均为0,r个255表示r个元素的值均为255。
步骤2062,将所述第一数组中相邻且相等的元素合并为一个元素,得到包括多个元素的第二数组。
二维码图像的定位图像的特征是黑白均匀相间,即三个连通区域的像素值为黑白相间。因此,将相邻且相等的元素合并为一个元素,得到的第二数组应该为(255,0,255,0,255)。
步骤2063,确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,并确定所述第一数组中与各个所述连通区域对应的元素的个数是否满足预设比例关系。
在本发明实施例中,二维码图像的定位图像是黑白均匀分布的,因此,第一数组中的元素的个数应满足预设比例关系,且定位图像是黑白相间的,因此,第二数组中的元素值应满足离散特征。
若两个条件均满足,则说明子图像为二维码图像的定位图像。若有一个条件不满足,则说明子图像不是定位图像,则继续识别其他子图像。
可选地,所述确定所述第一数组中与各个所述连通区域对应的元素的个数是否满足预设比例关系,包括以下步骤20631-步骤20633:
步骤20631,将所述第一数组中的元素分为多个子段;其中,位于相同子段中的元素的元素值相同,位于相邻子段中的元素的元素值不同。
在本发明实施例中,根据元素值将第一数组中的元素进行分段,若第一数组为:(m个255,n个0,p个255,q个0,r个255),则m个255、n个0、p个255、q个0、r个255分别被分为一段。
步骤20632,依次确定每个所述子段中的元素的个数,并按照所述子段的排列顺序将所述个数依次排列,得到包括多个元素的第三数组,所述第三数组中的元素的值为所述个数。
若第一数组为:(m个255,n个0,p个255,q个0,r个255),则每个子段中的元素的个数依次为m、n、p、q、r,则第三数组为(m,n,p,q,r)。
步骤20633,确定所述第三数组中的元素的个数是否满足预设的比例关系。
对于一般的二维码图像的定位图像来说,其是黑白均匀分布的,第一线段所经过的不同像素值的元素的个数满足预设比例关系,具体比例关系取值根据不同的二维码样式和选取的第一线段而定,此处不做限定。以现有的二维码图像为例,定位图像为矩形,若第一线段为矩形的对角线,则该预设比例关系为1:1:3:1:1。因此,需要确定m:n:p:q:r是否满足1:1:3:1:1的比例关系。当然,随着二维码的发展应用,可能会出现定位图像的预设比例关系为其他值的情况,因此,本发明实施例不限定预设比例关系的取值,预设比例关系可以根据二维码的定位图像的发展而变化。若满足,则说明第一数组中的元素满足预设比例关系。
根据第一数组中元素的个数确定子图像中连通区域的像素值是否满足预设的比例关系,比较简便可行,且比较准确。
可选地,可采用步骤20634-步骤20635确定第二数组中与各个所述连通区域对应的元素的值是否满足离散特征,也可以采用步骤20636-步骤20637确定第二数组中与各个所述连通区域对应的元素的值是否满足离散特征。
具体地,所述确定所述第二数组中与各个所述连通区域对应的元素的值是否满足离散特征,包括以下步骤20634-步骤20635:
步骤20634,确定所述第二数组中元素的个数。
在本发明实施例中,第二数组为将相邻且相等的元素合并后的数组,假设其为:(255,0,255,0,255),则第二数组中元素的个数为5。
步骤20635,若所述个数为第三取值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
因为二维码图像的定位图像是黑白相间的,因此第一线段经过的像素值应该是五种像素值,因此第三取值为5。若第二数组中元素的个数为5,则说明第二数组中的元素满足离散特征。
同样,本发明实施例不限定第三取值的具体取值,第三取值可以根据二维码的定位图像的发展而变化。
在本发明实施例中,根据第二数组中元素的个数确定第二数组是否满足离散特征,判定方法较为简捷方便。
具体地,所述确定第二数组中与各个所述连通区域对应的元素的值是否满足离散特征,包括以下步骤20636-步骤20638:
步骤20636,对所述第二数组中的各个元素的值进行归一化处理,得到第四数组;所述第四数组中的元素的值为所述第二数组中的各个元素的归一化值。
第二数组为将相邻且相等的元素合并后的数组,假设其为:(255,0,255,0,255),对各个元素的值除以一个共同值,可以得到归一化值,采用归一化值计算方差,有利于简化计算,并且有利于统一阈值标准。例如,对第二数组中的各个元素同除以255,得到的第四数组为(1,0,1,0,1)。
步骤20637,确定所述第四数组中的元素的方差。
方差可以描述一组数据的离散程度,方差越大则离散程度越大。因为二维码图像的定位图像是黑白相间的,因此第二数组中的元素的方差应该是较大的。设数组中的元素为x1,x2,x3……xn,其平均数为M,则方差S2的计算公式为:
其中,x1,x2,x3……xn为数组中的各个元素,n为数组中元素的个数,M为x1,x2,x3……xn的平均值。
步骤20638,若所述方差大于或等于第一阈值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
预先设定满足离散特征的方差的第一阈值,若步骤20837算出的方差大于或等于第一阈值,则说明第二数组是满足离散特征的。
在本发明实施例中,根据第二数组的归一化数组即第四数组中元素的方差来确定第二数组是否满足离散特征,比较精确可靠。
步骤207,选取同时满足所述离散特征和所述预设比例关系的子图像作为定位图像。
当子图像满足了真正的定位图像的边长长度比值的条件,且满足了定位图像的离散特征和预设比例关系的条件,则充分说明子图像为定位图像,从子图像中按照上述条件确定定位图像。
步骤208,在确定所述定位图像的个数为第二取值的情况下,通过仿射变换,对所述能够同时覆盖每个所述定位图像的最小矩形所处的区域进行形变矫正。
当确定的定位图像的个数为第二取值时,说明待识别图像为二维码图像。在二维码图像中,一般有三个定位图像,因此,第二取值可以为3。在顺利找到三个定位图像的情况下,使用最小包围圈算法即可确定包围每个定位图像的最小矩形。
待识别图像可能会存在形变,因此最小矩形包围的图像也会有形变,若直接交给解码框架进行解码操作,则会对识别的准确度产生影响,所以可以对最小矩形包围的图像进行形变矫正。具体方法是仿射变换,其原理是获取空间变换矩阵后将输入图像的每一个像素进行矩阵相乘后输出。形变矫正的目的是有利于解码框架无需进行鉴别直接进行解码,提升效率。
步骤209,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像进行识别二维码图像。
最小矩形包围的区域为二维码图像的数据部分,数据部分由码元组成,将最小矩形包围的区域交给解码框架进行解码,可以得到二维码图像中的数据信息。
综上,本发明实施例提供的二维码图像识别装置,除具有图1中的二维码图像识别方法的有益效果外,还根据第一数组中元素的个数确定子图像中连通区域的像素值是否满足预设的比例关系,简便可行,且比较准确;并且根据第二数组中元素的个数确定第二数组是否满足离散特征,判定方法较为简捷方便;此外,还可以根据第二数组的归一化数组即第四数组中元素的方差来确定第二数组是否满足离散特征,比较精确可靠。
图7为本发明实施例中的二维码图像识别方法的流程图之三。如图7所示,所述方法包括以下步骤:
步骤301,从组成原始图像的各图形中选取形状为矩形的图形作为预处理图像。
在本发明实施例中,原始图像为欲进行二维码识别的图像,原始图像中可能包括多种形状的图形。对于现有的二维码图像来说,定位图像为矩形,因此,为了更准确、快速地找到定位图像,此处先在组成原始图像的各图形中选取矩形,并将选出的所有矩形作为预处理图像。具体地,可以采用矩形逼近算法进行矩形的选取。
步骤302,从所述预处理图像的各顶点确定的线段中选取两条目标线段,所述两条目标线段分别为所述线段中长度最短和长度第二短的两条线段。
因为现有的二维码定位图像一般为正方形或近似正方形,为了识别的准确率更高,可以选取形状为正方形或近似正方形的预处理图像。
具体地,预处理图像是矩形,其具有四条边,相邻两条边相交的点为预处理图像的顶点。由任意两个顶点可以确定一条线段,线段的端点分别为两个顶点。对于矩形来说,任意两个顶点确定的线段为矩形的四条边以及两条对角线。从所有这些线段中,选取长度最短和第二短的两条线段,则排除了两条对角线,即选取到了定位图像的两条边。若定位图像为正方形,则长度最短的线段和长度第二短的线段一样长,将这两条线段作为目标线段;若定位图像为近似正方形,则两条线段分别是所有线段中长度最短和长度第二短的线段,将这两条线段作为目标线段。
图4是本发明实施例中的目标线段的示意图。在图4中,定位图像为ABCD,是一个正方形。定位图像的任意两个顶点确定的线段有四条边:线段AC、线段AB、线段BD、线段CD以及两条对角线:线段BC、线段AD,其中,定位图像的四条边长度一样长,因此两条目标线段可以为线段AC、线段AB、线段BD、线段CD中的任意两条。若定位图像不为正方形,只要按照定位图像的任意两个顶点确定的线段中长度最短和第二短的两条线段来选取目标线段即可。
步骤303,在所述两条目标线段的长度的比值在预设范围内的情况下,将所述预处理图像确定为待识别图像。
正方形两个边长之间的比值为1,近似正方形两个边的边长比值接近1。因此,可以设置预设范围,该范围可以为位于1左右的一个小范围,如【0.98,1.02】。将两条目标线段作商,得到两条目标线段的比值。若比值在这个预设范围内,则说明预处理图像为正方形或近似正方形。
寻找两条目标线段的长度的比值在预设范围内的预处理图像,将满足条件的预处理图像确定为待识别图像。若两条目标线段的长度的比值不在预设范围内,则说明预处理图像不是正方形或近似正方形,此时,丢弃该预处理图像,并继续识别下一个预处理图像。
此步骤从预处理图像中选取形状为正方形或近似正方形的图像作为待识别图像,方便了后续步骤在正方形或近似正方形的限定下筛选定位图像,缩小了后续筛选定位图像的范围,提高了工作效率;又因为提前进行了形状限定,提高了识别的准确率。
步骤304,从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像。
在本发明实施例中,步骤304可以参照步骤101,此处不再赘述。
此外,步骤301筛选矩形形状以及步骤302和步骤303筛选正方形或近似正方形的步骤也可以在步骤304之后进行,即获取嵌套层数等于第一取值的子图像之后,再从子图像中筛选矩形、进一步筛选正方形或近似正方形,然后再进行后面的确定定位图像的步骤。
步骤305,选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域。
在本发明实施例中,步骤305可以参照步骤102,此处不再赘述。
步骤306,在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
在本发明实施例中,步骤306可以参照步骤103,此处不再赘述。
综上所述,本发明实施例提供的二维码图像识别方法,除了具有图1中的二维码识别方法的有益效果,还从组成原始图像的各图形中选取形状为矩形的图形作为预处理图像;从所述预处理图像的各顶点确定的线段中选取两条目标线段,所述两条目标线段分别为所述线段中长度最短和长度第二短的两条线段;在所述两条目标线段的长度的比值在预设范围内的情况下,将所述预处理图像确定为待识别图像。这样,方便了后续步骤在正方形或近似正方形的限定下筛选定位图像,缩小了后续筛选定位图像的范围,提高了工作效率;又因为提前进行了形状限定,提高了识别的准确率。
图8为本发明实施例中的二维码图像识别装置的结构框图之一。如图8所示,所述二维码识别装置400包括:
子图像确定模块401,用于从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;
定位图像选取模块402,用于选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域;
识别模块403,用于在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
综上所述,本发明实施例提供的二维码图像识别装置,从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。在上述方法中,首先根据轮廓线的嵌套层数确定子图像,再根据连通区域的像素点满足的条件从子图像中筛选出二维码真正的定位图像。因为二维码定位图像的嵌套层数是固定的,且各连通区域的像素点是满足离散特征和预设比例关系的,因此,通过上述方法可以逐步准确筛选出二维码的定位图像,从而准确地定位二维码图像的所在位置,提高了二维码识别的准确率,保证了业务的稳定性和安全性。
在图8的基础上,图9为本发明实施例中的二维码图像识别装置的结构框图之二。如图9所示,其中,所述定位图像选取模块402包括:
目标点选取子模块4021,用于从所述子图像的边中,选取两个目标点;所述两个目标点的横坐标值和纵坐标值至少有一个不相同;
像素点提取子模块4022,用于在所述子图像中包括的连通区域的所有像素点中,从所述第一线段的一端开始,提取与所述第一线段重合的目标像素点,并获取每个目标像素点对应的像素值;
特征关系确定子模块4023,用于确定所述目标像素点在各个所述连通区域的像素值是否满足离散特征,并确定所述目标像素点在各个所述连通区域的个数是否满足预设比例关系;
定位图像确定子模块4024,用于选取同时满足所述离散特征和所述预设比例关系的所述子图像作为定位图像。
可选地,所述目标点选取子模块4021包括:
第一选取单元,用于若所述子图像的边存在端点,则从所述子图像的边的端点中,选取横坐标值和纵坐标值均不相同的两个端点作为所述两个目标点;
第二选取单元,用于若所述子图像的边不存在端点,则选取第二直线与所述子图像的边的两个交点作为所述两个目标点,所述第二直线为任意过所述子图像的中心的直线。
可选地,所述特征关系确定子模块4023,包括:
第一数组确定单元,用于将所述像素值按照所述目标像素点的提取顺序依次排列,得到包括多个元素的第一数组,所述元素的值为所述像素值;
第二数组确定单元,用于将所述第一数组中相邻且相等的元素合并为一个元素,得到包括多个元素的第二数组;
特征关系确定单元,用于确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,并确定所述第一数组中与各个所述连通区域对应的元素的个数是否满足预设比例关系。
可选地,所述特征关系确定单元,包括:
分段子单元,用于将所述第一数组中的元素分为多个子段;其中,位于相同子段中的元素的元素值相同,位于相邻子段中的元素的元素值不同;
第三数组确定子单元,用于依次确定每个所述子段中的元素的个数,并按照所述子段的排列顺序将所述个数依次排列,得到包括多个元素的第三数组,所述第三数组中的元素的值为所述个数;
关系确定子单元,用于确定所述第三数组中的各个元素的值是否满足预设的比例关系。
可选地,所述特征关系确定单元,包括:
个数确定子单元,用于确定所述第二数组中元素的个数;
第一特征确定子单元,用于若所述个数为第三取值,则确定所述第二数组中与各个所述连通区域对应的的元素的值满足离散特征。
可选地,所述特征关系确定单元,包括:
归一化子单元,用于对所述第二数组中的各个元素的值进行归一化处理,得到第四数组;所述第四数组中的元素的值为所述第二数组中的各个元素的归一化值;
方差确定子单元,用于确定所述第四数组中的所有元素的方差;
第二特征确定子单元,用于若所述方差大于或等于第一阈值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
可选地,所述装置400还包括:
矫正模块404,用于通过仿射变换对所述能够同时包围每个所述定位图像的最小矩形确定的图像进行形变矫正。
可选地,所述子图像确定模块401,包括:
边缘提取子模块4011,用于提取待识别图像的边缘部分,得到待识别图像的轮廓图像;
轮廓识别子模块4012,用于识别所述轮廓图像中的轮廓线,并确定是否存在所述轮廓线的嵌套层数等于第一取值的子轮廓图像;
子图像确定子模块4013,用于若存在,则将所述子轮廓图像对应在待识别图像中的区域确定为子图像。
综上,本发明实施例提供的二维码图像识别装置,除具有图8中的二维码图像识别方法的有益效果外,还根据第一数组中元素的个数确定子图像中连通区域的像素值是否满足预设的比例关系,简便可行,且比较准确;并且根据第二数组中元素的个数确定第二数组是否满足离散特征,判定方法较为简捷方便;此外,还可以根据第二数组的归一化数组即第四数组中元素的方差来确定第二数组是否满足离散特征,比较精确可靠。
图10为本发明实施例中的二维码图像识别装置的结构框图之三。如图10所示,所述二维码识别装置500包括:
矩形选取模块501,用于从组成原始图像的各图形中选取形状为矩形的图形作为预处理图像;
目标线段选取模块502,用于从所述预处理图像的各顶点确定的线段中选取两条目标线段,所述两条目标线段分别为所述线段中长度最短和长度第二短的两条线段;
待识别图像确定模块503,用于在所述两条目标线段的长度的比值在预设范围内的情况下,将所述预处理图像确定为待识别图像。
子图像确定模块504,用于从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;
定位图像选取模块505,用于选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域;
识别模块506,用于在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
综上所述,本发明实施例提供的二维码图像识别装置,除了具有图8中的二维码识别装置的有益效果之外,还从组成原始图像的各图形中选取形状为矩形的图形作为预处理图像;从所述预处理图像的各顶点确定的线段中选取两条目标线段,所述两条目标线段分别为所述线段中长度最短和长度第二短的两条线段;在所述两条目标线段的长度的比值在预设范围内的情况下,将所述预处理图像确定为待识别图像。这样,方便了后续步骤在正方形或近似正方形的限定下筛选定位图像,缩小了后续筛选定位图像的范围,提高了工作效率;又因为提前进行了形状限定,提高了识别的准确率。
本发明实施例还提供了一种电子设备,如图11所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;
选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域;
在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码图像识别方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码图像识别方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上各实施例不局限于该实施例自身的技术方案,实施例之间可以相互结合成新的实施例。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种二维码图像识别方法,其特征在于,所述方法包括:
从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;
选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域;
在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
2.根据权利要求1所述的方法,其特征在于,所述选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像,包括:
从所述子图像的边中,选取两个目标点;所述两个目标点的横坐标值和纵坐标值至少有一个不相同;
在所述子图像中包括的连通区域的所有像素点中,从所述两个目标点确定的第一线段的一端开始,提取与所述第一线段重合的目标像素点,并获取每个所述目标像素点对应的像素值;
确定所述目标像素点在各个所述连通区域的像素值是否满足离散特征,并确定所述目标像素点在各个所述连通区域的个数是否满足预设比例关系;
选取同时满足所述离散特征和所述预设比例关系的所述子图像作为定位图像。
3.根据权利要求2所述的方法,其特征在于,所述两个目标点确定的第一线段过所述子图像的中心。
4.根据权利要求2所述的方法,其特征在于,所述从所述子图像的边中,选取两个目标点,包括:
若所述子图像的边存在端点,则从所述子图像的边的端点中,选取横坐标值和纵坐标值均不相同的两个端点作为所述两个目标点;
若所述子图像的边不存在端点,则选取第二直线与所述子图像的边的两个交点作为所述两个目标点,所述第二直线为任意过所述子图像的中心的直线。
5.根据权利要求1所述的方法,其特征在于,在从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像之前,还包括:
从组成原始图像的各图形中选取形状为矩形的图形作为预处理图像;
从所述预处理图像的各顶点确定的线段中选取两条目标线段,所述两条目标线段分别为所述线段中长度最短和长度第二短的两条线段;
在所述两条目标线段的长度的比值在预设范围内的情况下,将所述预处理图像确定为待识别图像。
6.根据权利要求2所述的方法,其特征在于,所述确定所述目标像素点在各个所述连通区域的像素值是否满足离散特征,并确定所述目标像素点在各个所述连通区域的个数是否满足预设比例关系,包括:
将所述像素值按照所述目标像素点的提取顺序依次排列,得到包括多个元素的第一数组,所述元素的值为所述像素值;
将所述第一数组中相邻且相等的元素合并为一个元素,得到包括多个元素的第二数组;
确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,并确定所述第一数组中与各个所述连通区域对应的元素的个数是否满足预设比例关系。
7.根据权利要求5所述的方法,其特征在于,所述确定所述第一数组中与各个所述连通区域对应的元素的个数是否满足预设比例关系,包括:
将所述第一数组中的元素分为多个子段;其中,位于相同子段中的元素的元素值相同,位于相邻子段中的元素的元素值不同;
依次确定每个所述子段中的元素的个数,并按照所述子段的排列顺序将所述个数依次排列,得到包括多个元素的第三数组,所述第三数组中的元素的值为所述个数;
确定所述第三数组中的各个元素的值是否满足预设的比例关系。
8.根据权利要求5所述的方法,其特征在于,所述确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,包括:
确定所述第二数组中元素的个数;
若所述个数为第三取值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
9.根据权利要求5所述的方法,其特征在于,所述确定所述第二数组中与各个所述连通区域对应的的元素的值是否满足离散特征,包括:
对所述第二数组中的各个元素的值进行归一化处理,得到第四数组;所述第四数组中的元素的值为所述第二数组中的各个元素的归一化值;
确定所述第四数组中的所有元素的方差;
若所述方差大于或等于第一阈值,则确定所述第二数组中与各个所述连通区域对应的元素的值满足离散特征。
10.根据权利要求1所述的方法,其特征在于,在将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像之前,还包括:
通过仿射变换,对所述能够同时覆盖每个所述定位图像的最小矩形所处的区域进行形变矫正。
11.根据权利要求1所述的方法,其特征在于,所述从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像,包括:
对待识别图像进行边缘提取,得到待识别图像的轮廓图像;
识别所述轮廓图像中的轮廓线,并确定是否存在所述轮廓线的嵌套层数等于第一取值的子轮廓图像;
若存在,则将所述子轮廓图像对应在待识别图像中的区域确定为子图像。
12.一种二维码图像识别装置,其特征在于,所述装置包括:
子图像确定模块,用于从待识别图像中获取轮廓线的嵌套层数等于第一取值的子图像;
定位图像选取模块,用于选取各个连通区域的像素点同时满足离散特征和预设比例关系的所述子图像作为定位图像;所述连通区域为所述子图像中具有相同像素值且位置相邻的像素组成的区域;
识别模块,用于在所述定位图像的个数为第二取值的情况下,将能够同时覆盖每个所述定位图像的最小矩形所处的区域作为待识别的二维码图像。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-11任一所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600133.8A CN111753573B (zh) | 2020-06-28 | 2020-06-28 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600133.8A CN111753573B (zh) | 2020-06-28 | 2020-06-28 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753573A true CN111753573A (zh) | 2020-10-09 |
CN111753573B CN111753573B (zh) | 2023-09-15 |
Family
ID=72677830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010600133.8A Active CN111753573B (zh) | 2020-06-28 | 2020-06-28 | 二维码图像识别方法、装置、电子设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753573B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034447A (zh) * | 2021-03-10 | 2021-06-25 | 歌尔股份有限公司 | 一种边缘缺陷检测方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5726435A (en) * | 1994-03-14 | 1998-03-10 | Nippondenso Co., Ltd. | Optically readable two-dimensional code and method and apparatus using the same |
US6088482A (en) * | 1998-10-22 | 2000-07-11 | Symbol Technologies, Inc. | Techniques for reading two dimensional code, including maxicode |
JP2011014012A (ja) * | 2009-07-03 | 2011-01-20 | Fujitsu Computer Technologies Ltd | 2次元コード読取方法、2次元コード抽出方法、2次元コード認識方法及び2次元コード読取装置 |
CN104517089A (zh) * | 2013-09-29 | 2015-04-15 | 北大方正集团有限公司 | 一种二维码解码系统及其方法 |
CN106372560A (zh) * | 2016-08-30 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 一种二维码探测图形的检测方法和装置、终端 |
CN107862235A (zh) * | 2017-11-08 | 2018-03-30 | 青岛海信移动通信技术股份有限公司 | 二维码的位置定位方法、装置及终端设备 |
CN109522768A (zh) * | 2018-10-22 | 2019-03-26 | 清华大学 | Qr码的识别方法及装置 |
CN109858304A (zh) * | 2019-01-04 | 2019-06-07 | 广州广电研究院有限公司 | 二维码位置探测图形的检测方法、装置和存储介质 |
CN109993019A (zh) * | 2019-04-15 | 2019-07-09 | 苏州国芯科技股份有限公司 | 基于连通域分析的二维码识别方法、系统及设备和介质 |
US20190311169A1 (en) * | 2017-03-31 | 2019-10-10 | Tencent Technology (Shenzhen) Company Limited | Two-dimensional code and method, terminal, and apparatus for recognizing two-dimentional code |
-
2020
- 2020-06-28 CN CN202010600133.8A patent/CN111753573B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5726435A (en) * | 1994-03-14 | 1998-03-10 | Nippondenso Co., Ltd. | Optically readable two-dimensional code and method and apparatus using the same |
US6088482A (en) * | 1998-10-22 | 2000-07-11 | Symbol Technologies, Inc. | Techniques for reading two dimensional code, including maxicode |
JP2011014012A (ja) * | 2009-07-03 | 2011-01-20 | Fujitsu Computer Technologies Ltd | 2次元コード読取方法、2次元コード抽出方法、2次元コード認識方法及び2次元コード読取装置 |
CN104517089A (zh) * | 2013-09-29 | 2015-04-15 | 北大方正集团有限公司 | 一种二维码解码系统及其方法 |
CN106372560A (zh) * | 2016-08-30 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 一种二维码探测图形的检测方法和装置、终端 |
US20190311169A1 (en) * | 2017-03-31 | 2019-10-10 | Tencent Technology (Shenzhen) Company Limited | Two-dimensional code and method, terminal, and apparatus for recognizing two-dimentional code |
CN107862235A (zh) * | 2017-11-08 | 2018-03-30 | 青岛海信移动通信技术股份有限公司 | 二维码的位置定位方法、装置及终端设备 |
CN109522768A (zh) * | 2018-10-22 | 2019-03-26 | 清华大学 | Qr码的识别方法及装置 |
CN109858304A (zh) * | 2019-01-04 | 2019-06-07 | 广州广电研究院有限公司 | 二维码位置探测图形的检测方法、装置和存储介质 |
CN109993019A (zh) * | 2019-04-15 | 2019-07-09 | 苏州国芯科技股份有限公司 | 基于连通域分析的二维码识别方法、系统及设备和介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034447A (zh) * | 2021-03-10 | 2021-06-25 | 歌尔股份有限公司 | 一种边缘缺陷检测方法和装置 |
CN113034447B (zh) * | 2021-03-10 | 2022-11-29 | 歌尔股份有限公司 | 一种边缘缺陷检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111753573B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107301402B (zh) | 一种现实场景关键帧的确定方法、装置、介质及设备 | |
CN109961399B (zh) | 基于图像距离变换的最佳缝合线搜寻方法 | |
WO2021143059A1 (zh) | 地图区域的确定方法、装置、设备及存储介质 | |
CN104537376B (zh) | 一种识别台标的方法及相关设备、系统 | |
CN112560862B (zh) | 文本识别方法、装置及电子设备 | |
CN107729790A (zh) | 二维码定位方法及装置 | |
CN107545223B (zh) | 图像识别方法及电子设备 | |
JP2014059875A (ja) | 画像内のロゴの存在を検出する装置、及び方法 | |
CN111899270A (zh) | 卡片边框检测方法、装置、设备及可读存储介质 | |
CN110414649B (zh) | Dm码的定位方法、装置、终端及存储介质 | |
US20200005078A1 (en) | Content aware forensic detection of image manipulations | |
CN114037992A (zh) | 仪表示数识别方法、装置、电子设备及存储介质 | |
CN111767889A (zh) | 公式识别方法、电子设备及计算机可读介质 | |
CN111507119B (zh) | 标识码识别方法、装置、电子设备及计算机可读存储介质 | |
CN112883959B (zh) | 身份证照完整性检测方法、装置、设备及存储介质 | |
CN111753573B (zh) | 二维码图像识别方法、装置、电子设备以及可读存储介质 | |
CN108960246B (zh) | 一种用于图像识别的二值化处理装置及方法 | |
CN116797550A (zh) | 缺陷检测方法、装置、电子设备以及存储介质 | |
CN116976372A (zh) | 基于方形基准码的图片识别方法、装置、设备及介质 | |
CN115937537A (zh) | 一种目标图像的智能识别方法、装置、设备及存储介质 | |
CN116584100A (zh) | 适合于覆盖媒体内容的图像空间检测 | |
JPH07101455B2 (ja) | 線検出方法およびその装置 | |
CN113378595B (zh) | 二维码定位方法、装置、设备及存储介质 | |
CN112507921B (zh) | 基于目标区域的图形搜索方法、系统、电子装置及存储介质 | |
CN113392811B (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 |