一种qr码图像的校正方法及系统的制作方法
【专利摘要】本发明所述的一种QR码图像的校正方法及系统,首先确定QR码图像所在的原图坐标系和校正后图像所在的校正坐标系,根据每一探测图形中心点和定位点在原图坐标系下的坐标及与其在校正坐标系下的坐标,获取转换参数;继而根据转换参数,对校正坐标系中的每一点,查找到原图坐标系中与之对应的模块,并且将该模块的灰度值赋予该点,完成QR码图像的校正过程。由于探测图形和和定位点的检测技术已经相对成熟,检测的准确性程度较高,并且根据不同版本号可以轻松获得三个探测图形和一个定位点在原图坐标系和校正后图像所在的校正坐标系坐标,不仅整体计算相对简单快速,占用内存较少,同时可以很好的避免由于边缘检测算法带来的不足,获得良好的校正效果。
【专利说明】-种QR码图像的校正方法及系统
【技术领域】
[0001] 本发明涉及一种图像定位检测与矫正采样技术,具体地说是一种QR码图像的校 正方法及系统。
【背景技术】
[0002] QR码是二维码的一种,以其识读速度快、数据密度大、占用空间小的优势得到了越 来越广泛的应用。但是在实际应用中,在获取QR码图像数据时,可能会因为拍摄角度、图像 弯折以及成像设备的差异,所以拍出来的QR码图像常常会出现几何失真。QR码图像本应该 是一个正方形,拍摄的QR码图像却可能畸变成一个不规则的四边形。出现几何失真的QR 码图像,使得对QR码图像的定位与定向以及取样识别带来不小的困难,并且很难通过解码 算法译出编码信息,因此非常有必要对失真的QR码图像进行校正。
[0003] 由于QR码图像在拍摄时物距较短,一般会存在较明显的透视现象,因此需要对拍 摄得到的QR码图像进行透视变换,所谓透视变换即将QR码图像在当前坐标系下的每一坐 标转换至校正坐标系下并得到校正后的坐标。在实现透视变换过程中需要获取较为精准的 透视变换参数。通常的做法是,根据QR码中的四个点的中心坐标进行运算获得透视变换参 数,根据透视变换参数即可将QR码图像中的每一坐标转换为校正坐标。现有技术选择QR码 图像的四个顶点的坐标作为透视变换的基准。一般步骤是:(1)利用边缘检测方法得到QR 码图像的四个边缘(2)通过横向扫描和纵向扫描确定三个探测图形点集(3)采用RANSAC算 法拟合得到四条侧边的拟合直线,四条拟合直线的交点即为QR码四个顶点(4)利用四个顶 点坐标获取透视变换参数。但是一般情况下,受到干扰的QR图像的边缘本身就不规则,清 晰度也很差,因此采用边缘法得到QR码图像边缘的过程中准确度差,从而得到的四个顶点 的坐标误差较大,进而影响到透视变换参数的准确性,导致对QR码图像的校正效果不佳。
【发明内容】
[0004] 为此,本发明所要解决的技术问题在于现有技术中无法获得良好的校正效果,从 而提出一种QR码图像的校正方法及系统。
[0005] 为解决上述技术问题,本发明是通过以下技术方案实现的:
[0006] -种QR码图像的校正方法,包括如下步骤:
[0007] 确定QR码图像所在的原图坐标系和校正后图像所在的校正坐标系,所述校正坐 标系中的每一点均对应着原图坐标系中的一个点;
[0008] 获取每一探测图形中心点和定位点在所述原图坐标系下的坐标及与其在校正坐 标系下的坐标;
[0009] 根据每一探测图形中心点和定位点在所述原图坐标系下的坐标及与其在校正坐 标系下的坐标获取转换参数;
[0010] 根据所述转换参数,对所述校正坐标系中的每一点,查找到所述原图坐标系中与 之对应的点所在的QR码图像中的模块,并且将该模块的灰度值赋予该点,完成QR码图像的 校正过程。
[0011] 进一步地所述根据所述转换参数,对所述校正坐标系中的每一点,查找到所述原 图坐标系中与之对应的点所在的QR码图像中的模块,并且将该模块的灰度值赋予该点,完 成QR码图像的校正过程的处理中:
[0012] 所述模块的灰度值为模块中心点像素的灰度值。
[0013] 进一步地根据每一探测图形中心点和定位点在所述原图坐标系下的坐标及与其 在校正坐标系下的坐标获取转换参数的处理中:
[0014] 根据透视变换准则获取所述转换参数。
[0015] 进一步地所述定位点选择校正图形的中心点。
[0016] 进一步地所述获取每一探测图形中心点和定位点在所述原图坐标系下的坐标的 处理包括:
[0017] 确定每一所述探测图形的中心点在原图坐标系中的坐标;
[0018] 根据校正图形的中心点与探测图形的中心点的相对位置关系获取校正图形的中 心点在所述原图坐标系中的坐标。
[0019] 进一步地所述根据校正图形的中心点与探测图形的中心点的相对位置关系获取 校正图形的中心点在所述原图坐标系中的参考坐标的处理包括:
[0020] 获取第一探测图形的中心点在原图坐标系中的坐标(XA,Ya);
[0021] 根据所述校正图形的中心点与所述第一探测图形的中心点的横向距离获取校正 图形的中心点的横坐标;根据所述校正图形的中心点与所述第一探测图形的中心点的纵向 距离获取校正图形的中心点的纵坐标。
[0022] 进一步地利用下述公式确定所述横向距离和所述纵向距离:
[0023] 所述横向距离为:ε h= ε (Xk-Xa);
[0024] 所述纵向距离为:ε ζ= ε (Yr-Ya);
[0025] 其中Xk = XB_XA+XC,Yk = YB_YA+YC ; (ΧΒ,ΥΒ)为第二探测图形的中心点的坐标; 0^,¥。)为第三探测图形的中心点的坐标;£为校正图形偏离因子,8=〇^-3)/^,其中1^为 QR码横向或纵向上包含的模块的数量。
[0026] 进一步地所述获取每一探测图形中心点和定位点在所述校正坐标系下的坐标的 处理包括:
[0027] 根据在标准QR码图像中,每一探测图形的中心点与QR码图像边缘之间的模块数 确定所述探测图形的中心点在校正坐标系中的坐标;
[0028] 根据在标准QR码图像中,校正图形的中心点与QR码图像边缘之间的模块数确定 所述校正图形的中心点在校正坐标系中的坐标。
[0029] -种QR码图像的校正系统,包括:
[0030] 坐标系确定模块,用于确定QR码图像所在的原图坐标系和校正后图像所在的校 正坐标系,所述校正坐标系中的每一点均对应着原图坐标系中的一个点;
[0031] 坐标获取模块,用于获取每一探测图形中心点和定位点在所述原图坐标系下的坐 标及与其在校正坐标系下的坐标;
[0032] 转换参数获取模块,用于根据每一探测图形中心点和定位点在所述原图坐标系下 的坐标及与其在校正坐标系下的坐标获取转换参数;
[0033] 校正模块,用于根据所述转换参数,对所述校正坐标系中的每一点,查找到所述原 图坐标系中与之对应的点所在的QR码图像中的模块,并且将该模块的灰度值赋予该点,完 成QR码图像的校正过程。
[0034] 进一步地所述校正模块中,设定所述模块的灰度值为模块中心点像素的灰度值。
[0035] 进一步地所述转换参数获取模块中,根据透视变换准则获取所述转换参数。
[0036] 进一步地所述坐标获取模块包括:
[0037] 探测图形坐标获取单元,用于确定每一所述探测图形的中心点在原图坐标系中的 坐标;
[0038] 校正图形坐标获取单元,根据校正图形的中心点与探测图形的中心点的相对位置 关系获取校正图形的中心点在所述原图坐标系中的坐标。
[0039] 进一步地所述坐标获取模块中,设定所述定位点为校正图形的中心点。
[0040] 进一步地所述探测图形坐标获取单元包括:
[0041] 第一探测图形坐标获取子模块,用于获取第一探测图形的中心点在原图坐标系中 的坐标(x A,YA);
[0042] 校正图形中心点坐标获取子模块,用于根据所述校正图形的中心点与所述第一探 测图形的中心点的横向距离获取校正图形的中心点的横坐标;根据所述校正图形的中心点 与所述第一探测图形的中心点的纵向距离获取校正图形的中心点的纵坐标。
[0043] 进一步地所述校正图形中心点坐标获取子模块中利用下述公式确定所述横向距 离和所述纵向距离:
[0044] 所述横向距离为:ε h= ε (Xk-Xa);
[0045] 所述纵向距离为:ε ζ= ε (Yr-Ya);
[0046] 其中Xk = XB_XA+XC,Yk = YB_YA+YC ; (ΧΒ,ΥΒ)为第二探测图形的中心点的坐标; 0^,¥。)为第三探测图形的中心点的坐标;£为校正图形偏离因子,8=〇^-3)/^,其中1^为 QR码横向或纵向上包含的模块的数量。
[0047] 进一步地所述校正图形坐标获取单元包括:
[0048] 探测图形校正坐标获取子模块,用于根据在标准QR码图像中,每一探测图形的中 心点与QR码图像边缘之间的模块数确定所述探测图形的中心点在校正坐标系中的坐标;
[0049] 校正图形校正坐标获取子模块,用于根据在标准QR码图像中,校正图形的中心点 与QR码图像边缘之间的模块数确定所述校正图形的中心点在校正坐标系中的坐标。
[0050] 本发明的上述技术方案相比现有技术具有以下优点:
[0051] (1)本发明所述的QR码图像的校正方法及系统,无需进行边缘检测,而是直接采 用三个探测图形和一个定位点来获得转换参数,由于探测图形和和定位点的检测技术已经 相对成熟,检测的准确性程度较高,根据不同版本号可以轻松获得三个探测图形和一个定 位点在原图坐标系和校正后图像所在的校正坐标系坐标,不仅整体计算相对简单快速,占 用内存较少,同时可以很好的避免由于边缘检测算法带来的不足,获得良好的校正效果。
[0052] (2)本发明所述的QR码图像的校正方法及系统,为了能够进一步的减小运算量, 在获取某一模块灰度值时,直接按照模块中心点的像素值来作为模块的灰度值,因为在QR 码图像中,每一个模块作为最小的图像单元,其相对于整个QR码图来说,其所占的面积非 常小,其内部的所有像素点的灰度值差异都非常小,因此可以选择其中一个像素点的像素 值来代替并不会引入误差,依然能够保证校正的精确性,而且运算量也大大降低,能够提高 校正的效率。
[0053] (3)本发明所述的QR码图像的校正方法及系统,根据透视变换准则获取所述转换 参数,透视变换在图象校正应用领域中的应用较为成熟,准确度很高。
[0054] (4)本发明所述的QR码图像的校正方法及系统,充分利用探测图形和校正图形本 身的特点以及二者的位置关系,极大地节省了检测的步骤,简化了检测流程,提升了运算速 度,达到了对QR码图像的探测图形和校正图形的快速检测,同时也就相应的提升了 QR码图 像的校正速度。
【专利附图】
【附图说明】
[0055] 为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合 附图,对本发明作进一步详细的说明,其中
[0056] 图1是本发明所述的一种QR码图像的校正方法流程图;
[0057] 图2是QR码图像的原图坐标系;
[0058] 图3是QR码图像的校正坐标系;
[0059] 图4是一种实施例中完成校正赋值后的效果图;
[0060] 图5是一种实施例中获取每一探测图形中心点和定位点在所述原图坐标系下的 坐标的的流程图;
[0061] 图6是一种实施例中的获取校正图形中心点在原图坐标系中的参考坐标的流程 图;
[0062] 图7是一种实施例中的精确定位流程图;
[0063] 图8是一种实施例所述的QR码图像的校正系统结构图;
[0064] 图9是一种实施例所述的坐标获取模块结构图;
[0065] 图10是一种实施例所述的校正图形坐标获取单元结构图;
[0066] 图11是一种实施例所述的精确定位模块结构图。
[0067] 图中附图标记表示为:0_左上角探测图形,1-右上角探测图形,2-定位点,3-左下 角探测图形。
【具体实施方式】
[0068] 实施例1
[0069] 本实施例提供一种QR码图像的校正方法,如图1所示,包括如下步骤:
[0070] 确定QR码图像所在的原图坐标系和校正后图像所在的校正坐标系,所述校正坐 标系中的每一点均对应着原图坐标系中的一个点。
[0071] 获取每一探测图形中心点和定位点在所述原图坐标系下的坐标及与其在校正坐 标系下的坐标。
[0072] 根据每一探测图形中心点和定位点在所述原图坐标系下的坐标及与其在校正坐 标系下的坐标获取转换参数。
[0073] 根据所述转换参数,对所述校正坐标系中的每一点,查找到所述原图坐标系中与 之对应的点所在的QR码图像中的模块,并且将该模块的灰度值赋予该点,完成QR码图像的 校正过程。
[0074] 众所周知,对于QR码图像的解码过程是基于标准码图进行的,而对QR码图像进行 校正的目的就在于将一定程度偏移、受损以及失真的图像进行校正,进而获得标准码图,以 保证整个QR码图像可以顺利的完成后续的解码工作。所以本实施例在对QR码图像进行校 正时,首先确定了两个坐标系。
[0075] 如图2所示为QR码图像所在的原图坐标系,根据对这个图的检测可以获得相应点 的坐标。图3为校正后图像所在的校正坐标系,其中每一个小正方形代表了一个点,在图中 并未将所有的点表示出来,其中点的个数与所述QR码图像中的模块数相等。两幅图中〇对 应的左上角探测图形,1对应的右上角探测图形,2对应的定位点,3对应的是左下角探测图 形。如图3所示,当把QR码校正完成后,QR码中左上角的探测图形的中心距离QR码的上 边缘为四个模块距离、左边缘的距离为四个模块距离,因此在校正坐标系中第四行第四列 所对应的点对应到原图坐标系中的QR码图像的左上角探测图形的中心点处。如果该点的 灰度值时〇,则校正坐标系中第四行第四列所对应的点的灰度值也是〇,如果该点的灰度值 时255,则校正坐标系中第四行第四列所对应的点的灰度值也是255。本实施例中,探测图 形中心点一定是黑色的,因此相对应的在校正坐标系中的第四行第四列所对应的点也是黑 色的。依次类推,将校正坐标系中的每一个点均按照上述操作获得灰度值,完成后便可以得 到图4所示的校正后的QR码图像了。
[0076] 下面结合公式具体阐述获取转换参数步骤。设校正前三个探测图形和一个定位点 的坐标分别为第PO (XA,YA),Pl (XA,YA),P2 (X。,Yc),P3 (x3p,y3p),校正后三个探测图形和一 个定位点坐标分别为 AO (X〇, y0),Al (xl,yl),A2 (x2, y2),A3 (x3, y3)。
[0077] 根据校正后三个探测图形和一个定位点坐标计算参数:
[0078] dy2 = y3-y2
[0079] dy3 = y〇-yl+y2-y3
[0080] 若 dy2 = 0 且 dy3 = 0 :
[0081] 其中dy2 = 0则说明定位点与左下角探测图形在纵向上的距离为0,即说明二者在 同一条直线上。
[0082] 若dy3 = 0则说明左上角探测图形与右上角探测图形之间的纵向距离与左下角探 测图形和定位点的纵向距离相等但方向相反。
[0083] 这种情况下:
[0084]
【权利要求】
1. 一种QR码图像的校正方法,包括如下步骤: 确定QR码图像所在的原图坐标系和校正后图像所在的校正坐标系,所述校正坐标系 中的每一点均对应着原图坐标系中的一个点; 获取每一探测图形中心点和定位点在所述原图坐标系下的坐标及与其在校正坐标系 下的坐标; 根据每一探测图形中心点和定位点在所述原图坐标系下的坐标及与其在校正坐标系 下的坐标获取转换参数; 根据所述转换参数,对所述校正坐标系中的每一点,查找到所述原图坐标系中与之对 应的点所在的QR码图像中的模块,并且将该模块的灰度值赋予该点,完成QR码图像的校正 过程。
2. 根据权利要求1所述的QR码图像的校正方法,其特征在于,所述根据所述转换参数, 对所述校正坐标系中的每一点,查找到所述原图坐标系中与之对应的点所在的QR码图像 中的模块,并且将该模块的灰度值赋予该点,完成QR码图像的校正过程的处理中: 所述模块的灰度值为模块中心点像素的灰度值。
3. 根据权利要求1或2所述的QR码图像的校正方法,其特征在于,根据每一探测图形 中心点和定位点在所述原图坐标系下的坐标及与其在校正坐标系下的坐标获取转换参数 的处理中: 根据透视变换准则获取所述转换参数。
4. 根据权利要求1-3任一所述的QR码图像的校正方法,其特征在于,所述定位点选择 校正图形的中心点。
5. 根据权利要求4所述的QR码图像的校正方法,其特征在于,所述获取每一探测图形 中心点和定位点在所述原图坐标系下的坐标的处理包括: 确定每一所述探测图形的中心点在原图坐标系中的坐标; 根据校正图形的中心点与探测图形的中心点的相对位置关系获取校正图形的中心点 在所述原图坐标系中的坐标。
6. 根据权利要求4或5所述的QR码图像的校正方法,其特征在于,所述根据校正图形 的中心点与探测图形的中心点的相对位置关系获取校正图形的中心点在所述原图坐标系 中的参考坐标的处理包括: 获取第一探测图形的中心点在原图坐标系中的坐标(XA,YA); 根据所述校正图形的中心点与所述第一探测图形的中心点的横向距离获取校正图形 的中心点的横坐标;根据所述校正图形的中心点与所述第一探测图形的中心点的纵向距离 获取校正图形的中心点的纵坐标。
7. 根据权利要求6所述的QR码图像的校正方法,其特征在于,利用下述公式确定所述 横向距离和所述纵向距离: 所述横向距离为:eh=e (XK-XA); 所述纵向距离为:ez=e (Yk_Ya); 其中XK =Xb-Xa+Xc,Yk =Yb-Ya+Yc ; (XB,Yb)为第二探测图形的中心点的坐标;(X c,Yc)为 第三探测图形的中心点的坐标;e为校正图形偏离因子,e=(N_3)/N,其中N为QR码横向 或纵向上包含的模块的数量。
8. 根据权利要求1-7任一所述的QR码图像的校正方法,其特征在于,所述获取每一探 测图形中心点和定位点在所述校正坐标系下的坐标的处理包括: 根据在标准QR码图像中,每一探测图形的中心点与QR码图像边缘之间的模块数确定 所述探测图形的中心点在校正坐标系中的坐标; 根据在标准QR码图像中,校正图形的中心点与QR码图像边缘之间的模块数确定所述 校正图形的中心点在校正坐标系中的坐标。
9. 一种QR码图像的校正系统,包括: 坐标系确定模块,用于确定QR码图像所在的原图坐标系和校正后图像所在的校正坐 标系,所述校正坐标系中的每一点均对应着原图坐标系中的一个点; 坐标获取模块,用于获取每一探测图形中心点和定位点在所述原图坐标系下的坐标及 与其在校正坐标系下的坐标; 转换参数获取模块,用于根据每一探测图形中心点和定位点在所述原图坐标系下的坐 标及与其在校正坐标系下的坐标获取转换参数; 校正模块,用于根据所述转换参数,对所述校正坐标系中的每一点,查找到所述原图坐 标系中与之对应的点所在的QR码图像中的模块,并且将该模块的灰度值赋予该点,完成QR 码图像的校正过程。
10. 根据权利要求9所述的QR码图像的校正系统,其特征在于,所述校正模块中,设定 所述模块的灰度值为模块中心点像素的灰度值。
11. 根据权利要求9或10所述的QR码图像的校正系统,其特征在于,所述转换参数获 取模块中,根据透视变换准则获取所述转换参数。
12. 根据权利要求11所述的QR码图像的校正系统,其特征在于,所述坐标获取模块包 括: 探测图形坐标获取单元,用于确定每一所述探测图形的中心点在原图坐标系中的坐 标; 校正图形坐标获取单元,根据校正图形的中心点与探测图形的中心点的相对位置关系 获取校正图形的中心点在所述原图坐标系中的坐标。
13. 根据权利要求9-12任一所述的QR码图像的校正系统,其特征在于,所述坐标获取 模块中,设定所述定位点为校正图形的中心点。
14. 根据权利要求13所述的QR码图像的校正系统,其特征在于,所述校正图形坐标获 取单元包括: 第一探测图形坐标获取子模块,用于获取第一探测图形的中心点在原图坐标系中的坐 标(XA,YA); 校正图形中心点坐标获取子模块,用于根据所述校正图形的中心点与所述第一探测图 形的中心点的横向距离获取校正图形的中心点的横坐标;根据所述校正图形的中心点与所 述第一探测图形的中心点的纵向距离获取校正图形的中心点的纵坐标。
15. 根据权利要求14所述的QR码图像的校正系统,其特征在于,所述校正图形中心点 坐标获取子模块中利用下述公式确定所述横向距离和所述纵向距离: 所述横向距离为:eh=e (XK-XA); 所述纵向距离为:ez=e (Yk_Ya); 其中xK =xb-xa+xc,yk =yb-ya+yc ; (XB,YB)为第二探测图形的中心点的坐标;(Xc,Yc)为 第三探测图形的中心点的坐标;e为校正图形偏离因子,e=(N-3)/N,其中N为QR码横向 或纵向上包含的模块的数量。
16.根据权利要求9-15任一所述的QR码图像的校正系统,其特征在于,所述校正图形 坐标获取单元包括: 探测图形校正坐标获取子模块,用于根据在标准QR码图像中,每一探测图形的中心点 与QR码图像边缘之间的模块数确定所述探测图形的中心点在校正坐标系中的坐标; 校正图形校正坐标获取子模块,用于根据在标准QR码图像中,校正图形的中心点与QR 码图像边缘之间的模块数确定所述校正图形的中心点在校正坐标系中的坐标。
【文档编号】G06K9/32GK104517109SQ201310454928
【公开日】2015年4月15日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】张玲, 关超, 刘振华, 刘革章, 车万毅 申请人:北大方正集团有限公司, 方正移动传媒技术(北京)有限公司