CN112149442B - 畸变二维码的识别方法和装置、存储介质及电子装置 - Google Patents
畸变二维码的识别方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN112149442B CN112149442B CN202010970309.9A CN202010970309A CN112149442B CN 112149442 B CN112149442 B CN 112149442B CN 202010970309 A CN202010970309 A CN 202010970309A CN 112149442 B CN112149442 B CN 112149442B
- Authority
- CN
- China
- Prior art keywords
- group
- dimensional code
- thin
- plate spline
- target values
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013507 mapping Methods 0.000 claims abstract description 91
- 108091026890 Coding region Proteins 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 145
- 238000005070 sampling Methods 0.000 claims description 27
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 5
- 108700026244 Open Reading Frames Proteins 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000001514 detection method Methods 0.000 description 16
- 238000012937 correction Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000009466 transformation Effects 0.000 description 5
- 238000005452 bending Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/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/146—Methods for optical code recognition the method including quality enhancement steps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Electromagnetism (AREA)
- Toxicology (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
Abstract
本发明提供了畸变二维码的识别方法和装置、存储介质及电子装置,上述方法包括:将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点;根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值;根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;根据所述一组映射坐标对所述二维码图像进行识别。通过本发明,解决了相关技术中对不定形式的畸变二维码的识别准确率较低的技术问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种畸变二维码的识别方法和装置、存储介质及电子装置。
背景技术
二维码的应用越来越广泛,通过对二维码进行识别可以得到该二维码对应的原始数据。然而,在相关技术中,对二维码尤其是发生了形变的二维码的识别准确率较低,例如,对于由于用于拍摄二维码的镜头产生的镜头畸变或是由于二维码图片被粘贴在曲面物体上,所导致的获取到的获取到的二维码发生了非线性形变,通常对于这类二维码无法进行准确识别。
针对相关技术中,对于不定形式的畸变二维码的识别准确率较低的技术问题,尚未提出有效的技术方案。
发明内容
本发明实施例提供了一种畸变二维码的识别方法和装置、存储介质及电子装置,以至少解决相关技术中不定形式的畸变二维码的识别准确率较低的技术问题。
根据本发明的一个实施例,提供了一种畸变二维码的识别方法,包括:将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;根据所述一组映射坐标对所述二维码图像进行识别。
可选地,所述根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,包括:将所述第二组关键点中的与所述一组控制点中的每个控制点一一对应的关键点在所述二维码图像中的位置坐标,确定为所述一组目标值中的一个目标值。
可选地,所述根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值,包括:根据所述一组目标值(x′i,y′i)以及所述一组控制点在所述模版图案中的位置坐标(xi,yi),得到ci1、ci2,其中,所述ci1=xi,ci2=yi,所述i∈[1,n],所述n为所述一组控制点的控制点数量;根据所述ci1、ci2、x′i,以及所述ci1、ci2、y′i分别得到三维点集其中,根据所述ci1、ci2、x′i得到的所述三维点集Cn×3中的所述ci3=x′i,根据所述ci1、ci2、y′i得到的所述三维点集Cn×3中的所述ci3=y′i;分别将根据所述ci1、ci2、x′i得到的所述三维点集Cn×3,以及根据所述ci1、ci2、y′i得到的所述三维点集Cn×3,输入到所述薄板样条拟合操作中的薄板样条拟合方程:中,并对所述薄板样条拟合方程进行求解,得到所述薄板样条插值函数中的第一组参数的目标取值和第二组参数的目标取值,其中,所述第一组参数的目标取值为将根据所述ci1、ci2、x′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述第二组参数的目标取值为将根据所述ci1、ci2、y′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述目标参数的目标取值包括所述第一组参数的目标取值以及所述第二组参数的目标取值;其中,
矩阵K=(Kij)=U(|ci1,ci2)-(cj1,cj2)|),j∈[1,n],
可选地,所述根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域的模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标,包括:将所述编码区域中模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第一组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第一组参数的目标取值确定的所述薄板样条插值函数的第一函数值x′k;将所述编码区域中模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第二组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第二组参数的目标取值确定的所述薄板样条插值函数的第二函数值y′k;根据所述第一函数值x′k和所述第二函数值y′k得到所述一组映射坐标中的一个映射坐标(x′k,y′k),其中,所述k∈[1,t],t为所述编码区域中模块的中心点的数量;其中,所述薄板样条插值函数为:
可选地,所述根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,包括:将所述二维码图像中的第二位置坐标相对于第一位置坐标之间的位移,确定为所述一组目标值中的一个目标值,其中,所述第一位置坐标为所述一组控制点中的每个控制点在所述目标模版图案中的坐标,所述第二位置坐标为所述第二组关键点中与所述每个控制点一一对应的关键点在所述二维码图像中的坐标。
可选地,所述根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值,包括:根据所述一组目标值(x′i,y′i)以及所述一组控制点在所述模版图案中的位置坐标(xi,yi),得到ci1、ci2,其中,所述ci1=xi,ci2=yi,所述i∈[1,n],所述n为所述一组控制点的控制点数量;根据所述ci1、ci2、xi、x′i,以及所述ci1、ci2、yi、y′i分别得到三维点集其中,根据所述ci1、ci2、xi、x′i得到的所述三维点集cn×3中的所述ci3=x′i-xi,根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3中的所述ci3=y′i-yi;分别将根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3,以及根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3,输入到所述薄板样条拟合操作中的薄板样条拟合方程:中,并对所述薄板样条拟合方程进行求解,得到所述薄板样条插值函数中的第三组参数的目标取值和第四组参数的目标取值,其中,所述第三组参数的目标取值为将根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述第四组参数的目标取值为将根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述目标参数的目标取值包括所述第三组参数的目标取值以及所述第四组参数的目标取值;其中,矩阵K=(Kij)=U(|(ci1,ci2)-(cj1,cj2)|),j∈[1,n],
可选地,所述根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标,包括:将所述编码区域中模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第三组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第三组参数的目标取值确定的所述薄板样条插值函数的第三函数值dxk;将所述编码区域中模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第四组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第四组参数的目标取值确定的所述薄板样条插值函数的第四函数值dyk;根据所述第三函数值dxk和所述第四函数值dyk得到所述一组映射坐标中的一个映射坐标(x′k,y′k),其中,所述x′k=dxk+xk,所述y′k=dyk+yk,所述k∈[1,t],其中,t为所述编码区域中模块的中心点的数量,所述薄板样条插值函数为:
可选地,所述根据所述一组映射坐标对所述二维码图像进行识别,包括:根据所述一组映射坐标对所述二值化图像进行采样,得到采样结果,其中,所述二值化图像是对所述二维码图像进行滤波后得到的;根据所述采样结果得到所述二维码图像对应的识别结果。
根据本发明的一个实施例,提供了一种畸变二维码的识别装置,包括:第一确定模块,用于将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;第二确定模块,用于根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;拟合模块,用于根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;插值模块,用于根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;识别模块,还用于根据所述一组映射坐标对所述二维码图像进行识别。
可选地,根据本发明的另一个实施例,提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述方法。
可选地,根据本发明的另一个实施例,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述方法。
通过本发明,将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;根据所述一组映射坐标对所述二维码图像进行识别。因此,可以解决相关技术中不定形式的畸变二维码的识别准确率较低的技术问题,提高了不定形式的畸变二维码的识别准确率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本发明实施例的畸变二维码的识别方法的流程图;
图2为相关技术中的模版图案的示意图(一);
图3为相关技术中的模版图案的示意图(二);
图4为本发明实施例中的二维码图像中示意图;
图5为本发明实施例中的二维码图像中的关键点的示意图;
图6为本发明实施例中的二值化图像的示意图;
图7为本发明实施例中的二值化图像中的映射点的示意图;
图8为根据本发明另一实施例的畸变二维码的识别方法的流程图;
图9是根据本发明实施例的畸变二维码的识别装置的结构框图;
图10是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明实施例提供了一种畸变二维码的识别方法,图1为根据本发明实施例的畸变二维码的识别方法的流程图,如图1所示,包括:
步骤S102,将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;
步骤S104,根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;
步骤S106,根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;
步骤S108,根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;
步骤S1010,根据所述一组映射坐标对所述二维码图像进行识别。
通过本发明,将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;根据所述一组映射坐标对所述二维码图像进行识别。因此,可以解决相关技术中不定形式的畸变二维码的识别准确率较低的技术问题,提高了不定形式的畸变二维码的识别准确率。
需要说明的是,在上述实施例中,目标模版图案为二维码模版图案。模版图案为二维码标准中定义的模版图案(即快速响应(Quick Response,简称为QR)QR二维码标准中定义的QR code Symbol),并且二维码图像为通过拍摄设备或图像采集设备摄(即实拍)得到的包含二维码的照片。图2显示了二维码标准ISO/IEC 18004中定义的版本1(version 1)模版图案(version 1symbol),二维码标准ISO/IEC 18004中定义的版本2(version2)模版图案(version 2symbol)如图3所示。
其中,目标模版图案中的编码区域包括了数据和纠错码字区域(Data and ErrorCorrection Code Words),还可以包括版本信息以及格式信息所在的区域。
在上述实施例中,二维码图像中的第二组关键点中的每个关键点与目标模版图案中的第一组关键点中的每个关键点是一一对应的。在一个示例性实施例中,二维码图像中的第二组关键点包括3个位置探测图形(Position Detection Patterns)所包含的s个顶点(即上述实施例中的一组控制点中的控制点的数量n=s)。可选地,二维码图像中的第二组关键点包括3个位置探测图形所包含的s个顶点以及校准图形(alignment pattern)中的r个顶点或中心点(即上述实施例中的一组控制点中的控制点的关键点数量n=s+r),其中,所述s可以为12,当所述第二组关键点包括所述r个顶点时,所述r为4,当所述第二组关键点包括所述r个中心点时,所述r为1。
在一个示例性实施例中,不定形式的畸变二维码可以包括产生了无法预知的非线性形变的二维码,即无法预先得知二维码产生的是何种形式的非线性形变,例如,由于用于对二维码进行拍摄的镜头产生的镜头畸变,或是由于二维码被显示在了曲面对象上所导致的获取到的二维码(即二维码图像)产生了非线性形变,如图4中显示的照片(即实拍图片)为产生了不定形式的畸变的二维码。
可选地,所述根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,包括:将所述第二组关键点中的与所述一组控制点中的每个控制点一一对应的关键点在所述二维码图像中的位置坐标,确定为所述一组目标值中的一个目标值。
需要说明的是,在上述实施例中,二维码图像中的第二组关键点中的每个关键点与目标模版图案中的第一组关键点中的每个关键点是一一对应的,即第二组关键点中的每个关键点在所述二维码图像中所位于的模块,与在目标模版图案中的第一组关键中的对应关键点在该目标模版图案中所位于的模块相同。例如,当二维码图像中的第二组关键点包括3个位置探测图形(Position Detection Patterns)所包含的s个顶点时,目标模版图案中的第一组关键点为二维码图像中的s个顶点所分别对应的该目标模版图案中的3个位置探测图形所包含的s个顶点;或者,二维码图像中的第二组关键点包括3个位置探测图形所包含的s个顶点以及校准图形中的r个顶点时,目标模版图案中的第一组关键点为二维码图像中的s个顶点所分别对应的该目标模版图案中的3个位置探测图形所包含的s个顶点,以及二维码图像中的r个顶点所分别对应的该目标模版图案中的校准图形中的r个顶点;或者,二维码图像中的第二组关键点包括3个位置探测图形所包含的s个顶点以及校准图形中的r个中心点时,目标模版图案中的第一组关键点为二维码图像中的s个顶点所分别对应的该目标模版图案中的3个位置探测图形所包含的s个顶点,以及二维码图像中的r个中心点对应的该目标模版图案中的校准图形中的r个中心点。
可选地,所述根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值,包括:根据所述一组目标值(x′i,y′i)以及所述一组控制点在所述模版图案中的位置坐标(xi,yi),得到ci1、ci2,其中,所述ci1=xi,ci2=yi,所述i∈[1,n],所述n为所述一组控制点的控制点数量;根据所述ci1、ci2、x′i,以及所述ci1、ci2、y′i分别得到三维点集其中,根据所述ci1、ci2、x′i得到的所述三维点集Cn×3中的所述ci3=x′i,根据所述ci1、ci2、y′i得到的所述三维点集Cn×3中的所述ci3=y′i;分别将根据所述ci1、ci2、x′i得到的所述三维点集Cn×3,以及根据所述ci1、ci2、y′i得到的所述三维点集Cn×3,输入到所述薄板样条拟合操作中的薄板样条拟合方程:中,并对所述薄板样条拟合方程进行求解,得到所述薄板样条插值函数中的第一组参数的目标取值和第二组参数的目标取值,其中,所述第一组参数的目标取值为将根据所述ci1、ci2、x′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述第二组参数的目标取值为将根据所述ci1、ci2、y′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述目标参数的目标取值包括所述第一组参数的目标取值以及所述第二组参数的目标取值;其中,
矩阵K=(Kij)=U(|(ci1,ci2)-(cj1,cj2)|),所述j∈[1,n],
在上述实施例中,根据所述一组控制点以及所述一组目标值进行薄板样条拟合操作,即确定出薄板样条插值(Thin Plate Spline)函数的参数,该薄板样条插值函数用于表示模版图案与二维码图像之间的映射关系,并且基于该薄板样条插值函数能够确定出模版图案中的模块的中心点在二维码图像中的映射点的坐标。
可选地,所述根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标,包括:将所述目标模版图案中的编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第一组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第一组参数的目标取值确定的所述薄板样条插值函数的第一函数值x′k;将所述目标模版图案中的编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第二组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第二组参数的目标取值确定的所述薄板样条插值函数的第二函数值y′k;根据所述第一函数值x′k和所述第二函数值y′k得到所述一组映射坐标中的一个映射坐标(x′k,y′k),其中,所述k∈[1,t],t为所述编码区域的模块的中心点的数量;其中,所述薄板样条插值函数为:
图5中显示了二维码图像中的16的关键点,即图4中的二维码图像的16个关键点(即上述实施例中的第二组关键点);图6中显示了对图4中的二维码图像进行滤波后得到的二值化图像;
模版图案中的模块(也可称为数据模块),即二维码标准中定义的模版图案中的module。例如,图2中所示的模版图案中,共有21×21个模块(即模版图案的版本信息为21modules×21modules)。
在上述实施例中,(ci1,ci2)用于表示第i个控制点的坐标,(cj1,cj2)用于表示第j个控制点的坐标,|(ci1,ci2)-(cj1,cj2)|表示控制点(ci1,ci2)与控制点(cj1,cj2)之间的距离。可选地,控制点(ci1,ci2)与控制点(cj1,cj2)之间的距离可以为欧氏距离,即
基于上述实施例,二维码图像、二值化图像以及模版图案均采用笛卡尔坐标系,并且二维码图像和二值化图像采用同一坐标系。在上述实施例中,将所述ci3确定为所述x′i(即将二维码图像中的关键点的横坐标作为薄板样条拟合的目标值),即进行x方向拟合处理;以及将将所述ci3确定为所述y′i(即将二维码图像中的关键点的纵坐标作为薄板样条拟合的目标值),即进行y方向拟合处理,因此上述薄板样条插值函数用于表示模版图案到二维码图像的映射关系,从而基于该映射关系能够确定出即模版图案中的模块的中心点对应于二维码图像中的映射点的坐标。
其中,在进行x方向的拟合处理后,得到了第一组参数的目标取值,即第一组以及的值,进而可以将第一组以及的值代入到上述薄板样条插值函数中,并基于该薄板样条插值函数,确定出与编码区域的模块的中心点的坐标(xk,yk)对应的所述薄板样条插值函数的第一函数值即x′k。在进行y方向的拟合处理后,得到了第二组参数的目标取值,即第二组以及的值,进而可以将第二组以及的值代入到上述薄板样条插值函数中,并基于该薄板样条插值函数,确定出与编码区域的模块的中心点的坐标(xk,yk)对应的所述薄板样条插值函数的第二函数值即y′k。通过组合第一函数值和对应的第二函数值,得到所述模版图案中的编码区域的模块的中心点的坐标(xk,yk)在所述二维码图像中的映射坐标(x′k,y′k)。
图7中显示了二值化图像中的各个映射坐标所表示的各个映射点(即图7中的各个灰点),其中,图7中显示了目标模图案中的所有模块的中心点在二值化图像中的对应映射点,即上述实施例中的目标模版图案中的编码区域的模块的中心点在二值化图像中的映射点是图7所示的所有的灰色点的一个子集。
可选地,所述根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,包括:将所述第二组关键点中的每个关键点在所述二维码图像中的第二位置坐标相对于第一位置坐标之间的位移,确定为所述一组目标值中的一个目标值,其中,所述第一位置坐标为所述一组控制点中与所述第二组关键中的所述每个关键点一一对应的一个控制点在所述目标模版图案中的坐标。
可选地,所述根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值,包括:根据所述一组目标值(x′i,y′i)以及所述一组控制点在所述模版图案中的位置坐标(xi,yi),得到ci1、ci2,其中,所述ci1=xi,ci2=yi,所述i∈[1,n],所述n为所述一组控制点的控制点数量;根据所述ci1、ci2、xi、x′i,以及所述ci1、ci2、yi、y′i分别得到三维点集其中,根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3中的所述ci3=x′i-xi,根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3中的所述ci3=y′i-yi;分别将根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3,以及根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3,输入到所述薄板样条拟合操作中的薄板样条拟合方程:中,并对所述薄板样条拟合方程进行求解,得到所述薄板样条插值函数中的第三组参数的目标取值和第四组参数的目标取值,其中,所述第三组参数的目标取值为将根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述第四组参数的目标取值为将根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述目标参数的目标取值包括所述第三组参数的目标取值以及所述第四组参数的目标取值;其中,矩阵K=(Kij)=U(|(ci1,ci2)-(cj1,cj2)|),j∈[1,n],
需要说明的是,在上述实施例中,分别将二维码图像中的关键点(即上述实施例中的第二组关键中的每个关键点)在该二维码图像中的横坐标与对应的控制点在目标模版图案中的横坐标之间的差值(即第二位置坐标中的横坐标与第一位置坐标的横坐标之间的位移;同时也是第二位置坐标对应的二维码图像中的关键点,相对于与该关键点所对应的控制点在x轴方向产生的位移)作为薄板样条拟合的目标值;以及将二维码图像中的关键点的在该二维码图像中的纵坐标与对应的控制点在目标模版图案中的纵坐标之间的差值(即第二位置坐标中的纵坐标与第一位置坐标的纵坐标之间的位移;同时也是第二位置坐标对应的二维码图像中的关键点,相对于与该关键点所对应的控制点在y轴方向产生的位移)作为薄板样条拟合的目标值。即上述实施例中,分别进行x方向和y方向的薄板样条拟合操作。其中,上述薄板样条插值函数用于表示模版图案到二维码图像的映射关系。
可选地,所述根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域的模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标,包括:将所述编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第三组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第三组参数的目标取值确定的所述薄板样条插值函数的第三函数值dxk;将所述所述编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第四组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第四组参数的目标取值确定的所述薄板样条插值函数的第四函数值dyk;根据所述第三函数值dxk和所述第四函数值dyk得到所述一组映射坐标中的一个映射坐标(x′k,y′k),其中,所述x′k=dxk+xk,所述y′k=dyk+yk,所述k∈[1,t],其中,t为所述编码区域的模块的中心点的数量,所述薄板样条插值函数为:
在上述实施例中,进行x方向的拟合处理后,得到了第三组参数的目标取值,即第三组以及的值,进而可以将第三组以及的值带入到上述薄板样条插值函数中,并基于该薄板样条插值函数,确定出与编码区域的模块的中心点的坐标(xk,yk)对应的所述薄板样条插值函数的第三函数值即dxk。在进行y方向的拟合处理后,得到了第四组参数的目标取值,即第四组以及的值,进而可以将第四组以及的值带入到上述薄板样条插值函数中,并基于该薄板样条插值函数,确定出与编码区域的模块的中心点的坐标(xk,yk)对应的所述薄板样条插值函数的第四函数值即dyk。基于第三函数值和第四函数值,可以确定出模版图案中的编码区域的模块的中心点的坐标(xk,yk)在所述二维码图像中的映射坐标(x′k,y′k),其中,x′k=dxk+xk,y′k=dyk+yk。
可选地,所述根据所述一组映射坐标对所述二维码图像进行识别,包括:根据所述一组映射坐标对所述二值化图像进行采样,得到采样结果,其中,所述二值化图像是对所述二维码图像进行滤波后得到的;根据所述采样结果得到所述二维码图像对应的识别结果。
其中,采样结果即根据上述一组映射坐标对二值化图像进行采样得到的比特流,进而可以对比特流进行解码得到对二维码图像进行识别的识别结果,即根据映射坐标(或映射点)对二值化图像进行采样和识别。
在一个示例性实施例中,所述根据所述一组映射坐标对所述二值化图像进行采样,得到采样结果,以及根据所述采样结果得到所述二维码图像对应的识别结果,可以包括:根据所述二值化图像中与所述映射坐标对应的点,对所述二值化图像进行采样,并根据采样结果得到比特流;对所述比特流进行解码得到所述二维码图像对应的识别结果。
在一个示例性实施例中,在所述将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点之前,所述方法还包括:获取所述二维码图像中的所述第二组关键点中的每个关键点在所述二维码图像中的坐标,以及所述二维码图像的二维码版本信息;根据所述二维码版本信息,将所述版本信息表示的二维码版本下的模版图案确定为所述目标模版图案;以及获取所述目标模版图案中与所述二维码图像中的第二组关键点中的每个关键点对应的关键点的位置坐标(即上述实施例中的一组控制点中的每个控制点在目标模版图案中的位置坐标,也即上述实施例中的第一位置坐标)。
在一个示例性实施例中,所述根据所述一组映射坐标对所述二值化图像进行采样,得到采样结果,以及根据所述采样结果得到所述二维码图像对应的识别结果,包括:根据所述一组映射坐标中的所有映射坐标,对所述二值化图像进行全采样,即获取所述二值化图像中与所述一组映射坐标对应的所有模块的中心点的比特值,得到与所述二维码图像对应的比特流,对所述比特流进行识别得到所述二维码图像对应的识别结果(即解码结果)。
其中,所述二维码图像可以是通过手机、平板电脑、相机等终端设备拍摄得到的具有二维码的照片。
需要说明的是,在上述实施例中,基于薄板样条插值算法对畸变二维码进行处理(即进行畸变校正),得到各个映射坐标,从而实现了提高对畸变二维码的识别准确率。
以下结合一示例对上述实施例中的畸变二维码的识别方法进行解释说明,但不用于限定本发明实施例的技术方案。本发明实施例中的二维码图像可以是图4中显示的照片(即实拍图片),即通过本发明实施例中的方法可以实现对畸变二维码的识别,图5中显示获取到了图4中的二维码图像的关键点(即上述实施例中的第二组关键点,其中图5中显示了16个关键点)。
图8为根据本发明另一实施例的畸变二维码的识别方法的流程图,如图8所示,该方法包括以下步骤:
步骤1、对实拍图片中的二维码进行扫描并提取关键点。
在畸变二维码识别流程中,通过对实拍图片中的二维码进行扫描,提取出二维码版本(即上述实施例中的版本信息)等基本信息,并对二维码中的关键点进行定位得到各个关键点的位置坐标。
其中,在上述实施例中,二维码中的关键点可以是二维码中用于对二维码进行定位的模块的中心点,即关键点包括二维码中的位置探测图形中的模块的中心点。可选地,二维码中的关键点包括用于对二维码进行定位的模块的中心点,以及二维码的校正图形中的模块的中心点。位置探测图形中的模块的中心点可以是位于位置探测图形的顶点处的模块的中心点,校正图形中的模块的中心点可以是位于校正图形的顶点处的模块的中心点。如图5所示,获取到了16个关键点,其中包括三个位置探测图形中的每个位置探测图形的4个顶点(即位置探测图形中白色区域的4个转角处的模块的中心点),以及校正图形中的4个顶点(即校正图形中白色区域的4个转角处的模块的中心点),其中,位置探测图形的4个顶点分别为:位置探测图形的左上角的顶点,左下角的顶点,右上角的顶点以及右下角的顶点。
步骤2、对二维码进行透视变换校正。在一个可选实施例中,可以在步骤2中通过对二维码进行透视变换从而对二维码进行校正,其中,通过透视变换可以对二维码中的线性形变进行校正。
需要说明的是,在上述实施例中,由于目标图中二维码存在明显畸变,通过透视变换等线性函数建立从源图到目标图的映射关系,仅能够对二维码中的线性形变进行校正,因此需要通过后续的处理步骤对二维码中的不定形式的畸变(例如,不定形式的非线性形变)进行校正。
步骤3、基于薄板样条插值进行二维码的畸变校正。
根据二维码版本选择与二维码对应的标准参考图案(即上述实施例中的目标模版图案),将标准参考图案作为薄板样条拟合操作的源图,实拍图片作为薄板样条拟合的目标图,进行薄板样条拟合操作,拟合的目标是确定源图各个模块的中心点到目标图的映射关系,从而确定出源图中的各个中心点的坐标到目标图对应的二值化图像中对应映射点的坐标的映射关系,其中,映射点的坐标即上述实施例中的映射坐标,因此根据该映射关系能够准确地获取用于对二维码图像进行解码的采样点(即二值化图像中的各个映射坐标对应的映射点)。
在本发明实施例中,通过采用薄板样条插值方法建立从源图到目标图的映射关系,该映射关系为非线性映射。
可选地,将二维码图像中的关键点的横坐标x′i和纵坐标y′i相对于源图中的控制点的横坐标xi和纵坐标yi的位移分别作为拟合的目标值z(即上述实施例中的ci3),分别在3D空间中进行以下的薄板样条插值流程。最后将源图中的各个模块的中心点对应的z值组合形成源图2D平面到目标图2D平面的映射。
其中,薄板样条插值的具体流程为:
控制点的数量为n,定义以下3D点集:
薄板样条拟合方程为:
矩阵K=(Kij)=U(|(ci1,ci2)-(cj1,cj2)|),i、j∈[1,n],
使用三角分解(LU Decomposition,简称为LU分解)等方法解以上矩阵方程,即可获得薄板样条插值函数中的目标参数的目标取值,即:权重向量以及向量的值,将获得的上述参数带入以下映射计算公式(即薄板样条插值函数)即可得到源图各点(xk,yk)在目标图中的位移。
对两个坐标方向(即x方向和y方向)分别重复以上计算过程即可得到源图到目标图的2D平面间的坐标映射关系。具体的,在上述实施例中,进行两次运算。即在第一次运算中,将zi确定为二维码图像中的关键点的横坐标x′i相对于源图中的控制点的横坐标xi的位移,并对薄板样条拟合方程进行求解,从而得到薄板样条插值函数中的参数的值,即:权重向量以及向量的值(对应于上述实施例中的第三组参数的目标取值)。以及在第二次运算中,将zi确定为二维码图像中的关键点的纵坐标y′i相对于源图中的控制点的纵坐标yi的位移,并对薄板样条拟合方程进行求解,从而得到薄板样条插值函数中的参数,即:权重向量以及向量的值(对应于上述实施例中的第四组参数的目标取值)。并且,将第三组参数的目标取值代入到上述薄板样条插值函数中,得到薄板样条插值函数对应于源图中的模块的中心点的坐标(xk,yk)的函数值,即为第三函数值dxk,通过计算dxk+xk即可得到出x′k。将第四组参数的目标取值代入到上述薄板样条插值函数中,得到薄板样条插值函数对应于源图中的模块的中心点的坐标(xk,yk)的函数值,即为第四函数值dyk,通过计算dyk+xk即可得到出y′k。
可选地,目标模版图案中的模块的中心点(xk,yk)为目标模版图案中的编码区域中的各个模块的中心点,即模块的中心点的位置坐标(xk,yk)为模版图案中的编码区域中的各个模块的中心点的坐标,从而得到的各个映射坐标(x′k,y′k)可以用于二值化图像的编码区域的各个模块的中心点位置,从而实现了对二值化图像的中心采样点的坐标的准确确定。
其中,映射计算公式中已包含了线性项和非线性项,从而通过该映射计算公式可以同时校正仿射变换和畸变带来的图像(即二维码)形变。
基于上述实施例,由于薄板样条模拟的是一块无缺陷均匀的无限大金属薄板在强制其通过设定的控制点时的弯曲行为,其总是倾向于最小化为了实现这一弯曲在整个平面上所需的能量,即薄板样条反映了在任意数量控制点的引导下从一个形状到另一形状的最小弯曲能量变形,即整个平面基于控制点进行自然延展。
通过上述实施例,可以对具有不定形式的非线性形变(例如,镜头畸变、二维码粘贴于曲面等因素带来的非线性形变)的二维码进行准确识别,并且不需要预先获知畸变的形式和拍摄参数(即镜头参数)、预先假定曲面形式。本发明实施例,对于任意畸变(未知的镜头畸变、粘贴面弯曲等情形)导致的二维码存在弯曲,基于二维码的主要特征点(即关键点)位置,都能准确计算解码(即二维码识别)过程中各采样点的位置(即映射点对应的映射坐标);同时对于能提供更多特征点的场合(例如较大版本的二维码,或者实现中通过添加其他算法定位得到更多特征点),能以增量的形式得到更精确的局部畸变描述,从而提高采样点的精度;以及能够应用于各种不定参数的畸变形式,解决了相关技术中的二维码的畸变校正流程都存在的场景限制问题;在本发明实施例中,无需在解码之前对图像(即二维码图像)进行预先的线性和非线性校正,这在实际应用中对实时性提供了良好的保证;并且控制点的数量是动态可调节的,新增的控制点相当于对曲面形状的更具体描述,可用于改善曲面的局部精度使其更符合实际,从而可以大大增加获取二维码特征点的灵活性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明的另一个实施例,提供了一种二维码的识别装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本发明实施例的畸变二维码的识别装置的结构框图,该装置包括:
第一确定模块92,用于将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;
第二确定模块94,用于根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;
拟合模块96,用于根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;
插值模块98,用于根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域的模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;
识别模块9010,用于根据所述一组映射坐标对所述二维码图像进行识别。
通过本发明,将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域的模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;根据所述一组映射坐标对所述二维码图像进行识别。因此,可以解决相关技术中不定形式的畸变二维码的识别准确率较低的技术问题,提高了不定形式的畸变二维码的识别准确率。
可选地,所述第二确定模块94,还用于:将所述第二组关键点中的与所述一组控制点中的每个控制点一一对应的关键点在所述二维码图像中的位置坐标,确定为所述一组目标值中的一个目标值。
可选地,所述拟合模块96,还用于:根据所述一组目标值(x′i,y′i)以及所述一组控制点在所述模版图案中的位置坐标(xi,yi),得到ci1、ci2,其中,所述ci1=xi,ci2=yi,所述i∈[1,n],所述n为所述一组控制点的控制点数量;根据所述ci1、ci2、x′i,以及所述ci1、ci2、y′i分别得到三维点集其中,根据所述ci1、ci2、x′i得到的所述三维点集Cn×3中的所述ci3=x′i,根据所述ci1、ci2、y′i得到的所述三维点集Cn×3中的所述ci3=y′i;分别将根据所述ci1、ci2、x′i得到的所述三维点集Cn×3,以及根据所述ci1、ci2、y′i得到的所述三维点集Cn×3,输入到所述薄板样条拟合操作中的薄板样条拟合方程:
中,并对所述薄板样条拟合方程进行求解,得到所述薄板样条插值函数中的第一组参数的目标取值和第二组参数的目标取值,其中,所述第一组参数的目标取值为将根据所述ci1、ci2、x′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述第二组参数的目标取值为将根据所述ci1、ci2、y′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述目标参数的目标取值包括所述第一组参数的目标取值以及所述第二组参数的目标取值;其中,
矩阵K=(Kij)=U(|(ci1,ci2)-(cj1,cj2)|),j∈[1,n],
可选地,所述插值模块98,还用于:将所述编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第一组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第一组参数的目标取值确定的所述薄板样条插值函数的第一函数值x′k;将所述编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第二组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第二组参数的目标取值确定的所述薄板样条插值函数的第二函数值y′k;根据所述第一函数值x′k和所述第二函数值y′k得到所述一组映射坐标中的一个映射坐标(x′k,y′k),其中,所述k∈[1,t],t为所述编码区域的模块的中心点的数量;其中,所述薄板样条插值函数为:
可选地,所述第二确定模块94,还用于:将所述二维码图像中的第二位置坐标相对于第一位置坐标之间的位移,确定为所述一组目标值中的一个目标值,其中,所述第一位置坐标为所述一组控制点中的每个控制点在所述目标模版图案中的坐标,所述第二位置坐标为所述第二组关键点中与所述每个控制点一一对应的关键点在所述二维码图像中的坐标。
可选地,所述拟合模块96,还用于:根据所述一组目标值(x′i,y′i)以及所述一组控制点在所述模版图案中的位置坐标(xi,yi),得到ci1、ci2,其中,所述ci1=xi,ci2=yi,所述i∈[1,n],所述n为所述一组控制点的控制点数量;根据所述ci1、ci2、xi、x′i,以及所述ci1、ci2、yi、y′i分别得到三维点集其中,根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3中的所述ci3=x′i-xi,根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3中的所述ci3=y′i-yi;分别将根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3,以及根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3,输入到所述薄板样条拟合操作中的薄板样条拟合方程:中,并对所述薄板样条拟合方程进行求解,得到所述薄板样条插值函数中的第三组参数的目标取值和第四组参数的目标取值,其中,所述第三组参数的目标取值为将根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述第四组参数的目标取值为将根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述目标参数的目标取值包括所述第三组参数的目标取值以及所述第四组参数的目标取值;其中,矩阵K=(Kij)=U(|(ci1,ci2)-(cj1,cj2)|),j∈[1,n],
可选地,所述插值模块98,还用于:将所述编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第三组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第三组参数的目标取值确定的所述薄板样条插值函数的第三函数值dxk;将所述编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第四组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第四组参数的目标取值确定的所述薄板样条插值函数的第四函数值dyk;根据所述第三函数值dxk和所述第四函数值dyk得到所述一组映射坐标中的一个映射坐标(x′k,y′k),其中,所述x′k=dxk+xk,所述y′k=dyk+yk,所述k∈[1,t],其中,t为所述编码区域的模块的中心点的数量,所述薄板样条插值函数为:
可选地,所述识别模块9010,还用于:根据所述一组映射坐标对所述二值化图像进行采样,得到采样结果,其中,所述二值化图像是对所述二维码图像进行滤波后得到的;根据所述采样结果得到所述二维码图像对应的识别结果。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
图10是根据本发明实施例的一种可选的电子装置的结构示意图。可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的畸变二维码的识别方法和畸变二维码的识别装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的文件的上传方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。作为一种示例,上述存储器1002中可以但不限于包括上述畸变二维码的识别装置的确定模块72,拟合模块74,以及识别模块76。此外,还可以包括但不限于上述畸变二维码的识别装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输设备1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输设备1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输设备1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1008,用于显示画面;和连接总线1010,用于连接上述电子装置中的各个模块部件。
在其他实施例中,上述终端或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种畸变二维码的识别方法,其特征在于,包括:
将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;
根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;
根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;
根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;
根据所述一组映射坐标对所述二维码图像进行识别。
2.根据权利要求1所述的方法,其特征在于,所述根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,包括:
将所述第二组关键点中的与所述一组控制点中的每个控制点一一对应的关键点在所述二维码图像中的位置坐标,确定为所述一组目标值中的一个目标值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值,包括:
根据所述一组目标值(x′i,y′i)以及所述一组控制点在所述模版图案中的位置坐标(xi,yi),得到ci1、ci2,其中,所述ci1=xi,ci2=yi,所述i∈[1,n],所述n为所述一组控制点的控制点数量;
根据所述ci1、ci2、x′i,以及所述ci1、ci2、y′i分别得到三维点集其中,根据所述ci1、ci2、x′i得到的所述三维点集Cn×3中的所述ci3=x′i,根据所述ci1、ci2、y′i得到的所述三维点集Cn×3中的所述ci3=y′i;
分别将根据所述ci1、ci2、x′i得到的所述三维点集Cn×3,以及根据所述ci1、ci2、y′i得到的所述三维点集Cn×3,输入到所述薄板样条拟合操作中的薄板样条拟合方程:中,并对所述薄板样条拟合方程进行求解,得到所述薄板样条插值函数中的第一组参数的目标取值和第二组参数的目标取值,其中,所述第一组参数的目标取值为将根据所述ci1、ci2、x′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述第二组参数的目标取值为将根据所述ci1、ci2、y′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述目标参数的目标取值包括所述第一组参数的目标取值以及所述第二组参数的目标取值;
其中,矩阵K=(Kij)=U(|(ci1,ci2)-(cj1,cj2)|),j∈[1,n],
4.根据权利要求3所述的方法,其特征在于,所述根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标,包括:
将所述编码区域中模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第一组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第一组参数的目标取值确定的所述薄板样条插值函数的第一函数值x′k;
将所述编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第二组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第二组参数的目标取值确定的所述薄板样条插值函数的第二函数值y′k;
根据所述第一函数值x′k和所述第二函数值y′k得到所述一组映射坐标中的一个映射坐标(x′k,y′k),其中,所述k∈[1,t],t为所述编码区域的模块的中心点的数量;
其中,所述薄板样条插值函数为:
5.根据权利要求2所述的方法,其特征在于,所述根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,包括:
将所述二维码图像中的第二位置坐标相对于第一位置坐标之间的位移,确定为所述一组目标值中的一个目标值,其中,所述第一位置坐标为所述一组控制点中的每个控制点在所述目标模版图案中的坐标,所述第二位置坐标为所述第二组关键点中与所述每个控制点一一对应的关键点在所述二维码图像中的坐标。
6.根据权利要求5所述的方法,其特征在于,所述根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值,包括:
根据所述一组目标值(x′i,y′i)以及所述一组控制点在所述模版图案中的位置坐标(xi,yi),得到ci1、ci2,其中,所述ci1=xi,ci2=yi,所述i∈[1,n],所述n为所述一组控制点的控制点数量;
根据所述ci1、ci2、xi、x′i,以及所述ci1、ci2、yi、y′i分别得到三维点集其中,根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3中的所述ci3=x′i-xi,根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3中的所述ci3=y′i-yi;
分别将根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3,以及根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3,输入到所述薄板样条拟合操作中的薄板样条拟合方程:中,并对所述薄板样条拟合方程进行求解,得到所述薄板样条插值函数中的第三组参数的目标取值和第四组参数的目标取值,其中,所述第三组参数的目标取值为将根据所述ci1、ci2、xi、x′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述第四组参数的目标取值为将根据所述ci1、ci2、yi、y′i得到的所述三维点集Cn×3输入到所述薄板样条拟合方程并进行求解后得到的以及的值,所述目标参数的目标取值包括所述第三组参数的目标取值以及所述第四组参数的目标取值;
其中,矩阵K=(Kij)=U(|(ci1,ci2)-(cj1,cj2)|),j∈[1,n]
7.根据权利要求6所述的方法,其特征在于,所述根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标,包括:
将所述编码区域中模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第三组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第三组参数的目标取值确定的所述薄板样条插值函数的第三函数值dxk;
将所述编码区域的模块的中心点在所述目标模版图案中的位置坐标(xk,yk),输入到由根据所述第四组参数的目标取值确定的所述薄板样条插值函数中,得到根据所述第四组参数的目标取值确定的所述薄板样条插值函数的第四函数值dyk;
根据所述第三函数值dxk和所述第四函数值dyk得到所述一组映射坐标中的一个映射坐标(x′k,y′k),其中,所述x′k=dxk+xk,所述y′k=dyk+yk,所述k∈[1,t],其中,t为所述编码区域的模块的中心点的数量,所述薄板样条插值函数为:
8.根据权利要求1所述的方法,其特征在于,所述根据所述一组映射坐标对所述二维码图像进行识别,包括:根据所述一组映射坐标对所述二维码图像对应的二值化图像进行采样,得到采样结果,其中,所述二值化图像是对所述二维码图像进行滤波后得到的;
根据所述采样结果得到所述二维码图像对应的识别结果。
9.一种畸变二维码的识别装置,其特征在于,包括:
第一确定模块,用于将目标模版图案中的第一组关键点确定为薄板样条拟合操作的一组控制点,其中,所述第一组关键点中的关键点与二维码图像中的第二组关键点中的关键点一一对应,所述目标模版图案为所述二维码图像的二维码版本下的模版图案,所述二维码图像为包括不定形式的畸变二维码的图像;
第二确定模块,用于根据所述一组控制点在所述二维码图像中的位置坐标,得到所述薄板样条拟合操作的一组目标值,其中,所述一组目标值中的目标值与所述一组控制点中的控制点一一对应;
拟合模块,用于根据所述一组控制点和所述一组目标值进行所述薄板样条拟合操作,得到薄板样条插值函数中的目标参数的目标取值;
插值模块,用于根据所述薄板样条插值函数,确定所述目标模版图案中的编码区域中模块的中心点在所述二维码图像中的映射坐标,得到一组映射坐标;
识别模块,用于根据所述一组映射坐标对所述二维码图像进行识别。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010970309.9A CN112149442B (zh) | 2020-09-15 | 2020-09-15 | 畸变二维码的识别方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010970309.9A CN112149442B (zh) | 2020-09-15 | 2020-09-15 | 畸变二维码的识别方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112149442A CN112149442A (zh) | 2020-12-29 |
CN112149442B true CN112149442B (zh) | 2022-12-06 |
Family
ID=73892809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010970309.9A Active CN112149442B (zh) | 2020-09-15 | 2020-09-15 | 畸变二维码的识别方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112149442B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163912A (zh) * | 2019-04-29 | 2019-08-23 | 达泊(东莞)智能科技有限公司 | 二维码位姿标定方法、装置及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548462B (zh) * | 2016-11-02 | 2019-02-19 | 西安电子科技大学 | 基于薄板样条插值的非线性sar图像几何校正方法 |
CN107146208A (zh) * | 2017-04-27 | 2017-09-08 | 扬州大学 | 基于薄板样条基函数优化的非完备模型局部变形的恢复方法 |
CN109145927A (zh) * | 2017-06-16 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种对形变图像的目标识别方法及装置 |
US20190251675A1 (en) * | 2018-02-09 | 2019-08-15 | Megvii Technology Llc | Image processing method, image processing device and storage medium |
CN108629221B (zh) * | 2018-05-11 | 2021-08-10 | 南京邮电大学 | 一种褶皱畸变qr二维码的校正方法 |
CN111222613B (zh) * | 2020-04-16 | 2020-07-28 | 上海商魁信息科技有限公司 | 一种处理二维码的方法、装置和计算机存储介质 |
-
2020
- 2020-09-15 CN CN202010970309.9A patent/CN112149442B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163912A (zh) * | 2019-04-29 | 2019-08-23 | 达泊(东莞)智能科技有限公司 | 二维码位姿标定方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112149442A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108225216B (zh) | 结构光系统标定方法及装置、结构光系统及移动设备 | |
CN110378250B (zh) | 用于场景认知的神经网络的训练方法、装置及终端设备 | |
CN112541484B (zh) | 人脸抠图方法、系统、电子装置及存储介质 | |
CN112258589B (zh) | 一种手眼标定的方法及装置 | |
CN108960280B (zh) | 一种图片相似度检测方法及系统 | |
CN113140036A (zh) | 一种三维建模方法、装置、设备及存储介质 | |
CN112328715A (zh) | 视觉定位方法及相关模型的训练方法及相关装置、设备 | |
CN113436338A (zh) | 火灾现场的三维重建方法、装置、服务器及可读存储介质 | |
CN113329179B (zh) | 拍摄对位方法、装置、设备及存储介质 | |
CN112686950A (zh) | 位姿估计方法、装置、终端设备及计算机可读存储介质 | |
Dinh et al. | Rectification using different types of cameras attached to a vehicle | |
CN114663686A (zh) | 物体特征点匹配方法及装置、训练方法及装置 | |
CN112950528A (zh) | 证件姿态确定方法、模型训练方法、装置、服务器及介质 | |
CN106997366B (zh) | 数据库构建方法、增强现实融合追踪方法及终端设备 | |
CN112307786B (zh) | 一种多个不规则二维码批量定位识别方法 | |
CN112149442B (zh) | 畸变二维码的识别方法和装置、存储介质及电子装置 | |
CN109919164B (zh) | 用户界面对象的识别方法及装置 | |
KR101673144B1 (ko) | 부분 선형화 기반의 3차원 영상 정합 방법 | |
CN114897990A (zh) | 一种基于神经网络的相机畸变标定方法、系统和存储介质 | |
CN114549857A (zh) | 图像信息识别方法、装置、计算机设备和存储介质 | |
CN113780286A (zh) | 对象识别方法及装置、存储介质、电子装置 | |
CN111414864B (zh) | 一种人脸活体检测方法和相关装置 | |
CN111311690A (zh) | 一种深度相机的标定方法、装置、终端及计算机存储介质 | |
CN111027616A (zh) | 一种基于端到端学习的线特征描述系统 | |
WO2024001847A1 (zh) | 2d标志物、室内定位方法及装置 |
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 |