CN105046184B - 基于畸变图像校正的二维码解码方法和系统 - Google Patents
基于畸变图像校正的二维码解码方法和系统 Download PDFInfo
- Publication number
- CN105046184B CN105046184B CN201510432188.1A CN201510432188A CN105046184B CN 105046184 B CN105046184 B CN 105046184B CN 201510432188 A CN201510432188 A CN 201510432188A CN 105046184 B CN105046184 B CN 105046184B
- Authority
- CN
- China
- Prior art keywords
- quick response
- response code
- coordinate
- decoding
- pixel
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本发明的基于畸变图像校正的二维码解码方法和系统,在获取一帧包含二维码的图像,通过确定二维码的多个特征点,从而判断出二维码的类型。根据二维码的类型调用相应的匹配模板。先采取透视变换进行校正,透视变换运算量较小,可快速实现畸变程度较小的四边形图案。并将每一个像素点的灰度值填入匹配模板,由匹配模板实现快速解码。若解码失败,则开始较为复杂同时校正精度更为准确的曲面校正算法进行校正。曲面校正可校正的畸变程度较大的图案。将曲面校正后的二维码图案重新进行透视变换进行校正。经曲面校正可得到近似规则四边形的图案,再经透视变换,可大幅提高解码成功率。
Description
技术领域
本发明涉及一种畸变条码图像的校正方法和系统,具体地说涉及一种基于畸变图像校正的二维码解码方法和系统。
背景技术
条形码(简称条码)可分为一维条码和二维条码,一维条码是由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息。二维条码是用特定的几何图像按一定规律在平面(二维方向上)分布的黑白相间的矩形方阵记录数据符号信息的新一代的条码技术;二维条码可以分为堆叠式二维条码和矩阵式二维条码。堆叠式二维条码形态上是由多行短截的一维条码堆叠而成(如PDF417条码);矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”,用“空”表示二进制“0”,由“点”和“空”的排列组成代码(如QR码)。二维码具有存储容量大,包含信息丰富,并且需要特别的解析方式,有很强的保密性。但是由于的二维码的二维特性,在二维码的水平和垂直分别存储不同的信息,因此相比于一维码有较大的解码难度。
在日常生活和工业应用中,二维码的使用越来越广泛,诸如:零售行业、物流行业、金融行业对条码的使用需求越来越大。二维码也从早期的平面印刷品,应用在不同形状物体的表面,例如:将二维码印于圆柱形药瓶表面用于记录药品相关信息;展会或促销时,将包含产品信息或宣传信息的二维码贴纸贴在展销人员的手臂上。在这些应用场景下,因为条码都位于曲面物体上,即条码弯曲,条码识读设备拍摄到的条码图像相较于平整的条码图像存在一定的变形和失真。现有技术中的二维码解码技术仅限于解决条码识读设备拍摄到的条码为四边形,以及条码有较小曲面畸变的情况。中国专利文献CN101908144B中对所拍摄条码的图像处理的具体操作过程可以用图1所示,首先通过模式匹配等方法获得二维码特征点的坐标位置,如二维码的寻像图像和校正图像的坐标位置。利用透视变换原理,根据源图像和目标图像的特征点对应关系,分块提取条码的像素值序列,并送入解码器解码。但由于透视变换求解出的变换矩阵只能将一个四边形变换到正方形,或者,将一个正方形变换到四边形。在解决条码识读设备拍摄到的贴在曲面上的条码的解码上有较大的局限性。条码识读设备对位于曲面物体表面的解码效率较低,通常要用户手持条码识读设备以不同角度捕获条码图像,然后进行解码尝试,解码成功率较低。
发明内容
为此,本发明所要解决的技术问题在于现有技术中条码识读设备无法准确识读图像畸变的二维码。
为解决上述技术问题,本发明的所采用的技术方案:
基于畸变图像校正的二维码解码方法,包括以下步骤:
S1:获取一帧包含二维码的图像;
S2:确定二维码的多个特征点,并判断二维码类型;
S3:建立坐标系,获取所述二维码的多个特征点的坐标;
S4:根据二维码的类型调用与二维码的类型对应的匹配模板;
S5:根据获取的二维码的特征点的坐标和所述匹配模板中对应的特征点的坐标,将所述二维码的像素点应用透视变换算法进行校正,将所述二维码的每一像素点的灰度值填入所述匹配模板,得到第一解码用图;
S6:对第一解码用图应用解码算法进行尝试解码;解码成功,则结束,开始下一帧二维码的图像校正;若解码失败,则继续下一步骤;
S7:建立坐标系,根据步骤S3中获取的所述二维码的多个特征点的坐标以及所述匹配模版中对应的特征点的坐标,应用曲面校正算法进行校正,得到包含校正后的二维码的第二还原图;
S8:建立坐标系,获取所述第二还原图中的二维码的多个特征点的坐标;
S9:根据获取的所述第二还原图中的二维码的多个特征点的坐标和所述匹配模板中对应的特征点的坐标,将所述第二还原图中的二维码的像素点应用透视变换算法进行校正,将所述第二还原图中的二维码的每一像素点的灰度值填入所述匹配模板,得到第二解码用图;
S10:将所述第二解码用图应用解码算法进行尝试解码,解码成功,则开始下一帧二维码的图像校正。
所述步骤S7中,所述曲面校正算法具体为如下的多次项式:
U=a0x2+a1y2+a2xy+a3x+a4y+a5
V=b0x2+b1y2+b2xy+b3x+b4y+b5
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a0、a1、a2、a3、a4、a5、b0、b1、b2、b3、b4、b5为曲面建模变换系数。
所述步骤S5中,所述透视变换系数具体为如下的透视变换公式:
U=(ax+by+c)/(gx+hy+1)
V=(dx+ey+f)/(gx+hy+1)
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a、b、c、d、e、f、g及h为透视变换系数。
所述步骤S6中,将校正后的二维码的像素点的灰度值带入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
所述步骤S10中,将透视变换校正后的二维码的像素点的灰度值带入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
基于畸变图像校正的二维码解码系统,包括以下模块:
图像获取模块:获取一帧包含二维码的图像;
特征点获取模块:确定二维码的多个特征点,并判断二维码类型;
计算模块:建立坐标系,获取所述二维码的多个特征点的坐标;
匹配模板调用模块:根据二维码的类型调用与二维码的类型对应的匹配模板;
第一校正模块:根据获取的二维码的特征点的坐标和所述匹配模板中对应的特征点的坐标,将所述二维码的像素点应用透视变换算法进行校正,将所述二维码的每一像素点的灰度值填入所述匹配模板,得到第一解码用图;
第一解码模块:对第一解码用图应用解码算法进行尝试解码;解码成功,则结束,开始下一帧二维码的图像校正;若解码失败,则由曲面校正模块继续进行校正;
曲面校正模块:根据所述计算模块获取的所述二维码的多个特征点的坐标以及所述匹配模版中对应的特征点的坐标,应用曲面校正算法进行校正,得到第二还原图;
第二计算模块:建立坐标系,获取所述第二还原图中的二维码的多个特征点的坐标;
第二校正模块:根据获取的所述第二还原图中的二维码的多个特征点的坐标和所述匹配模板中对应的特征点的坐标,将所述第二还原图中的二维码的像素点应用透视变换算法进行校正,将所述第二还原图中的二维码的每一像素点的灰度值填入所述匹配模板,得到第二解码用图;
第二解码模块:将所述第二解码用图应用解码算法进行尝试解码,解码成功,则开始下一帧二维码的图像校正。
所述曲面校正模块中,所述曲面校正算法具体为如下的多次项式:
U=a0x2+a1y2+a2xy+a3x+a4y+a5
V=b0x2+b1y2+b2xy+b3x+b4y+b5
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a0、a1、a2、a3、a4、a5、b0、b1、b2、b3、b4、b5为曲面建模变换系数。
所述第一校正模块中,所述透视变换系数具体为如下的透视变换公式计算透视变换系数:
U=(ax+by+c)/(gx+hy+1)
V=(dx+ey+f)/(gx+hy+1)
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a、b、c、d、e、f、g及h为透视变换系数。
所述第一解码模块中,将校正后的二维码的像素点的灰度值带入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
所述第二解码模块中,将透视变换校正后的二维码的像素点的灰度值带入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
本发明的上述技术方案相比现有技术具有以下优点。
1.本发明的基于畸变图像校正的二维码解码方法和系统,在获取一帧包含二维码的图像,通过确定二维码的多个特征点,从而判断出二维码的类型。根据二维码的类型调用相应的匹配模板。先采取透视变换进行校正,透视变换运算量较小,可快速实现畸变程度较小的四边形图案。并将每一个像素点的灰度值填入匹配模板,由匹配模板实现快速解码。若解码失败,则开始较为复杂同时校正精度更为准确的曲面校正算法进行校正。曲面校正可校正的畸变程度较大的图案。将曲面校正后的二维码图案重新进行透视变换进行校正。经曲面校正可得到近似规则四边形的图案,再经透视变换,可大幅提高解码成功率。
2.本发明的基于畸变图像校正的二维码解码方法和系统,所采用的曲面校正算法对任何复杂的形状都可以用足够阶次的多项式进行拟合,而该二次项式已经可以较好地拟合曲面的情形,且无需加入更多的变换系数,减少计算量。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中,
图1为本发明基于畸变图像校正的二维码解码方法的流程图;
图2为本发明基于畸变图像校正的二维码解码方法和系统的二维码示意图;
图3为本发明基于畸变图像校正的二维码解码方法和系统的特征点的示意图;
图4为本发明基于畸变图像校正的二维码解码方法和系统的一个匹配模板的示意图;
图5为本发明基于畸变图像校正的二维码解码方法和系统的一个匹配模板的特征点的示意图;
图6本发明基于畸变图像校正的二维码解码方法和系统的图2所示的二维码经曲面校正后的示意图;
图7本发明基于畸变图像校正的二维码解码方法和系统的经曲面校正后的特征点的示意图;
图8本发明基于畸变图像校正的二维码解码系统的结构框图。
图中附图标记表示为:1-图像获取模块;2-特征点获取模块;3-计算模块;4-匹配模板调用模块;5-第一校正模块;6-第一解码模块;7-曲面校正模块;8-第二计算模块;9-第二校正模块;10-第二解码模块。
具体实施方式
实施例1
如图1所示,是本发明一个优选的实施例。基于畸变图像校正的二维码解码方法,包括以下步骤:
S1:获取一帧包含二维码的图像。如图2所示。
S2:确定二维码的多个特征点及其位置,并根据特征点位置判断二维码类型。如图2,矩阵式二维码(如QR码)的特征点可以是寻像区中的像素点,比如“回”形的“牛眼”的中心点。行列式二维码(如PDF417码)的特征点可以是起始码区的特征点。一个“牛眼”占据7个像素点。
S3:建立坐标系,获取所述图像中二维码的多个特征点的坐标。确定特征点的步骤可以是每隔四行扫描二维码的图像,得到该行的像素点序列。每两根扫描线为一组,判断特定的比例关系(如QR码,“牛眼”中的黑白像素点比例关系为1:1:3:1:1),检测一行中有特定比例关系,另一行也检测到该比例关系,并与上一行匹配,则认为此处为“牛眼”。如图3所示(为了示意原理,只用黑色标注出特征点所在位置,其余二维码像素点的实际表示暂略去),根据图2,取得特征点A1-A7的坐标(也可根据需要取任意多个特征点坐标)。如图2所示的二维码为版本1的QR码。所述特征点A1-A7的坐标为A1(U1、V1)、A2(U2、V2)、A3(U3、V3)、A4(U4、V4)、A5(U5、V5)、A6(U6、V6)、A7(U7、V7),U、V为获取到的数值,例如A1(2.2,19.8)。由于图像的畸变,图3中一个方框约为一个像素点。
S4:根据二维码的类型调用与二维码的类型对应的匹配模板。图4为版本1的QR码的匹配模板。图4中的一个方框为一个像素点。当判断所述二维码为版本1的QR码时,调用该版本的匹配模板。与版本1的QR码对应的匹配模板的规格为21x21模块(也可认为是:21x21个像素点)。
S5:根据获取的二维码的特征点的坐标和所述匹配模板中对应的特征点的坐标,如图5所示(为了与图3对应,示意特征点,只用黑色标注对应特征点,其余二维码像素点的实际表示暂略去),特征点a1-a7为A1-A7在所述匹配模板中对应的特征点;所述特征点a1-a7的坐标为a1(x1、y1)、a2(x2、y2)、a3(x3、y3)、a4(x4、y4)、a5(x5、y5)、a6(x6、y6)、a7(x7、y7)。由于匹配模板中像素点是固定,如图5所示,坐标可以为a1(2,20)、a2(5、19),其余点坐标根据所处像素点以此类推求的。将所述二维码的像素点应用透视变换算法进行校正,将所述二维码的每一像素点的灰度值填入所述匹配模板,得到第一解码用图。QR码中的每个像素点的颜色用数值(0-255)表示,如0表示白色,255表示黑色。例如在实际二维码中某个点是白色,则在匹配模版中对应的像素点填“0”,黑点则对应的填“255”。
S6:对第一解码用图应用解码算法进行尝试解码;解码成功,则结束,开始下一帧二维码的图像校正;若解码失败,则继续下一步骤。
S7:建立坐标系,根据步骤S3中获取的所述二维码的多个特征点(A1-A7)的坐标以及所述匹配模版中对应的特征点(a1-a7)的坐标,应用曲面校正算法进行校正,得到包含校正后的二维码的第二还原图,如图6所示。
S8:如图7所示,建立坐标系,获取所述第二还原图中的二维码的多个特征点Aa1-Aa7的坐标。如图7所示,由于图像畸变,导致二维码的边可能存在一定弯曲,比如版本1的QR码,理想长度为21像素,由于存在畸变,可能实际边长长度变为小于21像素。为了提高识别精度,建立坐标系时,将第二还原图沿X轴方向和Y轴方向平移N倍实际边长的距离,N可以取任意数值。
S9:根据获取的所述第二还原图中的二维码的多个特征点Aa1-Aa7的坐标和所述匹配模板(如图4所示)中对应的特征点a1-a7的坐标,Aa1-Aa7的坐标为:Aa1(U11、V11)、Aa2(U12、V12)、Aa3(U13、V13)、Aa4(U14、V14)、Aa5(U15、V15)、Aa6(U16、V16)、Aa7(U17、V17)。将所述第二还原图中的二维码的像素点应用透视变换算法进行校正,将所述第二还原图中的二维码的每一像素点的灰度值填入所述匹配模板,得到第二解码用图。
S10:将所述第二解码用图应用解码算法进行尝试解码,解码成功,则开始下一帧二维码的图像校正。
所述步骤S7中,所述曲面校正算法具体为如下的多次项式计算曲面建模变换系数:
U=a0x2+a1y2+a2xy+a3x+a4y+a5
V=b0x2+b1y2+b2xy+b3x+b4y+b5
其中,U和V为所述二维码的图像的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a0、a1、a2、a3、a4、a5、b0、b1、b2、b3、b4、b5为曲面建模变换系数。7个特征点(A1-A7,a1-a7)带入多次项式,可以得出七个等式,故可以求的相关变换系数。在系数已知后,通过确定的匹配模版的每个像素点的坐标值,反推求得二维码图像对应的像素点的实际坐标值。从而得到步骤S1中每一个像素点的坐标值。
所述步骤S5中,所述透视变换系数具体为如下的透视变换公式计算透视变换系数:
U=(ax+by+c)/(gx+hy+1)
V=(dx+ey+f)/(gx+hy+1)
其中,U和V为所述二维码的图像的多个特征点的坐标,x和y为所述多个二维码特征点经透视变换后在校正后的二维码图像上对应的新坐标,a、b、c、d、e、f、g及h为透视变换系数,这些系数是动态变化的,随不同的二维码以及不同的畸变程度而变化。7个特征点(A1-A7,a1-a7)带入多次项式,可以得出七个等式,故可以求的相关变换系数。在系数已知后,通过确定的匹配模版的每个像素点的坐标值,反推求得二维码图像对应的像素点的实际坐标值。从而得到步骤S1中每一个像素点的坐标值。
所述步骤S8中,采用与步骤S5中相同的透视变换公式计算透视变换系数。将Aa1-Aa7的坐标值带入求解透视变换系数。
所述步骤S6中,将校正后的二维码的图像的像素点的灰度值(灰度值的范围为0-255)带入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
所述步骤S10中,将透视变换校正后的二维码的图像的像素点的灰度值带入所述匹配模板中,将包含各像素点灰度值的匹配模板应用现有技术的解码算法进行尝试解码。
本发明的基于畸变图像校正的二维码解码方法,在获取一帧包含二维码的图像,通过确定二维码的多个特征点,从而判断出二维码的类型。根据二维码的类型调用相应的匹配模板。先采取透视变换进行校正,透视变换运算量较小,可快速实现畸变程度较小的四边形图案。并将每一个像素点的灰度值填入匹配模板,由匹配模板实现快速解码。若解码失败,则开始较为复杂同时校正精度更为准确的曲面校正算法进行校正。曲面校正可校正的畸变程度较大的图案。将曲面校正后的二维码图案重新进行透视变换进行校正。经曲面校正可得到近似规则四边形的图案,再经透视变换,可大幅提高解码成功率。所采用的曲面校正算法对任何复杂的形状都可以用足够阶次的多项式进行拟合,而该二次项式已经可以较好地拟合曲面的情形,且无需加入更多的变换系数,减少计算量。
实施例2
如图8所示,是本发明一个优选的实施例。基于畸变图像校正的二维码解码系统,包括以下模块:
图像获取模块1:获取一帧包含二维码的图像。如图2所示。
特征点获取模块2:确定二维码的多个特征点,并判断二维码类型。如图2,矩阵式二维码(如QR码)的特征点可以是寻像区中的像素点,比如“回”形的“牛眼”的中心点。行列式二维码(如PDF417码)的特征点可以是起始码区的特征点。一个“牛眼”占据7个像素点。
计算模块3:建立坐标系,获取所述二维码的多个特征点的坐标。确定特征点的步骤可以是每隔四行扫描二维码的图像,得到该行的像素点序列。每两根扫描线为一组,判断特定的比例关系(如QR码,“牛眼”中的黑白像素点比例关系为1:1:3:1:1),检测一行中有特定比例关系,另一行也检测到该比例关系,并与上一行匹配,则认为此处为“牛眼”。如图3所示(为了示意原理,只用黑色标注出特征点所在位置,其余二维码像素点的实际表示暂略去),根据图2,取得特征点A1-A7的坐标(也可根据需要取任意多个特征点坐标)。如图2所示的二维码为版本1的QR码。所述特征点A1-A7的坐标为A1(U1、V1)、A2(U2、V2)、A3(U3、V3)、A4(U4、V4)、A5(U5、V5)、A6(U6、V6)、A7(U7、V7),U、V为获取到的数值,例如A1(2.2,19.8)。由于图像的畸变,图3中一个方框约为一个像素点。
匹配模板调用模块4:根据二维码的类型调用与二维码的类型对应的匹配模板。图4中的一个方框为一个像素点。当判断所述二维码为版本1的QR码时,调用该版本的匹配模板。与版本1的QR码对应的匹配模板的规格为21x21模块(也可认为是:21x21个像素点)。
第一校正模块5:根据获取的二维码的特征点的坐标和所述匹配模板中对应的特征点的坐标,如图5所示(为了与图3对应,示意特征点,只用黑色标注对应特征点,其余二维码像素点的实际表示暂略去),特征点a1-a7为A1-A7在所述匹配模板中对应的特征点;所述特征点a1-a7的坐标为a1(x1、y1)、a2(x2、y2)、a3(x3、y3)、a4(x4、y4)、a5(x5、y5)、a6(x6、y6)、a7(x7、y7)。由于匹配模板中像素点是固定,如图5所示,坐标可以为a1(2,20)、a2(5、19),其余点坐标根据所处像素点以此类推求的。将所述二维码的像素点应用透视变换算法进行校正,将所述二维码的每一像素点的灰度值填入所述匹配模板,得到第一解码用图。QR码中的每个像素点的颜色用数值(0-255)表示,如0表示白色,255表示黑色。例如在实际二维码中某个点是白色,则在匹配模版中对应的像素点填“0”,黑点则对应的填“255”。
第一解码模块6:对第一解码用图应用解码算法进行尝试解码;解码成功,则结束,开始下一帧二维码的图像校正;若解码失败,则由曲面校正模块继续进行校正。
曲面校正模块7:建立坐标系,根据所述计算模块获取的所述二维码的多个特征点(A1-A7)的坐标以及所述匹配模版中对应的特征点(a1-a7)的坐标,应用曲面校正算法进行校正,得到包含校正后的二维码的第二还原图,如图6所示。
第二计算模块8:如图7所示,建立坐标系,获取所述第二还原图中的二维码的多个特征点Aa1-Aa7的坐标。如图7所示,由于图像畸变,导致二维码的边可能存在一定弯曲,比如版本1的QR码,理想长度为21像素,由于存在畸变,可能实际边长长度变为小于21像素。为了提高识别精度,建立坐标系时,将第二还原图沿X轴方向和Y轴方向平移N倍实际边长的距离,N可以取任意数值。
第二校正模块9:根据获取的所述第二还原图中的二维码的多个特征点Aa1-Aa7的坐标和所述匹配模板(如图4所示)中对应的特征点a1-a7的坐标,Aa1-Aa7的坐标为:Aa1(U11、V11)、Aa2(U12、V12)、Aa3(U13、V13)、Aa4(U14、V14)、Aa5(U15、V15)、Aa6(U16、V16)、Aa7(U17、V17)。将所述第二还原图中的二维码的像素点应用透视变换算法进行校正,将所述第二还原图中的二维码的每一像素点的灰度值填入所述匹配模板,得到第二解码用图。
第二解码模块10:将所述第二解码用图应用解码算法进行尝试解码,解码成功,则开始下一帧二维码的图像校正。
所述曲面校正模块7中,所述曲面校正算法具体为如下的多次项式:
U=a0x2+a1y2+a2xy+a3x+a4y+a5
V=b0x2+b1y2+b2xy+b3x+b4y+b5
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a0、a1、a2、a3、a4、a5、b0、b1、b2、b3、b4、b5为曲面建模变换系数。
所述第一校正模块5中,所述透视变换系数具体为如下的透视变换公式计算透视变换系数:
U=(ax+by+c)/(gx+hy+1)
V=(dx+ey+f)/(gx+hy+1)
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a、b、c、d、e、f、g及h为透视变换系数。
所述第一解码模块6中,将校正后的二维码的像素点的灰度值带入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
所述第二解码模块10中,将透视变换校正后的二维码的像素点的灰度值带入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
本发明的基于畸变图像校正的二维码解码方法和系统,在获取一帧包含二维码的图像,通过确定二维码的多个特征点,从而判断出二维码的类型。根据二维码的类型调用相应的匹配模板。先采取透视变换进行校正,透视变换运算量较小,可快速实现畸变程度较小的四边形图案。并将每一个像素点的灰度值填入匹配模板,由匹配模板实现快速解码。若解码失败,则开始较为复杂同时校正精度更为准确的曲面校正算法进行校正。曲面校正可校正的畸变程度较大的图案。将曲面校正后的二维码图案重新进行透视变换进行校正。经曲面校正可得到近似规则四边形的图案,再经透视变换,可大幅提高解码成功率。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.基于畸变图像校正的二维码解码方法,其特征在于,包括以下步骤:
S1:获取一帧包含二维码的图像;
S2:确定二维码的多个特征点,并判断二维码类型;
S3:建立坐标系,获取所述二维码的多个特征点的坐标;
S4:根据二维码的类型调用与二维码的类型对应的匹配模板;
S5:根据获取的二维码的特征点的坐标和所述匹配模板中对应的特征点的坐标,将所述二维码的像素点应用透视变换算法进行校正,将所述二维码的每一像素点的灰度值填入所述匹配模板,得到第一解码用图;
S6:对第一解码用图应用解码算法进行尝试解码;解码成功,则结束,开始下一帧二维码的图像校正;若解码失败,则继续下一步骤;
S7:建立坐标系,根据步骤S3中获取的所述二维码的多个特征点的坐标以及所述匹配模版中对应的特征点的坐标,应用曲面校正算法进行校正,得到包含校正后的二维码的第二还原图;
S8:建立坐标系,获取所述第二还原图中的二维码的多个特征点的坐标;
S9:根据获取的所述第二还原图中的二维码的多个特征点的坐标和所述匹配模板中对应的特征点的坐标,将所述第二还原图中的二维码的像素点应用透视变换算法进行校正,将所述第二还原图中的二维码的每一像素点的灰度值填入所述匹配模板,得到第二解码用图;
S10:将所述第二解码用图应用解码算法进行尝试解码,解码成功,则开始下一帧二维码的图像校正。
2.根据权利要求1所述的基于畸变图像校正的二维码解码方法,其特征在于,所述步骤S7中,所述曲面校正算法具体为如下的多次项式:
U=a0x2+a1y2+a2xy+a3x+a4y+a5
V=b0x2+b1y2+b2xy+b3x+b4y+b5
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a0、a1、a2、a3、a4、a5、b0、b1、b2、b3、b4、b5为曲面建模变换系数。
3.根据权利要求2所述的基于畸变图像校正的二维码解码方法,其特征在于,所述步骤S5中,所述透视变换算法具体为如下的透视变换公式:
U=(ax+by+c)/(gx+hy+1)
V=(dx+ey+f)/(gx+hy+1)
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a、b、c、d、e、f、g及h为透视变换系数。
4.根据权利要求3所述的基于畸变图像校正的二维码解码方法,其特征在于,所述步骤S6中,将校正后的二维码的像素点的灰度值代入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
5.根据权利要求4所述的基于畸变图像校正的二维码解码方法,其特征在于,所述步骤S10中,将透视变换校正后的二维码的像素点的灰度值代入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
6.基于畸变图像校正的二维码解码系统,其特征在于,包括以下模块:
图像获取模块:获取一帧包含二维码的图像;
特征点获取模块:确定二维码的多个特征点,并判断二维码类型;
计算模块:建立坐标系,获取所述二维码的多个特征点的坐标;
匹配模板调用模块:根据二维码的类型调用与二维码的类型对应的匹配模板;
第一校正模块:根据获取的二维码的特征点的坐标和所述匹配模板中对应的特征点的坐标,将所述二维码的像素点应用透视变换算法进行校正,将所述二维码的每一像素点的灰度值填入所述匹配模板,得到第一解码用图;
第一解码模块:对第一解码用图应用解码算法进行尝试解码;解码成功,则结束,开始下一帧二维码的图像校正;若解码失败,则由曲面校正模块继续进行校正;
曲面校正模块:根据所述计算模块获取的所述二维码的多个特征点的坐标以及所述匹配模版中对应的特征点的坐标,应用曲面校正算法进行校正,得到第二还原图;
第二计算模块:建立坐标系,获取所述第二还原图中的二维码的多个特征点的坐标;
第二校正模块:根据获取的所述第二还原图中的二维码的多个特征点的坐标和所述匹配模板中对应的特征点的坐标,将所述第二还原图中的二维码的像素点应用透视变换算法进行校正,将所述第二还原图中的二维码的每一像素点的灰度值填入所述匹配模板,得到第二解码用图;
第二解码模块:将所述第二解码用图应用解码算法进行尝试解码,解码成功,则开始下一帧二维码的图像校正。
7.根据权利要求6所述的基于畸变图像校正的二维码解码系统,其特征在于,所述曲面校正模块中,所述曲面校正算法具体为如下的多次项式:
U=a0x2+a1y2+a2xy+a3x+a4y+a5
V=b0x2+b1y2+b2xy+b3x+b4y+b5
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a0、a1、a2、a3、a4、a5、b0、b1、b2、b3、b4、b5为曲面建模变换系数。
8.根据权利要求7所述的基于畸变图像校正的二维码解码系统,其特征在于,所述第一校正模块中,所述透视变换算法具体为如下的透视变换公式:
U=(ax+by+c)/(gx+hy+1)
V=(dx+ey+f)/(gx+hy+1)
其中,U和V为所述二维码的多个特征点的坐标,x和y为在所述匹配模版上对应的特征点的坐标,a、b、c、d、e、f、g及h为透视变换系数。
9.根据权利要求8所述的基于畸变图像校正的二维码解码系统,其特征在于,所述第一解码模块中,将校正后的二维码的像素点的灰度值代入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
10.根据权利要求9所述的基于畸变图像校正的二维码解码系统,其特征在于,所述第二解码模块中,将透视变换校正后的二维码的像素点的灰度值代入所述匹配模板中,将包含各像素点灰度值的匹配模板应用解码算法进行尝试解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510432188.1A CN105046184B (zh) | 2015-07-22 | 2015-07-22 | 基于畸变图像校正的二维码解码方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510432188.1A CN105046184B (zh) | 2015-07-22 | 2015-07-22 | 基于畸变图像校正的二维码解码方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105046184A CN105046184A (zh) | 2015-11-11 |
CN105046184B true CN105046184B (zh) | 2017-07-18 |
Family
ID=54452714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510432188.1A Active CN105046184B (zh) | 2015-07-22 | 2015-07-22 | 基于畸变图像校正的二维码解码方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105046184B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845508B (zh) * | 2015-12-07 | 2019-05-17 | 腾讯科技(深圳)有限公司 | 一种检测图像中信息卡的方法、装置和系统 |
CN107463976A (zh) * | 2016-06-02 | 2017-12-12 | 国家计算机网络与信息安全管理中心 | 一种qr码图形校正方法 |
CN107577980B (zh) * | 2017-09-30 | 2018-10-09 | 中联惠众信息技术(北京)有限公司 | 一种二维码纠错译码方法及其译码装置 |
CN107958447A (zh) * | 2017-12-07 | 2018-04-24 | 曹建 | 物体平面图像的镜头校正方法及系统 |
CN108154062A (zh) * | 2017-12-26 | 2018-06-12 | 信利光电股份有限公司 | 二维码图像的解码方法、解码装置、生成方法、生成装置 |
CN109472178B (zh) * | 2018-09-18 | 2021-12-14 | 广州思林杰科技股份有限公司 | 二维码扫描方法 |
CN110046529B (zh) * | 2018-12-11 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 二维码识别方法、装置及设备 |
CN111325043A (zh) * | 2018-12-14 | 2020-06-23 | 中移(杭州)信息技术有限公司 | 一种二维码的解析方法、装置、设备及介质 |
WO2020131077A1 (en) | 2018-12-20 | 2020-06-25 | Hewlett-Packard Development Company, L.P. | Read curved visual marks |
CN109934038B (zh) * | 2019-03-18 | 2021-12-07 | 创新先进技术有限公司 | 二维码校正方法、装置及设备 |
CN109977720B (zh) * | 2019-03-28 | 2021-07-20 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种快速解析二维码图像的方法及装置 |
CN110147865B (zh) * | 2019-05-07 | 2022-05-03 | 北京印刷学院 | 二次曲面二维码的生成、识别方法,打印装置及移动终端 |
CN110197096B (zh) * | 2019-06-10 | 2022-07-19 | 创新先进技术有限公司 | 二维码校正方法、装置及设备 |
KR102085480B1 (ko) | 2019-06-14 | 2020-05-18 | 이광열 | Qr 코드를 인쇄하기 위한 장치, 시스템, 방법 및 컴퓨터 프로그램 |
CN111415307B (zh) * | 2020-03-13 | 2024-03-26 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置、电子设备及存储介质 |
CN115906898A (zh) * | 2023-02-23 | 2023-04-04 | 青岛创新奇智科技集团股份有限公司 | DataMatrix码的解码方法及装置 |
CN116776909B (zh) * | 2023-08-28 | 2023-11-03 | 四川星点网络技术有限公司 | 一种瓶盖二维码溯源系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833644A (zh) * | 2010-06-01 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种基于动态模板的校正图形搜索方法 |
CN101840499A (zh) * | 2010-06-01 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一种条码解码方法及其二值化方法 |
CN101847209A (zh) * | 2010-06-01 | 2010-09-29 | 福建新大陆电脑股份有限公司 | 一种字符图像校正方法 |
CN202058178U (zh) * | 2010-06-01 | 2011-11-30 | 福建新大陆电脑股份有限公司 | 一种字符图像校正装置 |
-
2015
- 2015-07-22 CN CN201510432188.1A patent/CN105046184B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833644A (zh) * | 2010-06-01 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种基于动态模板的校正图形搜索方法 |
CN101840499A (zh) * | 2010-06-01 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一种条码解码方法及其二值化方法 |
CN101847209A (zh) * | 2010-06-01 | 2010-09-29 | 福建新大陆电脑股份有限公司 | 一种字符图像校正方法 |
CN202058178U (zh) * | 2010-06-01 | 2011-11-30 | 福建新大陆电脑股份有限公司 | 一种字符图像校正装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105046184A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105046184B (zh) | 基于畸变图像校正的二维码解码方法和系统 | |
CN105046183B (zh) | 一种畸变qr码的解码方法和系统 | |
US9406010B2 (en) | Producing, capturing and using visual identification tags for moving objects | |
EP1612724B1 (en) | System and method for encoding high density geometric symbol set | |
JP2015522861A (ja) | マトリックス型2次元コードの復号化方法 | |
EP3084688A1 (en) | Composite information bearing devices | |
CN107895142A (zh) | 一种基于视觉标记的试卷试题内容自动分割方法及系统 | |
EP3561729B1 (en) | Method for detecting and recognising long-range high-density visual markers | |
CN101882220B (zh) | 一种基于动态模板的条码图像校正方法及校正点获取方法 | |
CN105046256B (zh) | 基于畸变图像校正的qr码解码方法和系统 | |
Chen et al. | Customized 2D barcode sensing for anti-counterfeiting application in smart IoT with fast encoding and information hiding | |
CN115511031A (zh) | 一种扩容二维码、三维码解码方法、系统、设备和介质 | |
CN107392283A (zh) | 柱面变形条码的生成方法及系统 | |
CN109934038B (zh) | 二维码校正方法、装置及设备 | |
CN113012014A (zh) | 一种光学水印防伪印章的电子解码方法 | |
US20210124969A1 (en) | Planar and/or undistorted texture image corresponding to captured image of object | |
CN101882213B (zh) | 一种条码图像采样方法 | |
US20190163944A1 (en) | Composite information bearing devices | |
CN101908144B (zh) | 一种条码图像校正方法及校正点获取方法 | |
US20220036503A1 (en) | Texture extraction | |
CN116778195B (zh) | 一种基于颜色码的设备识别方法和系统 | |
CN201927034U (zh) | 一种条码图像采样装置 | |
CN113297872B (zh) | 一种Dotcode识别方法、设备 | |
CN201946014U (zh) | 一种基于动态模板的条码图像校正装置及校正点获取装置 | |
You et al. | Design of Two-dimentional Code Anti-distortion on Conical Surface Based on Pre-stretching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |