CN115358252A - 二维码图像处理方法、装置、存储介质与电子设备 - Google Patents
二维码图像处理方法、装置、存储介质与电子设备 Download PDFInfo
- Publication number
- CN115358252A CN115358252A CN202211020763.3A CN202211020763A CN115358252A CN 115358252 A CN115358252 A CN 115358252A CN 202211020763 A CN202211020763 A CN 202211020763A CN 115358252 A CN115358252 A CN 115358252A
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- candidate
- profile
- outline
- positioning mark
- 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
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/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示出本示例性实施方式中一种筛选目标定位标志轮廓的示意图;
图12示出本示例性实施方式中另一种筛选目标定位标志轮廓的示意图;
图13示出本示例性实施方式中一种确定透视变换参数的流程图;
图14示出本示例性实施方式中定位点与目标点的示意图;
图15示出本示例性实施方式中透视变换处理的示意图;
图16示出本示例性实施方式中二维码图像处理方法的示意性流程图;
图17示出本示例性实施方式中一种二维码图像处理装置的结构示意图;
图18示出本示例性实施方式中一种电子设备的结构示意图。
具体实施方式
下文将结合附图更全面地描述本公开的示例性实施方式。
附图为本公开的示意性图解,并非一定是按比例绘制。附图中所示的一些方框图可能是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在硬件模块或集成电路中实现这些功能实体,或在网络、处理器或微控制器中实现这些功能实体。实施方式能够以多种形式实施,不应被理解为限于在此阐述的范例。本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或多个实施方式中。在下文的描述中,提供许多具体细节从而给出对本公开实施方式的充分说明。然而,本领域技术人员应意识到,可以在实现本公开的技术方案时省略其中的一个或多个特定细节,或者可以采用其它的方法、组元、装置、步骤等替代一个或多个特定细节。
图1示出了二维码透视变形的示意图。若二维码所在的物平面与摄像头的成像平面平行,即正面拍摄二维码的情况,将拍摄出较为理想的二维码,易于识别。若二维码所在的物平面与摄像头的成像平面不平行,如摄像头倾斜(或俯视、仰视等)拍摄二维码的情况,会造成二维码发生透视变形,物平面与成像平面的角度越大,透视变形越严重。此外,摄像头与二维码之间还可能存在一定程度的旋转拍摄角度,也会造成二维码的变形。如图1中摄像头同时在倾斜与旋转的情况下拍摄二维码,造成二维码发生更为严重的变形。可见,在非正面拍摄的情况下,由于二维码的变形,容易导致难以准确识别二维码。
鉴于上述一个或多个问题,本公开的示例性实施方式提供一种二维码图像处理方法,可用于对二维码图像进行透视变换处理,以校正二维码图像中原本存在的透视变换,得到目标图像,目标图像中的二维码无变形或变形程度很小,便于识别。
图2示出了本示例性实施方式运行环境的系统架构。如图2所示,系统架构200可以包括终端210和服务器220。终端210可以是手机、平板电脑、智能穿戴设备等电子设备。服务器220泛指提供本示例性实施方式中二维码图像处理相关服务的后台系统,可以是一台服务器或多台服务器的集群。终端210和服务器220之间可以通过有线或无线的通信链路形成连接,以进行数据交互。
在一种实施方式中,可以由终端210执行本示例性实施方式中的二维码图像处理方法,对当前采集的二维码图像、或本地存储的二维码图像、或通过网络获取的二维码图像等进行处理,得到目标图像。进而可以在目标图像中识别二维码信息。
在一种实施方式中,可以由服务器220执行本示例性实施方式中的二维码图像处理方法。终端210可以将二维码图像上传服务器220,服务器220执行二维码图像处理方法,得到目标图像,进而可以将目标图像返回终端210,使终端210识别目标图像中的二维码信息,或者由服务器220识别目标图像中的二维码信息,将二维码信息返回终端210。
由上可知,本示例性实施方式中,二维码图像处理方法的执行主体可以是上述终端210或服务器220,本公开对此不做限定。
图3示出了二维码图像处理方法的流程,可以包括以下步骤S310至S340:
步骤S310,检测二维码图像中的图形轮廓,根据图形轮廓之间的层级关系从图形轮廓中确定候选定位标志轮廓;
步骤S320,基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓;
步骤S330,根据目标定位标志轮廓的位置,确定透视变换参数;
步骤S340,利用透视变换参数对二维码图像进行透视变换处理,得到目标图像。
基于上述方法,一方面,针对摄像头在倾斜或旋转等情况下拍摄二维码导致的二维码透视变形的问题,提供了一种能够对二维码图像进行有效矫正的方法,得到等同于正面视角下拍摄二维码的目标图像,有利于实现对二维码的准确识别。另一方面,根据二维码图像中图形轮廓之间的层级,从图形轮廓中筛选出候选定位标志轮廓,再基于候选定位标志轮廓在二维码图像中的覆盖区域的信息,进一步筛选出目标定位标志轮廓,从而实现对二维码定位标志的检测,能够提高检测二维码定位标志的准确性以及透视变换参数的准确性,进而提升对二维码图像进行透视变换处理的质量,以得到高质量的目标图像。
下面对图3中的每个步骤做具体说明。
参考图3,在步骤S310中,检测二维码图像中的图形轮廓,根据图形轮廓之间的层级关系从图形轮廓中确定候选定位标志轮廓。
二维码图像是指包含二维码的图像。本公开对于二维码图像的来源不做限定。示例性的,步骤S310中的二维码图像可以是当前采集的二维码图像,如当前采集的预览图像,也可以是本地存储的二维码图像,如已拍摄并存储在相册中的二维码图像,还可以是通过网络获取的二维码图像,如从社交应用中下载的好友分享的二维码图像。
在一种实施方式中,在步骤S310前,二维码图形处理还可以包括以下步骤:
从原始图像中检测二维码区域,截取二维码区域的局部图像,得到二维码图像。
其中,原始图像可以是用户扫描二维码时所采集到的完整图像,除二维码以外,还可以包括其他图像内容。参考图4所示,用户在扫描二维码时,经常会将二维码以外的内容纳入取景框,导致采集到的原始图像中包含一些二维码以外的图像内容,这些内容对于二维码识别而言是无用信息。因此,可以从原始图像中检测二维码区域,例如可以采用目标检测等方式。截取二维码区域的局部图像,以作为二维码图像。这样在后续步骤中,仅对二维码图像进行处理,无需考虑二维码以外的图像内容,有利于提升二维码图像处理的准确性与速度,并降低计算量。
在一种实施方式中,可以通过目标检测的方式在原始图像中检测二维码区域。例如,可以预先训练用于检测二维码区域的目标检测网络,将原始图像输入经过训练的目标检测网络,可以输出二维码区域的矩形检测框,该矩形检测框的区域即二维码区域。目标检测网络可以是卷积神经网络或其他计算机视觉相关的神经网络,本公开对其结构不做限定。
在一种实施方式中,可以获取包含二维码的样本图像,人为在样本图像中标注出二维码区域的矩形检测框,以作为标注数据,基于样本图像与标注数据组成的有监督数据对构建数据集。采用该数据集训练得到上述目标检测网络,以用于原始图像中的二维码区域的检测。
在一种实施方式中,若从原始图像中检测出多个二维码区域,则可以对应截取多张二维码图像,后续分别对每张二维码图像进行处理。
二维码图像中可以包括用于组成二维码的大量图形,可以检测二维码图像中的图形轮廓,以图形轮廓的方式来表征二维码图像中的图形。本示例性实施方式中,图形可以是图像中具有一定形状的图像元素,其形状可以是规则形状,也可以是不规则形状。例如,二维码可以包括大量的矩形元素,若二维码图像存在变形的情况,矩形元素可能呈现为非矩形的四边形图形,或者多个矩形元素粘连起来形成不规则图形。图形轮廓可以是图形的边缘所围成的框,可用于表征图形的形状、位置、大小等信息。
下面对如何检测图形轮廓进行示例性说明。
在一种实施方式中,上述检测二维码图像中的图形轮廓,可以包括以下步骤:
将二维码图像进行二值化处理,得到对应的二值化图像;
在二值化图像中检测闭合图形,得到图形轮廓。
由于二维码通常由反差较大的两种颜色(如黑色与白色)组成,通过对二维码图像进行二值化处理,可以将两种颜色的区域进行显著的区分,以便于准确检测图形轮廓。
在一种实施方式中,在进行二值化处理前,还可以对二维码图像进行预处理,预处理可以包括但不限于:
灰度化处理,能够将RGB等格式的二维码图像转换为灰度图像,便于后续进行二值化、对比度增强等处理,同时能够减少二维码图像的数据量,提高处理效率。
图像去噪处理,能够去除二维码图像中的异常像素值,减少这些异常像素值对检测图形轮廓或二维码识别的干扰,可以采用中值滤波、NLM(Non-Local Mean,非局部均值)滤波等方式进行图像去噪处理。
对比度增强处理,能够使二维码图像中的边缘特征更加突出,如可以采用CLAHE(Contrast Limited Adaptive Histogram Equalization,对比度抑制自适应直方图均衡)算法进行对比度增强处理。
通过上述一种或多种预处理,可以改善二维码图像的质量,增强图像中的图形信息,便于进行高质量的二值化处理。
本公开对于二值化处理的具体方式不做限定。示例性的,可以采用固定阈值,由于二维码的两种颜色反差较大,可以设置接近于两种颜色的中间值的固定阈值(如128),通过该阈值实现二值化处理。也可以采用自适应阈值,如根据灰度化处理后的二维码图像的灰度值分布确定自适应阈值,通过该阈值实现二值化处理。
图5示出了对二维码图像进行预处理与二值化处理的示意图。可以对二维码图像依次进行灰度化处理、去噪处理、对比度增强处理,再进行二值化处理,得到二值化图像。
在得到二值化图像后,可以检测其中的闭合图形,得到图形轮廓。示例性,可以检测出二值化图像中白色与黑色的分界线,即为二维码图像中的图形边界线,若任意数量的图形边界线形成闭合图形,则将该闭合图形作为图形轮廓。
在一种实施方式中,可以无需对二维码图像做二值化处理,通过检测二维码图像的像素值梯度,将像素值梯度大于梯度阈值的像素点作为图形边界点,由此得到由图形边界点组成的图形边界线,进而检测出由图形边界线形成的闭合图形,得到图形轮廓。
在检测出图形轮廓的情况下,可以根据图形轮廓之间的层级关系从图形轮廓中确定候选定位标志轮廓。
其中,图形轮廓之间的层级关系可以包括图形轮廓之间嵌套与被嵌套的关系。示例性的,可以以子轮廓/父轮廓的方式来表示图形轮廓之间的层级关系,如图形轮廓A嵌套于图形轮廓B之内,则图形轮廓A为图形轮廓B的子轮廓,图像轮廓B为图形轮廓A的父轮廓。
二维码一般包括三个定位标志。参考图6所示,二维码中三个虚线框内的部分分别为定位标志1、定位标志2、定位标志3,其分别位于二维码的左上角、右上角、左下角,可用于确定二维码的图形区域。本示例性实施方式中,由于二维码图像存在变形的情况,难以直接检测出定位标志,而定位标志本身也是一种图形,上述检测出的图形轮廓应当包括定位标志的轮廓,候选定位标志轮廓是从二维码图像的全部图形轮廓中所确定的可能是定位标志的图形轮廓。
二维码定位标志通常由三层嵌套的矩形框组成,可以据此从图形轮廓中确定候选定位标志轮廓。
在一种实施方式中,参考图7所示,上述根据图形轮廓之间的层级关系从图形轮廓中确定候选定位标志轮廓,可以包括以下步骤S710和S720:
步骤S710,根据图形轮廓之间的层级关系确定每个图形轮廓的子轮廓。
其中,若一个图形轮廓处于另一个图形轮廓内,则前者是后者的子轮廓。参考图8所示,位于二维码右上角的三个图形轮廓中,图形轮廓3处于图形轮廓2内,图形轮廓2处于图形轮廓1内,则图形轮廓3是图形轮廓2的子轮廓,图形轮廓2是图形轮廓1的子轮廓。
在一种实施方式中,由于图形轮廓3也处于图形轮廓1内,可以将图形轮廓3作为图形轮廓1的子轮廓。
在一种实施方式中,步骤S710中确定的子轮廓仅包括一级子轮廓,图形轮廓2是图形轮廓1的一级子轮廓,图形轮廓3是图形轮廓1的二级子轮廓(或称孙轮廓),则图形轮廓1的子轮廓仅包括图形轮廓2,不包括图形轮廓3。
图形轮廓之间的层级关系可以包括不同图形轮廓之间嵌套与被嵌套的关系,由此确定每个图形轮廓内包括了其他哪些图形轮廓,进而确定每个图形轮廓的子轮廓。可以以子轮廓集合的方式表示每个图形轮廓有哪些子轮廓,例如,以图形轮廓i表示任一图形轮廓,其子轮廓集合可以表示为child_i={2,3,…},{}内为图形轮廓i的子轮廓的id(identifier,标识)。
在一种实施方式中,上述根据图形轮廓之间的层级关系确定每个图形轮廓的子轮廓,可以包括以下步骤:
将处于图形轮廓i内的其他图形轮廓添加到图形轮廓i的子轮廓集合中;
若上述子轮廓集合中的第一图形轮廓处于第二图形轮廓内,则从上述子轮廓集合中移除第一图形轮廓,第一图形轮廓和第二图形轮廓是上述子轮廓集合中的任意两个图形轮廓。
其中,图形轮廓i的子轮廓集合中的第一图形轮廓处于第二图形轮廓内,说明第一图形轮廓不是图形轮廓i的一级子轮廓,可以将其从图形轮廓i的子轮廓集合中移除,由此保留下来的子轮廓均是图形轮廓i的一级子轮廓。这样能够减少子轮廓的数量,简化处理过程。
参考上述图8为例进行说明,图形轮廓2和3均处于图形轮廓1内,先将图形轮廓2和3添加到图形轮廓1的子轮廓集合中。然后可以遍历子轮廓集合中的每个图形轮廓,检测子轮廓集合中的每个图形轮廓是否同时也处于该子轮廓集合中的其他图形轮廓内。检测到子轮廓集合中的图形轮廓3处于图形轮廓2内,说明图形轮廓3不是图形轮廓1的一级子轮廓,将图形轮廓3从子轮廓集合中移除,最终确定图形轮廓1的子轮廓仅包括图形轮廓2。
步骤S720,若图形轮廓i具有子轮廓,且图形轮廓i的至少一个子轮廓也具有子轮廓,则确定图形轮廓i是候选定位标志轮廓。
二维码定位标志通常由三层嵌套的矩形框组成,这样最外层的图形轮廓具有一级子轮廓与二级子轮廓。本示例性实施方式中,若图形轮廓i具有子轮廓,且图形轮廓i的至少一个子轮廓也具有子轮廓,说明图形轮廓i具有一级子轮廓与二级子轮廓,从图形轮廓的层级关系上来说,图形轮廓i可能是二维码定位标志的轮廓,因此将图形轮廓i确定为候选定位标志轮廓。需要说明的是,满足步骤S720条件的图形轮廓i可能但不一定是二维码定位标志的轮廓。例如,参考图9所示,可以从二维码图像的全部图形轮廓中筛选出满足步骤S720条件的四个图形轮廓,分别确定为候选定位标志轮廓1-4。可以看出,候选定位标志轮廓4实际上并不是二维码定位标志的轮廓。因此还可以通过后续步骤的处理,进一步筛选出目标定位标志轮廓。
应当理解,也可以根据父轮廓的信息确定候选定位标志轮廓。在一种实施方式中,可以根据图形轮廓之间的层级关系确定每个图形轮廓的父轮廓,若图形轮廓i具有父轮廓,且图形轮廓i的至少一个父轮廓也具有父轮廓(即图形轮廓i具有二级父轮廓),则确定图形轮廓i的二级父轮廓是候选定位标志轮廓。
在一种实施方式中,可以将包含图形轮廓i的其他图形轮廓添加到图形轮廓i的父轮廓集合中;若该父轮廓集合中的第三图形轮廓处于第四图形轮廓内,则从父轮廓集合中移除第四图形轮廓,使得父轮廓集合仅包括图形轮廓i的一级父轮廓,不包括二级父轮廓。第三图形轮廓和第四图形轮廓是父轮廓集合中的任意两个图形轮廓。
其中,父轮廓、一级父轮廓、二级父轮廓的含义与上述子轮廓、一级子轮廓、二级子轮廓的相对应。采用父轮廓表示图形轮廓之间的层级关系,并确定候选定位标志轮廓,其思想原理与上述图7部分的方案相同,因而父轮廓相关的方案内容不再赘述。
继续参考图3,在步骤S320中,基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓。
其中,候选定位标志轮廓在二维码图像中的覆盖区域可以提供多方面的信息,如候选定位标志轮廓的尺寸、位置、形状等,可以据此判断候选定位标志轮廓是否符合二维码定位标志的特征,从而进一步从候选定位标志轮廓中筛选出目标定位标志轮廓。目标定位标志轮廓是最终确定的二维码定位标志的轮廓。本公开对于目标定位标志轮廓的数量不做限定。一般的,二维码图形包括三个定位标志,因此可以从候选定位标志轮廓中筛选出三个目标定位标志轮廓。考虑到二维码图像可能存在缺陷,影响对目标定位标志轮廓的识别,因此也可以筛选出少于三个的目标定位标志轮廓。
下面分别从尺寸、位置、形状三个方面来说明,如何从候选定位标志轮廓中筛选出目标定位标志轮廓。
(一)尺寸
候选定位标志轮廓在二维码图像中的覆盖区域能够提供候选定位标志轮廓在尺寸方面的信息,可以据此判断候选定位标志轮廓是否符合二维码定位标志在尺寸方面的特征,从而实现对目标定位标志轮廓的筛选。
在一种实施方式中,参考图10所示,上述基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,可以包括以下步骤S1010和S1020:
步骤S1010,对于任一候选定位标志轮廓j,基于候选定位标志轮廓j在二维码图像中的覆盖区域确定候选定位标志轮廓j的特征尺寸,并获取候选定位标志轮廓j对应的参考尺寸;
步骤S1020,若根据候选定位标志轮廓j的特征尺寸与对应的参考尺寸确定候选定位标志轮廓j不满足预设尺寸条件,则确定候选定位标志轮廓j不是目标定位标志轮廓。
需要说明的是,本文中,尺寸是对“大小”的度量,包括面积、角度等。候选定位标志轮廓j的特征尺寸是能够体现候选定位标志轮廓j某一方面或多方面图形特征的尺寸。候选定位标志轮廓j对应的参考尺寸是与特征尺寸相关的用于提供参考信息的尺寸。
示例性的,特征尺寸可以包括但不限于:候选定位标志轮廓j的实际面积,即候选定位标志轮廓j在二维码图像中的面积;候选定位标志轮廓j的水平外接矩形的面积,水平外接矩形是指与二维码图像的边平行的外接矩形;候选定位标志轮廓j的水平外接矩形的周长;候选定位标志轮廓j的水平外接矩形的长宽比;候选定位标志轮廓j的边长;候选定位标志轮廓j的周长。参考尺寸可以包括但不限于:二维码图像的面积;根据候选定位标志轮廓j的周长计算的参考面积;根据候选定位标志轮廓j的面积计算的参考周长;二维码图像的长宽比;二维码图像的边长;二维码图像的周长。
预设尺寸条件是基于二维码定位标志的特征所确定的尺寸条件。若候选定位标志轮廓j的特征尺寸与对应的参考尺寸之间的关系满足预设尺寸条件,说明候选定位标志轮廓j可能是二维码定位标志的轮廓。需要说明的是,候选定位标志轮廓j满足预设尺寸条件并不意味着候选定位标志轮廓j一定是二维码定位标志的轮廓。本示例性实施方式中,为确保目标定位标志轮廓的准确性,对候选定位标志轮廓采用排除法,排除掉不满足预设尺寸条件的候选定位标志轮廓,在剩余的候选定位标志轮廓中筛选出目标定位标志轮廓。
在一种实施方式中,以候选定位标志轮廓j的水平外接矩形的面积作为其特征尺寸,以二维码图像的面积作为其对应的参考尺寸。二维码图像是从原始图像中截取的二维码区域的局部图像。在此情况下,上述若根据候选定位标志轮廓j的特征尺寸与对应的参考尺寸确定候选定位标志轮廓j不满足预设尺寸条件,则确定候选定位标志轮廓j不是目标定位标志轮廓,可以包括以下步骤:
若候选定位标志轮廓j的水平外接矩形的面积与二维码图像的面积之比处于第一数值范围以外,则确定候选定位标志轮廓j不是目标定位标志轮廓。
由于二维码定位标志在整个二维码图形中的面积比例是较为固定的,即使在二维码发生变形的情况下,二维码定位标志的轮廓的水平外接矩形的面积在整张二维码图像的面积(二维码图像的面积约等于整个二维码图形的面积)中所占的比例也不会发生太大的偏差,这属于二维码定位标志在尺寸方面的一种特征。可以据此来筛除不是目标定位标志轮廓的候选定位标志轮廓。
第一数值范围是二维码定位标志在整个二维码图形中的面积比例的数值范围,可以根据经验或二维码的实际情况确定。例如,一个二维码定位标志通常占整个二维码图形约1/10的面积,由此设置第一数值范围是[0.08,0.12];或者,考虑到二维码发生变形后,其轮廓的水平外接矩形占二维码图像的面积比例可能会降低,可以设置第一数值范围是[0.07,0.1],等等。若候选定位标志轮廓j的水平外接矩形的面积与二维码图像的面积之比处于第一数值范围以外,说明候选定位标志轮廓j明显不符合二维码定位标志在尺寸方面的特征,可以予以排除。由此,有利于进一步准确确定出目标定位标志轮廓。
参考图11所示,二维码图像中包括候选定位标志轮廓1与候选定位标志轮廓4,其水平外接矩形分别记为水平外接矩形1与水平外接矩形4,计算水平外接矩形1与二维码图像的面积之比为0.11,水平外接矩形4与二维码图像的面积之比为0.17。采用第一数值范围[0.08,0.12],由于水平外接矩形4与二维码图像的面积之比处于第一数值范围以外,可以确定候选定位标志轮廓4不是目标定位标志轮廓。
在一种实施方式中,以候选定位标志轮廓j的实际面积作为其特征尺寸,以根据候选定位标志轮廓j的周长计算的参考面积作为其对应的参考尺寸。上述若根据候选定位标志轮廓j的特征尺寸与对应的参考尺寸确定候选定位标志轮廓j不满足预设尺寸条件,则确定候选定位标志轮廓j不是目标定位标志轮廓,可以包括以下步骤:
若候选定位标志轮廓j的实际面积与参考面积之比处于第二数值范围以外,则确定候选定位标志轮廓j不是目标定位标志轮廓。
示例性的,假设候选定位标志轮廓j的实际面积为A1,周长为L。由于二维码定位标志的轮廓可能接近正方形,若认为候选定位标志轮廓j接近正方形,根据其周长L计算出参考面积为A2=(L/4)2。实际面积A1和参考面积A2应当比较接近,即两者的比值应当接近1,这属于二维码定位标志在尺寸方面的一种特征。可以据此来筛除不是目标定位标志轮廓的候选定位标志轮廓。
第二数值范围是二维码定位标志的实际面积与参考面积之比的数值范围,可以根据经验或二维码的实际情况确定。例如,实际面积与参考面积的比值应当接近1,可以设置1附近的第二数值范围[0.71,1.4]或[0.77,1.3]。若候选定位标志轮廓j的实际面积与参考面积之比处于第二数值范围以外,说明候选定位标志轮廓j明显不符合二维码定位标志在尺寸方面的特征,可以予以排除。由此,有利于进一步准确确定出目标定位标志轮廓。
在一种实施方式中,上述实际面积与参考面积之比,可以是实际面积与参考面积中的较大者除以较小者的比值。可以设置第二数值范围[1,1.3],即A1与A2应当满足:
应当理解,可以将1.3替换为其他合适的数值。
参考图12所示,二维码图像中包括六个候选定位标志轮廓,分别为e1-e6,其中,按照公式(1)计算e1、e2、e3的实际面积与参考面积之比分别为1.04、1.06、1.02,均满足小于1.3的条件,计算e4、e5、e6的实际面积与参考面积之比分别为20.34、10.51、7.68,均不满足小于1.3的条件。因此可以确定e4、e5、e6不是目标定位标志轮廓。
在一种实施方式中,以候选定位标志轮廓j的水平外接矩形的长宽比作为其特征尺寸,以二维码图像的长宽比作为其对应的参考尺寸。上述若根据候选定位标志轮廓j的特征尺寸与对应的参考尺寸确定候选定位标志轮廓j不满足预设尺寸条件,则确定候选定位标志轮廓j不是目标定位标志轮廓,可以包括以下步骤:
若候选定位标志轮廓j的水平外接矩形的长宽比与二维码图像的长宽比的比值处于第三数值范围以外,则确定候选定位标志轮廓j不是目标定位标志轮廓。
在正面拍摄二维码的情况下,二维码图像应当近似于正方形,二维码定位标志的轮廓也近似于正方形,两者的长宽比都接近于1。而在二维码图形发生变形的情况下,二维码图像的长宽比偏离于1,二维码定位标志的轮廓可能不是矩形,其水平外接矩形的长宽比也偏离于1,但是二维码图像的长宽比的偏离程度与水平外接矩形的长宽比的偏离程度应当是相近的,因此两个长宽比的比值应当接近于1,这属于二维码定位标志在尺寸方面的一种特征。可以据此来筛除不是目标定位标志轮廓的候选定位标志轮廓。
第三数值范围是二维码定位标志的水平外接矩形的长宽比与二维码图像的长宽比的比值的数值范围,可以根据经验或二维码的实际情况确定。例如,两个长宽比的比值实际应当接近1,可以设置1附近的第三数值范围[0.83,1.2]。若候选定位标志轮廓j的水平外接矩形的长宽比与二维码图像的长宽比的比值处于第三数值范围以外,说明候选定位标志轮廓j明显不符合二维码定位标志在尺寸方面的特征,可以予以排除。由此,有利于进一步准确确定出目标定位标志轮廓。
参考上述图11所示,二维码图像的长宽比为2.27,候选定位标志轮廓1的水平外接矩形1的长宽比为2.38,其与二维码图像的长宽比的比值为1.05,处于第三数值范围[0.83,1.2]以内。候选定位标志轮廓4的水平外接矩形4的长宽比为1.53,其与二维码图像的长宽比的比值为0.68,处于第三数值范围[0.83,1.2]以外。可以确定候选定位标志轮廓4不是目标定位标志轮廓。
(二)位置
候选定位标志轮廓在二维码图像中的覆盖区域能够提供候选定位标志轮廓在位置方面的信息,可以据此判断候选定位标志轮廓是否符合二维码定位标志在位置方面的特征,从而实现对目标定位标志轮廓的筛选。
在一种实施方式中,二维码图像是从原始图像中截取的二维码区域的局部图像。上述基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,可以包括以下步骤:
基于候选定位标志轮廓j在二维码图像中的覆盖区域的坐标,判断二维码图像的中心点是否位于候选定位标志轮廓j内;若中心点的坐标处于该覆盖区域的坐标范围内,则中心点位于候选定位标志轮廓j内;
若中心点位于候选定位标志轮廓j内,则确定候选定位标志轮廓j不是目标定位标志轮廓。
其中,对于截取二维码区域得到的二维码图像来说,图像的中心点等同或非常接近于二维码图形的中心点。
一般的,二维码定位标志处于二维码图形中的角点位置,其轮廓不应包含二维码图像的中心点。若二维码图像的中心点位于候选定位标志轮廓j内,说明候选定位标志轮廓j不是二维码图形角点位置上的图形轮廓,因此确定候选定位标志轮廓j不是目标定位标志轮廓。
在一种实施方式中,二维码图像是从原始图像中截取的二维码区域的局部图像。上述基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,可以包括以下步骤:
基于候选定位标志轮廓j在二维码图像中的覆盖区域,获取候选定位标志轮廓j的水平外接矩形的坐标,判断二维码图像的中心点是否位于候选定位标志轮廓j的水平外接矩形内;若中心点的坐标处于该覆盖区域的坐标范围内,则中心点位于候选定位标志轮廓j内;
若中心点位于候选定位标志轮廓j的水平外接矩形内,则确定候选定位标志轮廓j不是目标定位标志轮廓。
在一种实施方式中,判断中心点是否位于候选定位标志轮廓j的水平外接矩形内的方式为:假设二维码图像中心点的坐标为(x0,y0),候选定位标志轮廓j的水平外接矩形的左上角点与右下角点的坐标分别为(x1,y1)、(x2,y2),若满足x1<x0<x2且y1<y0<y2,则中心点位于候选定位标志轮廓j的水平外接矩形内。
由于二维码定位标志处于二维码图形中的角点位置,即使发生变形,其水平外接矩形也不应包含二维码图像的中心点。若二维码图像的中心点位于候选定位标志轮廓j的水平外接矩形内,说明候选定位标志轮廓j不是二维码图形角点位置上的图形轮廓,因此确定候选定位标志轮廓j不是目标定位标志轮廓。
参考上述图11所示,由于二维码图像的中心点位于候选定位标志轮廓4以内,可以确定候选定位标志轮廓4不是目标定位标志轮廓。或者,由于二维码图像的中心点位于候选定位标志轮廓4的水平外接矩形以内,可以确定候选定位标志轮廓4不是目标定位标志轮廓。
通过中心点与候选定位标志轮廓(或其水平外接矩形)的位置关系,来排除不可能是目标定位标志轮廓的候选定位标志轮廓的方式,有利于准确确定出目标定位标志轮廓,且计算量较低,能够提高效率。
在一种实施方式中,二维码图像是从原始图像中截取的二维码区域的局部图像。上述基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,可以包括以下步骤:
以二维码图像的中心点为圆心,按照预设半径生成圆形区域;
基于候选定位标志轮廓j在二维码图像中的覆盖区域,确定候选定位标志轮廓j与圆形区域的交集部分在候选定位标志轮廓j中所占的比例,若该比例超出第四数值范围,则确定候选定位标志轮廓j不是目标定位标志轮廓。
其中,预设半径可以根据经验或二维码的具体情况确定。例如,预设半径可以是二维码图像的短边长度的1/2。以二维码图像的中心点为圆心,按照预设半径生成圆形区域,该圆形区域位于二维码图形的中心部分。由于二维码定位标志位于二维码图形的角上,其与圆形区域的交集应当很少或为0,这属于二维码定位标志在位置方面的一种特征。可以据此来筛除不是目标定位标志轮廓的候选定位标志轮廓。
第四数值范围是二维码定位标志与中心的圆形区域的交集部分比例的数值范围,可以根据经验或二维码的实际情况确定。例如,以二维码图像的短边长度的1/2为预设半径生成圆形区域,二维码定位标志与该圆形区域的交集部分比例应当接近0,可以设置0附近的第四数值范围[0,0.2]。若候选定位标志轮廓j与圆形区域的交集部分占候选定位标志轮廓j的比值(通常是面积比值)大于0.2,说明候选定位标志轮廓j的位置相对而言靠近中心,不符合二维码定位标志在位置方面的特征,可以予以排除。由此,有利于进一步准确确定出目标定位标志轮廓。
(三)形状
候选定位标志轮廓在二维码图像中的覆盖区域能够提供候选定位标志轮廓在形状方面的信息,可以据此判断候选定位标志轮廓是否符合二维码定位标志在形状方面的特征,从而实现对目标定位标志轮廓的筛选。
在一种实施方式中,上述基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,可以包括以下步骤:
基于候选定位标志轮廓j在二维码图像中的覆盖区域确定候选定位标志轮廓j的形状;
若候选定位标志轮廓j的形状不满足预设形状条件,则确定候选定位标志轮廓j不是目标定位标志轮廓。
一般的,二维码定位标志是正方形,在发生变形的情况下,其轮廓可以是四边形,考虑到在从二维码图像中识别图形轮廓时可能存在的噪声干扰或误差等,二维码定位标志的轮廓也可能是圆形、椭圆形、五边形、六边形、七边形、八边形等。
预设形状条件用于表征二维码定位标志的轮廓所可能具备的形状特征。例如,预设形状条件可以是:属于四边形至八边形、圆形、椭圆形中的任意一种。若候选定位标志轮廓j的形状不满足预设形状条件,则显然不是二维码定位标志的轮廓,因此可以予以排除。
参考上述图11所示,候选定位标志轮廓4是较为复杂的形状,不是四边形至八边形、圆形、椭圆形中的任意一种,不满足预设形状条件。因此可以确定候选定位标志轮廓4不是目标定位标志轮廓。
以上从尺寸、位置、形状三个方面提供了如何从候选定位标志轮廓筛选出目标定位标志轮廓的方案,且每个方面可以包括一种或多种具体的筛选方式。可以对上述筛选方式进行任意的组合。
在一种实施方式中,由于二维码定位标志的数量通常是三个,可以采用上述多种筛选方式,对步骤S310中确定的候选定位标志轮廓进行逐项的排除,直到剩余三个候选定位标志轮廓,则均为目标定位标志轮廓。示例性的,在根据图形轮廓之间的层级关系确定出所有的候选定位标志轮廓后,可以先排除掉不是四边形的候选定位标志轮廓;再排除掉水平外接矩形包含了二维码图像的中心点的候选定位标志轮廓;再计算候选定位标志轮廓的水平外接矩形的面积与二维码图像的面积之比,排除掉该面积之比超出第一数值范围的候选定位标志轮廓;最后计算候选定位标志轮廓的实际面积与参考面积之比,排除掉该面积之比超出第二数值范围的候选定位标志轮廓。在此过程中,若只剩余三个候选定位标志轮廓,可以无需进行后续的筛选,将这三个候选定位标志轮廓均确定为目标定位标志轮廓。
在一种实施方式中,在按照上述筛选方式进行筛选的过程中,无论剩余多少个候选定位标志轮廓,都按照全部的筛选方式进行完整的筛选,以确保最后剩余的候选定位标志轮廓满足全部的筛选条件,从而得到可信度较高的目标定位标志轮廓。
继续参考图3,在步骤S330中,根据目标定位标志轮廓的位置,确定透视变换参数。
目标定位标志轮廓的位置表示变形后的二维码定位标志的位置。本示例性实施方式中,透视变换参数用于在步骤S340中对二维码图像进行透视变换处理,其目的是使二维码恢复为变形前的形态。因此,可以根据二维码定位标志在变形前与变性后的位置,来确定透视变换参数。
在一种实施方式中,目标定位标志轮廓的数量为三个。参考图13所示,上述根据目标定位标志轮廓的位置,确定透视变换参数,可以包括以下步骤S1310至S1330:
步骤S1310,分别在每个目标定位标志轮廓中确定一个定位点,以得到三个定位点,根据三个定位点确定第四定位点。
定位点可以是目标定位标志轮廓的中心点,如参考图14所示,定位点A、B、C分别为各自目标定位标志轮廓的中心点。定位点也可以是目标定位标志轮廓的角点,例如,定位点A可以是所在目标定位标志轮廓的左上角点,定位点B可以是所在目标定位标志轮廓的右上角点,定位点C可以是所在目标定位标志轮廓的左下角点。
由三个目标定位标志轮廓确定三个定位点后,还可以进一步根据三个定位点确定第四定位点,以得到四个定位点。三个定位点位于二维码图形的三个角上,可以认为第四定位点位于二维码图形的第四个角上,四个定位点之间符合一定的位置关系,可以基于该位置关系确定第四定位点。
在一种实施方式中,上述根据三个定位点确定第四定位点,可以包括以下步骤:
以三个定位点作为平行四边形的三个角点,计算平行四边形的第四个角点,得到第四定位点。
一般的,可以认为四个定位点能够组成平行四边形,根据三个已知的定位点的坐标求解第四定位点的坐标。示例性的,三个已知的定位点A、B、C的坐标分别为(xA,yA)、(xB,yB)、(xC,yC),假设第四定位点为D,根据平行四边形的关系,有即(D-A)=(B-A)+(C-A),便可得到D的坐标为D=B+C-A。以(xD,yD)表示定位点D的坐标,可以通过以下公式计算:
从而得到四个定位点的坐标。
步骤S1320,在二维码图像的图像平面上确定能够组成正方形的四个目标点。
四个定位点是二维码图像中用于定位二维码图形的四个参考点,是二维码发生变形后的定位点。四个目标点是四个定位点对应的变形前的参考点。
在一种实施方式中,可以在二维码图像的图像平面上确定能够组成正方形的任意四个目标点。参考上述图14所示,四个目标点分别为A'、B'、C'、D',其能够组成正方形,该正方形将是透视变换处理后二维码所在的区域。示例性的,可以在图像平面上生成任意大小、任意位置的正方形,将其四个角点作为四个目标点。或者,在图像平面上确定二维码的合适大小与位置,生成正方形,将其四个角点作为四个目标点。
在一种实施方式中,上述三个定位点中,第一定位点是与二维码图像的左上角点距离最近的点,如图14中的定位点A,第二定位点是与二维码图像的右上角点距离最近的点,如图14中的定位点B,第三定位点是与二维码图像的左下角点距离最近的点,如图14中的定位点C。上述在二维码图像的图像平面上确定能够组成正方形的四个目标点,可以包括以下步骤:
获取第一定位点、第二定位点、第三定位点在图像平面上的坐标值;
根据第一定位点与第二定位点的纵坐标平均值,以及第一定位点与第三定位点的横坐标平均值,确定第一目标点。
获取由四个定位点组成的四边形的平均边长,根据第一目标点与平均边长确定第二目标点、第三目标点、第四目标点。
以图14为例说明,计算定位点A与定位点B的纵坐标平均值,以及定位点A与定位点C的横坐标平均值,得到目标点A'的坐标值(xA',yA'),计算关系如下所示:
基于无变形的二维码图形应当是正方形这一前提,可以将四个定位点组成的四边形的平均边长,作为二维码图形的边长,有如下关系:
|A′B′|=|B′D′|=|C′D′|=|A′C′|=dmean=(|AB|+|BD|+|CD|+|AC|)/4 (4)
其中,dmean表示定位点A、B、C、D组成的四边形的平均边长。
进一步的,可以计算出第二目标点、第三目标点、第四目标点的坐标值,分别记为(xB',yB')、(xC',yC')、(xD',yD'),如下所示:
步骤S1330,根据四个定位点与四个目标点之间的映射关系,确定透视变换参数。
透视变换参数可以实现四个定位点与四个目标点之间的映射。假设三维的世界坐标系中有一点PA,其坐标为(XA,YA,ZA),定位点A和目标点A'分别是PA在二维码图像的图像平面(记为原始平面)和目标图像的图像平面(记为目标平面)的投影,将定位点A映射会世界坐标系,有以下关系:
再将PA投影到目标平面得到目标点A',则有以下关系:
即:
矩阵M中有8个参数需要求解(除去a33),一组具有映射关系的定位点与目标点能够确定两个方程,同理,基于定位点B与目标点B'的映射关系、定位点C与目标点C'的映射关系、定位点D与目标点D'的映射关系,也可以得到类似于(9)的方程,这样一共得到8个方程。利用8个方程求解可以求解矩阵M的8个参数a11~a32,从而得到透视变换参数。
继续参考图3,在步骤S340中,利用透视变换参数对二维码图像进行透视变换处理,得到目标图像。
利用透视变换参数可以对二维码图像中的每个像素点进行坐标映射,例如可以参考上述公式(6)、(7),由二维码图像中的坐标值计算出对应的三维坐标值,再映射到目标平面,得到变换后的坐标值。从而实现对二维码图像的透视变换处理,得到目标图像。
参考图15所示,利用透视变换参数对不同的透视变形情况的二维码图像进行透视变换处理,可以矫正图像中原本存在的透视变形问题,得到等同于正面拍摄视角的目标图像。便于进一步从目标图像中识别二维码信息。
图16示出了二维码图像处理方法的示意性流程,可以包括:
步骤S1601,获取包含二维码的原始图像,如可以是当前扫描二维码时所采集的图像;
步骤S1602,在原始图像中检测二维码区域,截取二维码区域的局部图像,得到二维码图像;
步骤S1603,在二维码图像中检测图形轮廓,确定图形轮廓之间的层级关系;
步骤S1604,根据图形轮廓之间的层级关系,从全部图形轮廓中筛选出候选定位标志轮廓;
步骤S1605,判断每个候选定位标志轮廓是否包括二维码图像的中心点,若否,则继续执行步骤S1606,若是,则执行步骤S1608;
步骤S1606,判断每个候选定位标志轮廓的水平外接矩形的面积与二维码图像的面积之比是否超出第一数值范围,若否,则继续执行步骤S1607,若是,则执行步骤S1608;
步骤S1607,判断每个候选定位标志轮廓的实际面积与参考面积之比是否超出第二数值范围,若否,则继续执行步骤S1609,若是,则执行步骤S1608;
步骤S1608,确定候选定位标志轮廓不是目标定位标志轮廓,可以移除候选定位标志轮廓;
步骤S1609,通过步骤S1605-S1608的判断,筛选出目标定位标志轮廓;
步骤S1610,根据目标定位标志轮廓确定四个定位点,确定四个目标点;
步骤S1611,根据四个定位点与四个目标点之间的映射关系,计算透视变换参数;
步骤S1612,利用透视变换参数对二维码图像进行透视变换处理;
步骤S1613,输出透视变换处理后得到的目标图像。
本公开的示例性实施方式还提供一种二维码图像处理装置。参考图17所示,二维码图像处理装置1700可以包括:
候选定位标志轮廓确定模块1710,被配置为检测二维码图像中的图形轮廓,根据图形轮廓之间的层级关系从图形轮廓中确定候选定位标志轮廓;
目标定位标志轮廓确定模块1720,被配置为基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓;
透视变换参数确定模块1730,被配置为根据目标定位标志轮廓的位置,确定透视变换参数;
透视变换处理模块1740,被配置为利用透视变换参数对二维码图像进行透视变换处理,得到目标图像。
在一种实施方式中,上述基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,包括:
对于任一候选定位标志轮廓j,基于候选定位标志轮廓j在二维码图像中的覆盖区域确定候选定位标志轮廓j的特征尺寸,并获取候选定位标志轮廓j对应的参考尺寸;
若根据候选定位标志轮廓j的特征尺寸与对应的参考尺寸确定候选定位标志轮廓j不满足预设尺寸条件,则确定候选定位标志轮廓j不是目标定位标志轮廓。
在一种实施方式中,候选定位标志轮廓j的特征尺寸包括:候选定位标志轮廓j的水平外接矩形的面积,水平外接矩形的边与二维码图像的边平行;二维码图像是从原始图像中截取的二维码区域的局部图像;候选定位标志轮廓j对应的参考尺寸包括:二维码图像的面积;
上述若根据候选定位标志轮廓j的特征尺寸与对应的参考尺寸确定候选定位标志轮廓j不满足预设尺寸条件,则确定候选定位标志轮廓j不是目标定位标志轮廓,包括:
若候选定位标志轮廓j的水平外接矩形的面积与二维码图像的面积之比处于第一数值范围以外,则确定候选定位标志轮廓j不是目标定位标志轮廓。
在一种实施方式中,候选定位标志轮廓j的特征尺寸包括:候选定位标志轮廓j的实际面积;候选定位标志轮廓j对应的参考尺寸包括:根据候选定位标志轮廓j的周长计算的任一候选定位标志轮廓的参考面积;
上述若根据候选定位标志轮廓j的特征尺寸与对应的参考尺寸确定候选定位标志轮廓j不满足预设尺寸条件,则确定候选定位标志轮廓j不是目标定位标志轮廓,包括:
若候选定位标志轮廓j的实际面积与参考面积之比处于第二数值范围以外,则确定候选定位标志轮廓j不是目标定位标志轮廓。
在一种实施方式中,二维码图像是从原始图像中截取的二维码区域的局部图像;上述基于各候选定位标志轮廓在二维码图像中的覆盖区域,从候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,包括:
对于任一候选定位标志轮廓j,基于候选定位标志轮廓j在二维码图像中的覆盖区域的坐标,判断二维码图像的中心点是否位于候选定位标志轮廓j内;
若中心点位于候选定位标志轮廓j内,则确定候选定位标志轮廓j不是目标定位标志轮廓。
在一种实施方式中,目标定位标志轮廓的数量为三个;上述根据目标定位标志轮廓的位置,确定透视变换参数,包括:
分别在每个目标定位标志轮廓中确定一个定位点,以得到三个定位点,根据三个定位点确定第四定位点;
在二维码图像的图像平面上确定能够组成正方形的四个目标点;
根据四个定位点与四个目标点之间的映射关系,确定透视变换参数。
在一种实施方式中,上述根据三个定位点确定第四定位点,包括:
以三个定位点作为平行四边形的三个角点,计算平行四边形的第四个角点,得到第四定位点。
在一种实施方式中,上述三个定位点中,第一定位点是与二维码图像的左上角点距离最近的点,第二定位点是与二维码图像的右上角点距离最近的点,第三定位点是与二维码图像的左下角点距离最近的点。上述在二维码图像的图像平面上确定能够组成正方形的四个目标点,包括:
获取第一定位点、第二定位点、第三定位点在图像平面上的坐标值;
根据第一定位点与第二定位点的纵坐标平均值,以及第一定位点与第三定位点的横坐标平均值,确定第一目标点。
获取由四个定位点组成的四边形的平均边长,根据第一目标点与平均边长确定第二目标点、第三目标点、第四目标点。
在一种实施方式中,上述检测二维码图像中的图形轮廓,包括:
将二维码图像进行二值化处理,得到对应的二值化图像;
在二值化图像中检测闭合图形,得到图形轮廓。
在一种实施方式中,上述根据图形轮廓之间的层级关系从图形轮廓中确定候选定位标志轮廓,包括:
根据图形轮廓之间的层级关系确定每个图形轮廓的子轮廓;
对于任一图形轮廓i,若图形轮廓i具有子轮廓,且图形轮廓i的至少一个子轮廓也具有子轮廓,则确定图形轮廓i是候选定位标志轮廓。
在一种实施方式中,上述根据图形轮廓之间的层级关系确定每个图形轮廓的子轮廓,包括:
将处于图形轮廓i内的其他图形轮廓添加到图形轮廓i的子轮廓集合中;
若上述子轮廓集合中的第一图形轮廓处于第二图形轮廓内,则从上述子轮廓集合中移除第一图形轮廓,第一图形轮廓和第二图形轮廓是上述子轮廓集合中的任意两个图形轮廓。
在一种实施方式中,候选定位标志轮廓确定模块1710,还被配置为:
在检测二维码图像中的图形轮廓前,从原始图像中检测二维码区域,截取二维码区域的局部图像,得到二维码图像。
上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种可选的实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供一种电子设备,如可以是上述终端210或服务器220。该电子设备可以包括处理器与存储器。存储器存储有处理器的可执行指令,如可以是程序代码。处理器通过执行该可执行指令来执行本示例性实施方式中的二维码图像处理方法。
下面以图18中的移动终端1800为例,对该电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图18中的构造也能够应用于固定类型的设备。
如图18所示,移动终端1800具体可以包括:处理器1801、存储器1802、总线1803、移动通信模块1804、天线1、无线通信模块1805、天线2、显示屏1806、摄像模块1807、音频模块1808、电源模块1809与传感器模块1810。
处理器1801可以包括一个或多个处理单元,例如:处理器1801可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。
处理器1801可以通过总线1803与存储器1802或其他部件形成连接。
存储器1802可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器1801通过运行存储在存储器1802的指令,执行移动终端1800的各种功能应用以及数据处理。存储器1802还可以存储应用数据,例如存储图像,视频等文件。
移动终端1800的通信功能可以通过移动通信模块1804、天线1、无线通信模块1805、天线2、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块1804可以提供应用在移动终端1800上3G、4G、5G等移动通信解决方案。无线通信模块1805可以提供应用在移动终端1800上的无线局域网、蓝牙、近场通信等无线通信解决方案。
显示屏1806用于实现显示功能,如显示用户界面、图像、视频等。摄像模块1807用于实现拍摄功能,如拍摄原始图像、二维码图像等。音频模块1808用于实现音频功能,如播放音频,采集语音等。电源模块1809用于实现电源管理功能,如为电池充电、为设备供电、监测电池状态等。传感器模块1810可以包括一种或多种传感器,用于实现相应的感应检测功能。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
Claims (15)
1.一种二维码图像处理方法,其特征在于,包括:
检测二维码图像中的图形轮廓,根据所述图形轮廓之间的层级关系从所述图形轮廓中确定候选定位标志轮廓;
基于各候选定位标志轮廓在所述二维码图像中的覆盖区域,从所述候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓;
根据所述目标定位标志轮廓的位置,确定透视变换参数;
利用所述透视变换参数对所述二维码图像进行透视变换处理,得到目标图像。
2.根据权利要求1所述的方法,其特征在于,所述基于各候选定位标志轮廓在所述二维码图像中的覆盖区域,从所述候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,包括:
对于任一候选定位标志轮廓,基于所述任一候选定位标志轮廓在所述二维码图像中的覆盖区域确定所述任一候选定位标志轮廓的特征尺寸,并获取所述任一候选定位标志轮廓对应的参考尺寸;
若根据所述任一候选定位标志轮廓的特征尺寸与对应的参考尺寸确定所述任一候选定位标志轮廓不满足预设尺寸条件,则确定所述任一候选定位标志轮廓不是目标定位标志轮廓。
3.根据权利要求2所述的方法,其特征在于,所述任一候选定位标志轮廓的特征尺寸包括:所述任一候选定位标志轮廓的水平外接矩形的面积,所述水平外接矩形的边与所述二维码图像的边平行;所述二维码图像是从原始图像中截取的二维码区域的局部图像;所述任一候选定位标志轮廓对应的参考尺寸包括:所述二维码图像的面积;
所述若根据所述任一候选定位标志轮廓的特征尺寸与对应的参考尺寸确定所述任一候选定位标志轮廓不满足预设尺寸条件,则确定所述任一候选定位标志轮廓不是目标定位标志轮廓,包括:
若所述任一候选定位标志轮廓的水平外接矩形的面积与所述二维码图像的面积之比处于第一数值范围以外,则确定所述任一候选定位标志轮廓不是目标定位标志轮廓。
4.根据权利要求2所述的方法,其特征在于,所述任一候选定位标志轮廓的特征尺寸包括:所述任一候选定位标志轮廓的实际面积;所述任一候选定位标志轮廓对应的参考尺寸包括:根据所述任一候选定位标志轮廓的周长计算的所述任一候选定位标志轮廓的参考面积;
所述若根据所述任一候选定位标志轮廓的特征尺寸与对应的参考尺寸确定所述任一候选定位标志轮廓不满足预设尺寸条件,则确定所述任一候选定位标志轮廓不是目标定位标志轮廓,包括:
若所述任一候选定位标志轮廓的实际面积与参考面积之比处于第二数值范围以外,则确定所述任一候选定位标志轮廓不是目标定位标志轮廓。
5.根据权利要求1所述的方法,其特征在于,所述二维码图像是从原始图像中截取的二维码区域的局部图像;所述基于各候选定位标志轮廓在所述二维码图像中的覆盖区域,从所述候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓,包括:
对于任一候选定位标志轮廓,基于所述任一候选定位标志轮廓在所述二维码图像中的覆盖区域的坐标,判断所述二维码图像的中心点是否位于所述任一候选定位标志轮廓内;
若所述中心点位于所述任一候选定位标志轮廓内,则确定所述任一候选定位标志轮廓不是目标定位标志轮廓。
6.根据权利要求1所述的方法,其特征在于,所述目标定位标志轮廓的数量为三个;所述根据所述目标定位标志轮廓的位置,确定透视变换参数,包括:
分别在每个目标定位标志轮廓中确定一个定位点,以得到三个定位点,根据所述三个定位点确定第四定位点;
在所述二维码图像的图像平面上确定能够组成正方形的四个目标点;
根据四个定位点与所述四个目标点之间的映射关系,确定所述透视变换参数。
7.根据权利要求6所述的方法,其特征在于,所述根据所述三个定位点确定第四定位点,包括:
以所述三个定位点作为平行四边形的三个角点,计算所述平行四边形的第四个角点,得到所述第四定位点。
8.根据权利要求7所述的方法,其特征在于,所述三个定位点中,第一定位点是与所述二维码图像的左上角点距离最近的点,第二定位点是与所述二维码图像的右上角点距离最近的点,第三定位点是与所述二维码图像的左下角点距离最近的点;所述在所述二维码图像的图像平面上确定能够组成正方形的四个目标点,包括:
获取所述第一定位点、所述第二定位点、所述第三定位点在所述图像平面上的坐标值;
根据所述第一定位点与所述第二定位点的纵坐标平均值,以及所述第一定位点与所述第三定位点的横坐标平均值,确定第一目标点。
获取由所述四个定位点组成的四边形的平均边长,根据所述第一目标点与所述平均边长确定第二目标点、第三目标点、第四目标点。
9.根据权利要求1所述的方法,其特征在于,所述检测二维码图像中的图形轮廓,包括:
将所述二维码图像进行二值化处理,得到对应的二值化图像;
在所述二值化图像中检测闭合图形,得到所述图形轮廓。
10.根据权利要求1所述的方法,其特征在于,所述根据所述图形轮廓之间的层级关系从所述图形轮廓中确定候选定位标志轮廓,包括:
根据所述图形轮廓之间的层级关系确定每个图形轮廓的子轮廓;
对于任一图形轮廓,若所述任一图形轮廓具有子轮廓,且所述任一图形轮廓的至少一个子轮廓也具有子轮廓,则确定所述任一图形轮廓是候选定位标志轮廓。
11.根据权利要求10所述的方法,其特征在于,所述根据所述图形轮廓之间的层级关系确定每个图形轮廓的子轮廓,包括:
将处于所述任一图形轮廓内的其他图形轮廓添加到所述任一图形轮廓的子轮廓集合中;
若所述子轮廓集合中的第一图形轮廓处于第二图形轮廓内,则从所述子轮廓集合中移除所述第一图形轮廓,所述第一图形轮廓和所述第二图形轮廓是所述子轮廓集合中的任意两个图形轮廓。
12.根据权利要求1所述的方法,其特征在于,在检测二维码图像中的图形轮廓前,所述方法还包括:
从原始图像中检测二维码区域,截取所述二维码区域的局部图像,得到所述二维码图像。
13.一种二维码图像处理装置,其特征在于,包括:
候选定位标志轮廓确定模块,被配置为检测二维码图像中的图形轮廓,根据所述图形轮廓之间的层级关系从所述图形轮廓中确定候选定位标志轮廓;
目标定位标志轮廓确定模块,被配置为基于各候选定位标志轮廓在所述二维码图像中的覆盖区域,从所述候选定位标志轮廓中筛选出用于定位二维码的目标定位标志轮廓;
透视变换参数确定模块,被配置为根据所述目标定位标志轮廓的位置,确定透视变换参数;
透视变换处理模块,被配置为利用所述透视变换参数对所述二维码图像进行透视变换处理,得到目标图像。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12任一项所述的方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211020763.3A CN115358252A (zh) | 2022-08-24 | 2022-08-24 | 二维码图像处理方法、装置、存储介质与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211020763.3A CN115358252A (zh) | 2022-08-24 | 2022-08-24 | 二维码图像处理方法、装置、存储介质与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115358252A true CN115358252A (zh) | 2022-11-18 |
Family
ID=84005616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211020763.3A Pending CN115358252A (zh) | 2022-08-24 | 2022-08-24 | 二维码图像处理方法、装置、存储介质与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115358252A (zh) |
-
2022
- 2022-08-24 CN CN202211020763.3A patent/CN115358252A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11443133B2 (en) | Computer vision system for industrial equipment gauge digitization and alarms | |
WO2021051604A1 (zh) | Osd的文字区域的识别方法、装置及存储介质 | |
CN109165538B (zh) | 基于深度神经网络的条形码检测方法及装置 | |
WO2022000862A1 (zh) | 鱼眼图像中的对象检测方法、装置及存储介质 | |
WO2018059365A1 (zh) | 图形码处理方法及装置、存储介质 | |
US8811751B1 (en) | Method and system for correcting projective distortions with elimination steps on multiple levels | |
CN109086724B (zh) | 一种加速的人脸检测方法及存储介质 | |
CN106709500B (zh) | 一种图像特征匹配的方法 | |
CN107862235B (zh) | 二维码的位置定位方法、装置及终端设备 | |
EP1081648A2 (en) | Method for processing a digital image | |
WO2022099889A1 (zh) | 重定位方法、机器人及计算机可读存储介质 | |
CN107578011A (zh) | 视频关键帧的判定方法及装置 | |
CN112883955A (zh) | 货架布局检测方法、装置及计算机可读存储介质 | |
CN114399781A (zh) | 文档图像处理方法及装置、电子设备、存储介质 | |
CN112396050A (zh) | 图像的处理方法、设备以及存储介质 | |
CN108960247B (zh) | 图像显著性检测方法、装置以及电子设备 | |
CN115238723A (zh) | 一种局部顶点检测方法及装置 | |
EP4052224B1 (en) | Method for generating a three dimensional, 3d, model | |
CN115358252A (zh) | 二维码图像处理方法、装置、存储介质与电子设备 | |
WO2019237560A1 (zh) | 一种边框页码扫描系统 | |
CN113920068B (zh) | 一种基于人工智能的身体部位检测方法、装置及电子设备 | |
CN115223173A (zh) | 对象识别方法、装置、电子设备及存储介质 | |
WO2022011560A1 (zh) | 图像裁剪方法与装置、电子设备及存储介质 | |
US20210390286A1 (en) | Measuring Quality of Depth Images in Real Time | |
CN113781389A (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 |