CN110020571A - 二维码校正方法、装置及设备 - Google Patents

二维码校正方法、装置及设备 Download PDF

Info

Publication number
CN110020571A
CN110020571A CN201910205036.6A CN201910205036A CN110020571A CN 110020571 A CN110020571 A CN 110020571A CN 201910205036 A CN201910205036 A CN 201910205036A CN 110020571 A CN110020571 A CN 110020571A
Authority
CN
China
Prior art keywords
detection
point
angle point
angle
region
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
Application number
CN201910205036.6A
Other languages
English (en)
Other versions
CN110020571B (zh
Inventor
梁明杰
王浦林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910205036.6A priority Critical patent/CN110020571B/zh
Publication of CN110020571A publication Critical patent/CN110020571A/zh
Application granted granted Critical
Publication of CN110020571B publication Critical patent/CN110020571B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (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)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

本说明书实施例提供一种二维码校正方法、装置及设备,在二维码校正方法中,基于深度学习算法,从二维码图像中提取二维码区域。在二维码区域中检测探测图形以及探测图形的中心点。若检测到的探测图形的个数为两个,则针对每个探测图形,确定探测图形的角点。基于探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定两个探测图形的位置关系。根据两个探测图形的角点以及位置关系,确定二维码区域中两个探测图形之外的两个区域角点。基于两个区域角点以及目标图形,在二维码区域中确定第三个探测图形的填充区域。在填充区域填充第三个探测图形,以得到校正后的二维码图形。

Description

二维码校正方法、装置及设备
技术领域
本说明书一个或多个实施例涉及图形处理技术领域,尤其涉及一种二维码校正方法、装置及设备。
背景技术
二维码(2-dimensional bar code)是通过按一定规律在平面的二维方向上分布的图形来记录信息的条码。其中,以QR二维码(简称QR码)最为常见。QR码具有3个用于定位的探测图形,该探测图形呈回字型,分布在QR码的左上角,右上角,左下角。传统技术中,在对QR码进行解码时,通常需要检测到3个探测图形才能完成解码。但在实际应用场景中,由于光照、污损、遮挡等原因可能仅能检测到2个甚至1个探测图形,这时就需要对未检测到的探测图形进行恢复,以实现二维码的校正。
传统的二维码校正方法通常是基于定位/校正图形(用于辅助QR码定位)来实现的。然而,当定位/校正图形污损或不存在时,通过该方法无法实现二维码的校正。
因此,需要提供一种鲁棒性更强的二维码校正方法。
发明内容
本说明书一个或多个实施例描述了一种二维码校正方法、装置及设备,可以提升二维码校正方法的鲁棒性。
第一方面,提供了一种二维码校正方法,包括:
基于深度学习算法,从二维码图像中提取二维码区域;
在所述二维码区域中检测探测图形以及所述探测图形的中心点;
若检测到的探测图形的个数为两个,则针对每个探测图形,确定所述探测图形的角点;
基于所述探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定所述两个探测图形的位置关系;
根据所述两个探测图形的角点以及所述位置关系,确定所述二维码区域中所述两个探测图形之外的两个区域角点;
基于所述两个区域角点以及目标图形,在所述二维码区域中确定第三个探测图形的填充区域;
在所述填充区域填充所述第三个探测图形,以得到校正后的二维码图形。
第二方面,提供了一种二维码校正装置,包括:
提取单元,用于基于深度学习算法,从二维码图像中提取二维码区域;
检测单元,用于在所述提取单元提取的所述二维码区域中检测探测图形以及所述探测图形的中心点;
确定单元,用于若所述检测单元检测到的探测图形的个数为两个,则针对每个探测图形,确定所述探测图形的角点;
所述确定单元,还用于基于所述探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定所述两个探测图形的位置关系;
所述确定单元,还用于根据所述两个探测图形的角点以及所述位置关系,确定所述二维码区域中所述两个探测图形之外的两个区域角点;
所述确定单元,还用于基于所述两个区域角点以及目标图形,在所述二维码区域中确定第三个探测图形的填充区域;
填充单元,用于在所述确定单元确定的所述填充区域填充所述第三个探测图形,以得到校正后的二维码图形。
第三方面,提供了一种二维码校正设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
基于深度学习算法,从二维码图像中提取二维码区域;
在所述二维码区域中检测探测图形以及所述探测图形的中心点;
若检测到的探测图形的个数为两个,则针对每个探测图形,确定所述探测图形的角点;
基于所述探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定所述两个探测图形的位置关系;
根据所述两个探测图形的角点以及所述位置关系,确定所述二维码区域中所述两个探测图形之外的两个区域角点;
基于所述两个区域角点以及目标图形,在所述二维码区域中确定第三个探测图形的填充区域;
在所述填充区域填充所述第三个探测图形,以得到校正后的二维码图形。
本说明书一个或多个实施例提供的二维码的校正方法、装置及设备,基于深度学习算法,从二维码图像中提取二维码区域。在二维码区域中检测探测图形以及探测图形的中心点。若检测到的探测图形的个数为两个,则针对每个探测图形,确定探测图形的角点。基于探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定两个探测图形的位置关系。根据两个探测图形的角点以及位置关系,确定二维码区域中两个探测图形之外的两个区域角点。基于两个区域角点以及目标图形,在二维码区域中确定第三个探测图形的填充区域。在填充区域填充第三个探测图形,以得到校正后的二维码图形。由此可以看出,本说明书提供的方案首先基于点共线关系确定所检测到的两个探测图形的位置关系,之后基于该位置关系来对二维码进行校正,由此可以大大提升二维码校正的鲁棒性和准确性。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的探测图形的分布情况示意图;
图2为本说明书提供的二维码解码系统示意图;
图3为本说明书一个实施例提供的二维码校正方法流程图;
图4为本说明书提供的探测图形示意图;
图5a为本说明书提供的连线示意图之一;
图5b为本说明书提供的连线示意图之二;
图5c为本说明书提供的连线示意图之三;
图5d为本说明书提供的连线示意图之四;
图6a为本说明书提供的外侧角点和边示意图之一;
图6b为本说明书提供的外侧角点和边示意图之二;
图7a为本说明书提供的射线示意图之一;
图7b为本说明书提供的射线示意图之二;
图8a为本说明书提供的连线示意图之五;
图8b为本说明书提供的连线示意图之六;
图9为本说明书一个实施例提供的二维码校正装置示意图;
图10为本说明书一个实施例提供的二维码校正设备示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在对本说明书提供的方案进行描述之前,先对本方案的发明构思作以下说明。
如背景技术的内容所述,要实现QR码的解码,需要从QR码中检测到三个探测图形。当只检测到两个甚至一个探测图形时,则需要对该QR码进行校正。对于只检测到一个探测图形的情况,本说明书不作讨论。对于检测到两个探测图形的情况,对QR码的校正思路可以如下:
首先,在QR码中,由于三个探测图形分别分布在左上角,右上角,左下角,因此,当检测到两个探测图形时,该两个探测图形的分布情况可以如图1所示。图1中,左侧QR码图像示出了两个探测图形的第一种分布情况,即其分别位于QR码的左下角和右上角。中间QR码图像示出了两个探测图形的第二种分布情况,即分别位于QR码的左下角和左上角。右侧QR码图像示出了两个探测图形的第三种分布情况,即其分别位于QR码的左上角和右上角。其中,将左侧QR码图像中两个探测图形的位置关系称为对角关系,将中间和右侧QR码图像中两个探测图形的位置关系称为同侧关系。
需要说明的是,由于当检测到两个探测图形时,该两个探测图形存在如上的位置关系,而不同的位置关系,QR码的校正方法通常也不一致。因此,在检测到两个探测图形时,先可以确定两个探测图形的位置关系。
在本说明书提供的方案中,可以基于点共线关系来确定两个探测图形的位置关系。具体地,可以通过两个探测图形的中心点构建目标连线。判断两个探测图形中任意的第一探测图形是否有角点落在目标连线上。如果是,则确定两个探测图形的位置关系为对角关系。否则确定两个探测图形的位置关系为同侧关系。
在确定出两个探测图形的位置关系之后,可以根据位置关系的不同,来通过不同的方式分别对二维码进行校正。
具体地,对于上述左侧QR码图像或者中间QR码图像,可以先确定其中每个探测图形的四个角点。之后,对于左侧QR码图像,可以从其中每个探测图形中选取三个外侧角点,并基于该三个外侧角点,构建每个探测图形的边。最后将两个探测图形的边的交点确定为QR码区域中两个探测图形之外的两个区域角点。对于中间QR码图像,可以从其中每个探测图形中选取两个外侧角点,并基于该两个外侧角点,构建每个探测图形的一条边。针对每个探测图形,计算该探测图形的边与另一个探测图形的对角延长线的交点。之后,从计算的交点中剔除位于QR码之外的交点,并根据筛选后的交点确定QR码区域中两个探测图形之外的两个区域角点。
需要说明的是,本说明书所述的区域角点可以分为两种类型:第一,与探测图形对应的区域角点(以下简称第一类型角点);第二,两个探测图形之外的区域角点(以下简称第二类型角点)。以图1中的左侧QR码图像为例来说,QR码的左下角的角点和右上角的角点分别与探测图形对应,因此可以称为第一类型角点;QR码的左上角的角点和右下角的角点位于探测图形之外,因此可以称为第二类型角点。可以理解的是,通过上述各步骤确定的区域角点是指上述第二类型角点。对于第一类型角点,则可以基于与其对应的探测图形的角点来确定。如,可以将QR码中位于左下角的探测图形的左下方角点作为一个区域角点等等。
可以理解的是,在确定出QR码的全部类型的角点之后,可以基于确定出的该全部类型的角点的坐标以及预设的标准QR码的坐标,计算透视变换矩阵,并基于该透视变换矩阵对QR码图像进行透视变换。
在透视变换后的QR码图像中,基于两个探测图形的位置关系来推算目标图形(如,校正图形)的查找位置。在查找位置查找校正图形。若查找到,则从上述第二类型角点中选取出距离查找位置较远的角点。依照该查找位置较远的角点来确定填充区域。在确定的填充区域填充第三个探测图形,以得到校正后的QR码。若未查找到,则基于每个第二类型角点确定填充区域,并在确定的填充区域填充第三个探测图形,以得到多个校正后的QR码。
需要说明的是,虽然上述以确定探测图形的四个角点为例进行了说明,但是在实际应用中,该角点的个数也可以为八个或者十二个等,本说明书对此不作限定。
以上就是本说明书提供的方案的发明构思,以下基于该发明构思对本方案进行详细阐述。
图2为本说明书提供的二维码解码系统示意图。如图2所示,该系统可以包括:获取模块202、校正模块204以及解码模块206。
获取模块202,用于获取二维码图像。
校正模块204,用于基于已检测到的两个探测图形,来恢复第三个探测图形,以实现二维码的校正。其具体校正过程后续说明。
解码模块206,用于对校正后的二维码进行解码。
图3为本说明书一个实施例提供的二维码校正方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者模块,如,可以为图1中的校正模块204。如图3所示,所述方法具体可以包括:
步骤302,基于深度学习算法,从二维码图像中提取二维码区域。
需要说明的是,这里提取二维码区域是为了提升后续二维码的校正效率。
步骤304,在二维码区域中检测探测图形以及探测图形的中心点。
本说明书所述的探测图形可以看作是由3个重叠的同心的正方形组成。在二值化的二维码区域中,该探测图形的线段黑白长度比例满足1:1:3:1:1。因此,可以基于探测图形的该特点,在二维码区域中对探测图形及其中心进行检测。由于探测图形及其中心点的检测为传统常规技术,因此在此不作赘述。
需要说明的是,通过该步骤检测到的探测图形的中心点通常不够精确。
步骤306,若检测到的探测图形的个数为两个,则针对每个探测图形,确定该探测图形的角点。
这里检测到的两个探测图形的分布情况可以参见图1所示。
对于任一分布情况下的探测图形,可以通过如下步骤来确定其对应的角点:基于探测图形的结构特点,在探测图形中选取若干像素点。对该若干像素点进行连通域分析,得到探测图形的连通域。获取连通域的外接多边形的顶点信息。基于顶点信息,确定探测图形的角点。
在一个例子中,可以基于探测图形的线段黑白长度比例满足1:1:3:1:1的特点,在探测图形中选取五个像素点。所选取的五个像素点具体可以如图4所示,即分别为:E1、E2、E3、E4和E5。之后,对该五个像素点进行连通域分析,就可以得到与探测图形所对应的连通域。该连通域与三个正方形相对应。具体地,当只获取该连通域的外接正方形(即最外侧正方形)的四个顶点时,则可以确定探测图形的四个角点。当然,在实际应用中,还可以获取与该连通域对应的其它两个或者一个正方形的四个顶点,从而得到探测图形的八个或者十二个角点。在本说明书以下描述过程中,以确定探测图形的四个角点为例进行说明。
此外,由于通过上述步骤304检测到的探测中心的中心点通常不够精确,因此,在该步骤中确定探测图形的连通域之后,还可以获取该连通域的中心点。之后基于该连通域的中心点对上述检测到的中心点进行更新,以得到精确的探测图形的中心点。可以理解的是,下述各步骤均可以基于该精确的探测图形的中心点来执行。
步骤308,基于探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定两个探测图形的位置关系。
具体地,可以通过两个探测图形的中心点构建目标连线。判断两个探测图形中任意的第一探测图形是否有角点落在目标连线上。如果是,则确定两个探测图形的位置关系为对角关系。否则确定两个探测图形的位置关系为同侧关系。
其中,判断第一探测图形是否有角点落在目标连线上的实现方式可以包括但不限于如下两种。
第一种,对于第一探测图形的N个角点中的第一角点,通过该第一角点和第一探测图形的中心点构建第一连线。判断第一连线与目标连线的夹角是否小于阈值;如果是,则确定第一角点落在目标连线上。这里的第一角点可以为第一探测图形的角点中的任一个。
第二种,判断第一探测图形的N个角点中的目标角点是否落在目标连线上。这里的目标角点可以是指基于第一探测图形的N个角点和中心点所构建的N条连线中在目标连线上投影距离最大的连线所对应的角点。
以图1的左侧QR码图像为例来说,假设第一探测图形为右上角的探测图形,那么所构建的目标连线与N条连线可以如图5a所示。图5a中,N为四,且所构建的四条连线分别与探测图形的四个角点相对应。对于该四条连线,当按照与其对应的角点的编号(其编号规则后续进行说明)顺序排列时,对应的投影距离分别可以为:d,0,-d,0。同理,当第一探测图形为左下角的探测图形,那么所构建的目标连线与N条连线可以如图5b所示。图5b中,当按照与其对应的角点的编号(其编号规则后续进行说明)顺序排列时,对应的投影距离分别可以为:d,0,-d,0。需要说明的是,因为在图5a和图5b中,与0号角点对应连线的投影距离最大,所以可以判断0号角点是否落在目标连线上。并基于判断结果来确定两个探测图形的位置关系。
再以图1的中间QR码图像为例来说,假设第一探测图形为左上角的探测图形,那么所构建的目标连线与N条连线可以如图5c所示。图5c中,N为四,且所构建的四条连线分别与探测图形的四个角点相对应。对于该四条连线,当按照与其对应的角点的编号(其编号规则后续进行说明)顺序排列时,对应的投影距离分别可以为:d,d,-d,-d。同理,当第一探测图形为左下角的探测图形,那么所构建的目标连线与N条连线可以如图5d所示。图5d中,当按照与其对应的角点的编号(其编号规则后续进行说明)顺序排列时,对应的投影距离分别可以为:d,-d,-d,d。需要说明的是,因为在图5c,与0号和1号角点对应连线的投影距离最大,所以可以判断0号和/或1号角点是否落在目标连线上。并基于判断结果来确定两个探测图形的位置关系。而在图5d中,与0号和3号角点对应连线的投影距离最大,所以可以判断0号和/或3号角点是否落在目标连线上。并基于判断结果来确定两个探测图形的位置关系。
需要说明的是,由于共线关系是射影不变量,即使在二维码拍摄时发生畸变仍可适用,因此本说明书实施例通过点共线方法判断探测图形的位置关系,可以提高位置关系确定的准确性,且具有更广的适用情景和较好的理论支撑。此外,本说明书实施例是基于检测到的两个探测图形的中心点以及角点来确定两个探测图形的位置关系的,而不需要借助定位/校正图形,因此在未检测到定位/校正图形的情况下也能对二维码进行校正,这提升了校正方法的鲁棒性。
步骤310,根据两个探测图形的角点以及位置关系,确定二维码区域中两个探测图形之外的两个区域角点。
如,前述发明构思的内容所述,这里确定的区域角点可以是指二维码区域的第二类型角点。
具体地,若两个探测图形的位置关系为对角关系,则针对每个探测图形,从探测图形的角点中选取外侧角点。通过外侧角点构建探测图形的边。根据两个探测图形的边的交点,确定两个区域角点。
在本说明书实施例中,可以将指投影距离非最小的角点均称为外侧角点。以图1的左侧QR码图像为例来说,从两个探测图形中所选取的外侧角点以及所构建的边可以如图6a所示。图6a中,对于每个探测图形,所选取的外侧角点分别为:0号、1号和3号角点,该三个角点所对应连线的投影距离均大于2号角点所对应连线的投影距离:-d。从图6a中可以看出,基于所选取的外侧角点所构建的多条边间的交点分别为:d1和d3。可以将该两个交点确定为二维码区域的两个区域角点。
而若两个探测图形的位置关系为同侧关系,则针对每个探测图形,从探测图形的角点中选取部分外侧角点。通过部分外侧角点构建探测图形的边。根据每个探测图形的边与其它探测图形的对角延长线的交点,确定两个区域角点。
此处,当每个探测图形的边与其它探测图形的对角延长线的交点为多个时,可以从多个交点中剔除位于二维码区域外的交点,得到筛选后的交点。根据筛选后的交点,确定二维码区域的两个区域角点。再者,本说明书实施例中的对角延长线的确定方式可以有多种:如,可以基于探测图形的对端的两个角点来确定,也可以基于探测图形的一个角点和中心点来确定,还可以基于处于该对角延长线上的任意的两个点来确定。最后,上述部分外侧角点可以是指对应连线的投影距离最大的角点。
以图1的中间QR码图像为例来说,从两个探测图形中所选取的部分外侧角点以及所构建的连线可以如图6b所示。图6b中,对于左下角的探测图形,所选取的部分外侧角点分别为:0号和3号角点,该两个角点所对应连线的投影距离均为最大,即为d。对于左上角的探测图形,所选取的部分外侧角点分别为:0号和1号角点,该两个角点所对应连线的投影距离均为最大,即为d。从图6b中可以看出,基于所选取的部分外侧角点所构建的边与对角延长线的交点可以有四个,即分别为:r1、r2、r3和r4。但由于r2和r4均位于二维码区域外,因此,可以从上述四个交点中剔除该两交点,从而得到筛选后的交点:r1和r3。可以将该两个交点确定为二维码区域的两个区域角点。
可选地,在确定出二维码区域中的两个探测图形之外的区域角点(第二类型角点)之后,还可以进一步确定与两个探测图形对应的另外两个区域角点(第一类型角点)。如前所述,本说明书中的第一类型角点与探测图形相对应,因此其确定过程可以理解是从探测图形的角点中选取出二维码区域的另外两个区域角点。
具体地,针对每个探测图形,从探测图形的角点中选取对应连线在目标连线的投影距离最大的角点。根据投影距离最大的角点,确定二维码区域中与两个探测图形对应的另外两个区域角点。
以图1的左侧QR码图像为例来说,对于每个探测图形,对应连线的投影距离最大的角点均为0号角点。也即该两个探测图形的投影距离最大的角点均为一个,从而可以直接将两个探测图形的投影距离最大的角点作为二维码区域的另外两个区域角点。
以图1的中间QR码图像为例来说,对于左上角的探测图形,对应连线的投影距离最大的角点为0号和1号角点。对于左下角的探测图形,对应连线的投影距离最大的角点为0号和3号角点。也即该两个探测图形的投影距离最大的角点均为两个。当为两个时,二维码区域中与探测图形对应的另外一个区域角点的确定过程可以为:针对当前探测图形,通过该两个角点与第二类型角点构建射线,并基于所构建的射线是否同向来从该两个角点中确定出二维码区域的另外一个区域角点。具体地,针对当前探测图形,可以从两个角点中选取一个角点。通过该一个角点和另一个角点构建以该一个角点为起点的第一射线,并通过该一个角点和第二类型角点构建以该一个角点为起点的第二射线。如果第一射线和第二射线同向,则将该一个角点作为二维码区域的另外一个区域角点。否则,将另一个角点作为二维码区域的另外一个区域角点。
这里需要说明的是,在本说明书的例子中,在两个探测图形的位置关系为同侧关系时,有两个角点(即上述0号和1号角点,或者上述0号和3号角点)对应连线的投影距离相等且均为最大。在实际应用中,有能存在这两个角点对应连线的投影距离不相等的情况。在这种情况下,可以选取对应连线的投影距离最大和次大的两个角点,以保证在两个探测图形的位置关系为同侧关系时,可以选取到两个角点。
这里在构建第二射线时所选取的第二类型角点可以是距离上述一个角点最近的区域角点,如,角点r3。
以图1的中间QR码图像左下角的探测图形为例来说,当以0号角点为起点时,所构建的两条射线如图7a所示。图7a中,由于该两条射线同向,因此可以将0号角点作为二维码区域的另外一个区域角点。而当以3号角点为起点时,所构建的两条射线如图7b所示。图7b中,由于该两条射线异向,因此可以将0号角点作为二维码区域的另外一个区域角点。
当还确定二维码区域中与两个探测图形对应的另外两个区域角点时,还可以根据两个探测图形之外的两个区域角点以及与两个探测图形对应的另外两个区域角点各自的坐标以及预设的标准码坐标,确定透视变换矩阵。根据透视变换矩阵,对二维码区域进行透视变换。
通过上述透视变换的步骤,可以对二维码图像进行去透视形变,由此可以使得在二维码图像为大角度拍摄图像时,也可以对二维码图像进行校正。
步骤312,基于两个区域角点以及目标图形,在二维码区域中确定第三个探测图形的填充区域。
这里的两个区域角点是指二维码区域的第二类型角点。
具体地,可以在二维码区域中定位目标图形的查找位置。在查找位置查找目标图形,并基于查找结果从两个第二类型角点中选取出第三个探测图形的对应角点。根据对应角点,在二维码区域中确定第三个探测图形的填充区域。
这里的目标图形可以包括但不限于校正图形以及定位图形等等。以目标图形为校正图形为例来说,上述定位过程具体可以为:
步骤a,针对每个探测图形,根据预设的编号规则,对每个探测图形的N个角点进行编号。
需要说明的是,在确定出二维码区域的另外两个区域角点(第二类型角点)之后,也即从探测图形的角点中选取出第二类型角点之后,就可以对该探测图形的角点进行编号了。其具体编号规则可以为:以二维码区域的第二类型角点为起点,按照顺时针或者逆时针方向,对探测图形的各个角点进行编号。当按顺时针方向编号时,图1的左侧QR码图像中右上角和左上角的探测图形的各个角点的编号可以分别如图5a和5b所示。当按顺时针方向编号时,图1的中间QR码图像中左上角和左下角的探测图形的各个角点的编号可以分别如图5c和5d所示。
步骤b,基于每个探测图形的位置,从N个角点中选取指定编号的M个角点。
每个探测图形的位置是根据对应的二维码区域的区域角点(第一类型角点)确定的。需要说明的是,在确定出二维码区域的四个区域角点之后,可以基于每个区域角点的坐标,进一步确定各个区域角点的位置。这里的位置可以包括但不限于左上角、右上角、左下角和右下角。而因为第一类型角点与探测图形相对应,因此,在第一类型角点的位置确定之后,进一步可以根据该位置确定对应的探测图形的位置。
需要说明的是,在N为四时,上述M可以为二。在一个例子中,在探测图形的位置为:左下角时,可以选取1号和2号角点。在探测图形的位置为:右上角时,可以选取2号和3号角点。在探测图形的位置为:左上角时,可以选取0号和2号角点。
步骤c,通过每个探测图形的M个角点构建多条连线。
步骤d,根据多条连线的交点,在二维码区域中定位目标图形的查找位置。
以图1的左侧QR码图像为例来说,针对每个探测图形,基于所选取的两个角点可以构建如图8a所示的连线。图8a中,所构建的两条连线的交点c1可以作为校正图形的查找位置。再以图1的中间QR码图像为例来说,针对每个探测图形,基于所选取的两个角点可以构建如图8b所示的连线。图8b中,所构建的两条连线的交点c2可以作为校正图形的查找位置。
另外,本说明书所述的校正图形的线段黑白长度比例满足1:1:1。因此,可以基于校正图形的该特点,在二维码区域的查找位置查找校正图形。由于校正图形的查找同探测图形的检测相似,均为传统常规技术,因此在此不作赘述。此外,这里的第三个探测图形是指二维码区域中未检测到的探测图形。
需要说明的是,在获取到查找结果之后,基于该查找结果的选取过程具体可以为:若查找结果为查找到,则从第二类型角点中选取出距离查找位置较远的角点。将该查找位置较远的角点作为第三个探测图形的对应角点。若查找结果为未查找到,则将第二类型角点均作为第三个探测图形的对应角点。
以图8a为例来说,若在查找位置查找到校正图形,则可以将二维码区域的第二类型角点中距离查找位置较远的角点,即左上角的角点选取为目标角点。否则,将左上角的角点和右下角的角点均选取为对应角点。再以图8b为例来说,若在查找位置查找到校正图形,则可以将右上角的角点选取为目标角点。否则,将右上角的角点和右下角的角点均选取为对应角点。
当然,在实际应用中,当选取的对应角点的个数为两个时,可以结合时间线(也称定位图形)来进一步对对应角点进行筛选。如,可以将距离时间线最近的对应角点作为最终的对应角点。
在确定出对应角点之后,可以以该对应角点为起点,向二维码区域方向绘制指定大小的区域。该指定大小的区域可以根据探测图形的大小确定。以图8a为例来说,所确定的填充区域可以如左上角的黑色区域所示。以图8b为例来说,所确定的填充区域可以如右上角的黑色区域所示。
步骤314,在填充区域填充第三个探测图形,以得到校正后的二维码图形。
在完成第三个探测图形的填充之后,就完成了二维码的校正。之后,就可以基于该校正后的二维码图形进行识别或者解码了。
需要说明的是,当对应角点的个数为两个时,可以在二维码区域中确定两个填充区域。当确定两个填充区域时,则执行两次填充过程,即在一个填充区域填充第三个探测图形,以得到一种校正后的二维码图形。之后在另一个填充区域填充第三个探测图形,以得到另一种校正后的二维码图形。也即,最后得到的校正后的二维码图形的个数与对应角点的个数相对应。
可以理解的是,如果前述还对二维码区域执行去透视形变的步骤,那么上述步骤312-步骤314可以是基于去透视形变后的二维码区域来执行的。需要说明的是,基于该去透视形变后的二维码区域来填充第三个探测图形可以避免恢复带形变的探测图形导致无法解码。
综上,本说明书提供的方案首先基于点共线关系确定所检测到的两个探测图形的位置关系,之后基于该位置关系来对二维码进行校正,由此可以大大提升二维码校正的鲁棒性和准确性。
与上述二维码校正方法对应地,本说明书一个实施例还提供的一种二维码校正装置,如图9所示,该装置可以包括:
提取单元902,用于基于深度学习算法,从二维码图像中提取二维码区域。
检测单元904,用于在提取单元902提取的二维码区域中检测探测图形以及探测图形的中心点。
确定单元906,用于若检测单元904检测到的探测图形的个数为两个,则针对每个探测图形,确定探测图形的角点。
确定单元906,还用于基于探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定两个探测图形的位置关系。
确定单元906,还用于根据两个探测图形的角点以及位置关系,确定二维码区域中两个探测图形之外的两个区域角点。
确定单元906,还用于基于两个区域角点以及目标图形,在二维码区域中确定第三个探测图形的填充区域。
填充单元908,用于在确定单元906确定的填充区域填充第三个探测图形,以得到校正后的二维码图形。
确定单元906具体可以用于:
基于探测图形的结构特点,在探测图形中选取若干像素点。
对若干像素点进行连通域分析,得到探测图形的连通域。
获取连通域的外接多边形的顶点信息。
基于顶点信息,确定探测图形的角点。
确定单元906还具体可以用于:
通过两个探测图形的中心点构建目标连线。
判断两个探测图形中任意的第一探测图形是否有角点落在目标连线上。
如果是,则确定两个探测图形的位置关系为对角关系。
否则确定两个探测图形的位置关系为同侧关系。
确定单元906还具体可以用于:
对于第一探测图形的角点中的第一角点,通过该第一角点和第一探测图形的中心点构建第一连线。
判断第一连线与目标连线的夹角是否小于阈值。如果是,则确定第一角点落在目标连线上。
可选地,探测图形的角点的个数为N。
确定单元还具体用于:
判断第一探测图形的N个角点中的目标角点是否落在目标连线上。目标角点是指基于第一探测图形的N个角点和中心点所构建的N条连线中在目标连线上投影距离最大的连线所对应的角点。
确定单元906还具体可以用于:
若两个探测图形的位置关系为对角关系,则针对每个探测图形,从探测图形的角点中选取外侧角点。通过外侧角点构建探测图形的边。根据两个探测图形的边的交点,确定两个区域角点。
若两个探测图形的位置关系为同侧关系,则针对每个探测图形,从探测图形的角点中选取部分外侧角点。通过部分外侧角点构建探测图形的边。根据每个探测图形的边与其它探测图形的对角延长线的交点,确定两个区域角点。
确定单元906还具体可以用于:
从每个探测图形的边与其它探测图形的对角延长线的交点中剔除位于二维码区域外的交点,得到筛选后的交点。
根据筛选后的交点,确定两个区域角点。
确定单元906具体可以用于:
在二维码区域中定位目标图形的查找位置。
在查找位置查找目标图形,并基于查找结果从两个区域角点中选取出第三个探测图形的对应角点。
根据对应角点,在二维码区域中确定第三个探测图形的填充区域。
可选地,探测图形的角点的个数为N,目标图形包括校正图形。
确定单元906还具体可以用于:
针对每个探测图形,根据预设的编号规则,对探测图形的N个角点进行编号。
基于探测图形的位置,从N个角点中选取指定编号的M个角点。
通过探测图形的M个角点构建连线。
根据两个探测图形的连线的交点,在二维码区域中定位目标图形的查找位置。
确定单元906还具体可以用于:
若查找结果为查找到,则从两个区域角点中选取出距离查找位置较远的角点,将其作为第三个探测图形的对应角点。
若查找结果为未查找到,则将两个区域角点均作为第三个探测图形的对应角点。
可选地,该装置还可以包括:
选取单元910,用于针对每个探测图形,从探测图形的角点中选取对应连线在目标连线的投影距离最大的角点。
确定单元906,还用于根据选取单元910选取的投影距离最大的角点,确定二维码区域中与两个探测图形对应的另外两个区域角点。
确定单元906,还用于根据两个探测图形之外的两个区域角点以及与两个探测图形对应的另外两个区域角点各自的坐标以及预设的标准码坐标,确定透视变换矩阵。
变换单元912,用于根据确定单元906确定的透视变换矩阵,对二维码区域进行透视变换。
填充单元908具体可以用于:
在透视变换后的二维码区域中确定第三个探测图形的填充区域。
在透视变换后的二维码区域中所确定的填充区域填充第三个探测图形。
确定单元906还具体可以用于:
针对每个探测图形,若投影距离最大的角点为一个,则直接将投影距离最大的角点作为与探测图形对应的一个区域角点。
若投影距离最大的角点为两个,则通过该两个角点与区域角点构建射线,并基于所构建的射线是否同向来从该两个角点中确定出与探测图形对应的一个区域角点。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的二维码校正装置,提取单元902基于深度学习算法,从二维码图像中提取二维码区域。检测单元904在二维码区域中检测探测图形以及探测图形的中心点。若检测到的探测图形的个数为两个,则确定单元906针对每个探测图形,确定探测图形的角点。确定单元906基于探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定两个探测图形的位置关系。确定单元906根据两个探测图形的角点以及位置关系,确定二维码区域中两个探测图形之外的两个区域角点。确定单元906基于两个区域角点以及目标图形,在二维码区域中确定第三个探测图形的填充区域。填充单元908在确定的填充区域填充第三个探测图形,以得到校正后的二维码图形。由此,可以提升二维码校正的鲁棒性。
本说明书一个实施例提供的二维码校正装置可以为图1中校正模块204的一个子模块或者子单元。
与上述二维码校正方法对应地,本说明书实施例还提供了一种二维码校正设备,如图10所示,该设备可以包括:存储器1002、一个或多个处理器1004以及一个或多个程序。其中,该一个或多个程序存储在存储器1002中,并且被配置成由一个或多个处理器1004执行,该程序被处理器1004执行时实现以下步骤:
基于深度学习算法,从二维码图像中提取二维码区域。
在二维码区域中检测探测图形以及探测图形的中心点。
若检测到的探测图形的个数为两个,则针对每个探测图形,确定探测图形的角点。
基于探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定两个探测图形的位置关系。
根据两个探测图形的角点以及位置关系,确定二维码区域中两个探测图形之外的两个区域角点。
基于两个区域角点以及目标图形,在二维码区域中确定第三个探测图形的填充区域。
在填充区域填充第三个探测图形,以得到校正后的二维码图形。
本说明书一个实施例提供的二维码校正设备,可以提升二维码校正的鲁棒性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (25)

1.一种二维码校正方法,包括:
基于深度学习算法,从二维码图像中提取二维码区域;
在所述二维码区域中检测探测图形以及所述探测图形的中心点;
若检测到的探测图形的个数为两个,则针对每个探测图形,确定所述探测图形的角点;
基于所述探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定所述两个探测图形的位置关系;
根据所述两个探测图形的角点以及所述位置关系,确定所述二维码区域中所述两个探测图形之外的两个区域角点;
基于所述两个区域角点以及目标图形,在所述二维码区域中确定第三个探测图形的填充区域;
在所述填充区域填充所述第三个探测图形,以得到校正后的二维码图形。
2.根据权利要求1所述的方法,所述针对每个探测图形,确定所述探测图形的角点,包括:
基于所述探测图形的结构特点,在所述探测图形中选取若干像素点;
对所述若干像素点进行连通域分析,得到所述探测图形的连通域;
获取所述连通域的外接多边形的顶点信息;
基于所述顶点信息,确定所述探测图形的角点。
3.根据权利要求1所述的方法,所述基于所述探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定所述两个探测图形的位置关系,包括:
通过所述两个探测图形的中心点构建目标连线;
判断所述两个探测图形中任意的第一探测图形是否有角点落在所述目标连线上;
如果是,则确定所述两个探测图形的位置关系为对角关系;
否则确定所述两个探测图形的位置关系为同侧关系。
4.根据权利要求3所述的方法,所述判断所述两个探测图形中任意的第一探测图形是否有角点落在所述目标连线上,包括:
对于所述第一探测图形的角点中的第一角点,通过该第一角点和所述第一探测图形的中心点构建第一连线;
判断所述第一连线与所述目标连线的夹角是否小于阈值;如果是,则确定所述第一角点落在所述目标连线上。
5.根据权利要求3所述的方法,所述探测图形的角点的个数为N;
所述判断所述两个探测图形中任意的第一探测图形是否有角点落在所述目标连线上,包括:
判断所述第一探测图形的N个角点中的目标角点是否落在所述目标连线上;所述目标角点是指基于所述第一探测图形的N个角点和中心点所构建的N条连线中在所述目标连线上投影距离最大的连线所对应的角点。
6.根据权利要求1所述的方法,所述根据所述两个探测图形的角点以及所述位置关系,确定所述二维码区域中所述两个探测图形之外的两个区域角点,包括:
若所述两个探测图形的位置关系为对角关系,则针对每个探测图形,从所述探测图形的角点中选取外侧角点;通过所述外侧角点构建所述探测图形的边;根据所述两个探测图形的边的交点,确定所述两个区域角点;
若所述两个探测图形的位置关系为同侧关系,则针对每个探测图形,从所述探测图形的角点中选取部分外侧角点;通过所述部分外侧角点构建所述探测图形的边;根据所述每个探测图形的边与其它探测图形的对角延长线的交点,确定所述两个区域角点。
7.根据权利要求6所述的方法,所述根据所述每个探测图形的边与其它探测图形的对角延长线的交点,确定所述两个区域角点,包括:
从所述每个探测图形的边与其它探测图形的对角延长线的交点中剔除位于所述二维码区域外的交点,得到筛选后的交点;
根据所述筛选后的交点,确定所述两个区域角点。
8.根据权利要求1所述的方法,所述基于所述两个区域角点以及目标图形,在所述二维码区域中确定第三个探测图形的填充区域,包括:
在所述二维码区域中定位目标图形的查找位置;
在所述查找位置查找所述目标图形,并基于查找结果从所述两个区域角点中选取出第三个探测图形的对应角点;
根据所述对应角点,在所述二维码区域中确定第三个探测图形的填充区域。
9.根据权利要求8所述的方法,所述探测图形的角点的个数为N;所述目标图形包括校正图形;
所述在所述二维码区域中定位目标图形的查找位置包括:
针对每个探测图形,根据预设的编号规则,对所述探测图形的N个角点进行编号;
基于所述探测图形的位置,从所述N个角点中选取指定编号的M个角点;
通过所述探测图形的M个角点构建连线;
根据所述两个探测图形的连线的交点,在所述二维码区域中定位目标图形的查找位置。
10.根据权利要求8所述的方法,所述基于查找结果从所述两个区域角点中选取出第三个探测图形的对应角点,包括:
若所述查找结果为查找到,则从所述两个区域角点中选取出距离所述查找位置较远的角点,将其作为第三个探测图形的对应角点;
若所述查找结果为未查找到,则将所述两个区域角点均作为第三个探测图形的对应角点。
11.根据权利要求1所述的方法,还包括:
针对每个探测图形,从所述探测图形的角点中选取对应连线在所述目标连线的投影距离最大的角点;根据投影距离最大的角点,确定所述二维码区域中与所述两个探测图形对应的另外两个区域角点;
根据所述两个探测图形之外的两个区域角点以及与所述两个探测图形对应的另外两个区域角点各自的坐标以及预设的标准码坐标,确定透视变换矩阵;
根据所述透视变换矩阵,对所述二维码区域进行透视变换;
所述在所述填充区域填充所述第三个探测图形包括:
在透视变换后的二维码区域中确定所述第三个探测图形的填充区域;
在透视变换后的二维码区域中所确定的填充区域填充所述第三个探测图形。
12.根据权利要求11所述的方法,所述根据投影距离最大的角点,确定所述二维码区域中与两个探测图形对应的另外两个区域角点,包括:
针对每个探测图形,若所述投影距离最大的角点为一个,则直接将所述投影距离最大的角点作为与所述探测图形对应的一个区域角点;
若所述投影距离最大的角点为两个,则通过该两个角点与所述区域角点构建射线,并基于所构建的射线是否同向来从该两个角点中确定出与所述探测图形对应的一个区域角点。
13.一种二维码校正装置,包括:
提取单元,用于基于深度学习算法,从二维码图像中提取二维码区域;
检测单元,用于在所述提取单元提取的所述二维码区域中检测探测图形以及所述探测图形的中心点;
确定单元,用于若所述检测单元检测到的探测图形的个数为两个,则针对每个探测图形,确定所述探测图形的角点;
所述确定单元,还用于基于所述探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定所述两个探测图形的位置关系;
所述确定单元,还用于根据所述两个探测图形的角点以及所述位置关系,确定所述二维码区域中所述两个探测图形之外的两个区域角点;
所述确定单元,还用于基于所述两个区域角点以及目标图形,在所述二维码区域中确定第三个探测图形的填充区域;
填充单元,用于在所述确定单元确定的所述填充区域填充所述第三个探测图形,以得到校正后的二维码图形。
14.根据权利要求13所述的装置,所述确定单元具体用于:
基于所述探测图形的结构特点,在所述探测图形中选取若干像素点;
对所述若干像素点进行连通域分析,得到所述探测图形的连通域;
获取所述连通域的外接多边形的顶点信息;
基于所述顶点信息,确定所述探测图形的角点。
15.根据权利要求13所述的装置,所述确定单元具体用于:
通过所述两个探测图形的中心点构建目标连线;
判断所述两个探测图形中任意的第一探测图形是否有角点落在所述目标连线上;
如果是,则确定所述两个探测图形的位置关系为对角关系;
否则确定所述两个探测图形的位置关系为同侧关系。
16.根据权利要求15所述的装置,所述确定单元还具体用于:
对于所述第一探测图形的角点中的第一角点,通过该第一角点和所述第一探测图形的中心点构建第一连线;
判断所述第一连线与所述目标连线的夹角是否小于阈值;如果是,则确定所述第一角点落在所述目标连线上。
17.根据权利要求15所述的装置,所述探测图形的角点的个数为N;
所述确定单元还具体用于:
判断所述第一探测图形的N个角点中的目标角点是否落在所述目标连线上;所述目标角点是指基于所述第一探测图形的N个角点和中心点所构建的N条连线中在所述目标连线上投影距离最大的连线所对应的角点。
18.根据权利要求13所述的装置,所述确定单元具体用于:
若所述两个探测图形的位置关系为对角关系,则针对每个探测图形,从所述探测图形的角点中选取外侧角点;通过所述外侧角点构建所述探测图形的边;根据所述两个探测图形的边的交点,确定所述两个区域角点;
若所述两个探测图形的位置关系为同侧关系,则针对每个探测图形,从所述探测图形的角点中选取部分外侧角点;通过所述部分外侧角点构建所述探测图形的边;根据所述每个探测图形的边与其它探测图形的对角延长线的交点,确定所述两个区域角点。
19.根据权利要求18所述的装置,所述确定单元还具体用于:
从所述每个探测图形的边与其它探测图形的对角延长线的交点中剔除位于所述二维码区域外的交点,得到筛选后的交点;
根据所述筛选后的交点,确定所述两个区域角点。
20.根据权利要求13所述的装置,所述确定单元具体用于:
在所述二维码区域中定位目标图形的查找位置;
在所述查找位置查找所述目标图形,并基于查找结果从所述两个区域角点中选取出第三个探测图形的对应角点;
根据所述对应角点,在所述二维码区域中确定第三个探测图形的填充区域。
21.根据权利要求20所述的装置,所述探测图形的角点的个数为N;所述目标图形包括校正图形;所述确定单元还具体用于:
针对每个探测图形,根据预设的编号规则,对所述探测图形的N个角点进行编号;
基于所述探测图形的位置,从所述N个角点中选取指定编号的M个角点;
通过所述探测图形的M个角点构建连线;
根据所述两个探测图形的连线的交点,在所述二维码区域中定位目标图形的查找位置。
22.根据权利要求20所述的装置,所述确定单元还具体用于:
若所述查找结果为查找到,则从所述两个区域角点中选取出距离所述查找位置较远的角点,将其作为第三个探测图形的对应角点;
若所述查找结果为未查找到,则将所述两个区域角点均作为第三个探测图形的对应角点。
23.根据权利要求13所述的装置,还包括:
选取单元,用于针对每个探测图形,从所述探测图形的角点中选取对应连线在所述目标连线的投影距离最大的角点;
所述确定单元,还用于根据所述选取单元选取的投影距离最大的角点,确定所述二维码区域中与所述两个探测图形对应的另外两个区域角点;
所述确定单元,还用于根据所述两个探测图形之外的两个区域角点以及与所述两个探测图形对应的另外两个区域角点各自的坐标以及预设的标准码坐标,确定透视变换矩阵;
变换单元,用于根据所述确定单元确定的所述透视变换矩阵,对所述二维码区域进行透视变换;
所述填充单元具体用于:
在透视变换后的二维码区域中确定所述第三个探测图形的填充区域;
在透视变换后的二维码区域中所确定的填充区域填充所述第三个探测图形。
24.根据权利要求23所述的装置,所述确定单元还具体用于:
针对每个探测图形,若所述投影距离最大的角点为一个,则直接将所述投影距离最大的角点作为与所述探测图形对应的一个区域角点;
若所述投影距离最大的角点为两个,则通过该两个角点与所述区域角点构建射线,并基于所构建的射线是否同向来从该两个角点中确定出与所述探测图形对应的一个区域角点。
25.一种二维码校正设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
基于深度学习算法,从二维码图像中提取二维码区域;
在所述二维码区域中检测探测图形以及所述探测图形的中心点;
若检测到的探测图形的个数为两个,则针对每个探测图形,确定所述探测图形的角点;
基于所述探测图形的角点与两个探测图形的中心点的连线之间的点共线关系,确定所述两个探测图形的位置关系;
根据所述两个探测图形的角点以及所述位置关系,确定所述二维码区域中所述两个探测图形之外的两个区域角点;
基于所述两个区域角点以及目标图形,在所述二维码区域中确定第三个探测图形的填充区域;
在所述填充区域填充所述第三个探测图形,以得到校正后的二维码图形。
CN201910205036.6A 2019-03-18 2019-03-18 二维码校正方法、装置及设备 Active CN110020571B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910205036.6A CN110020571B (zh) 2019-03-18 2019-03-18 二维码校正方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910205036.6A CN110020571B (zh) 2019-03-18 2019-03-18 二维码校正方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110020571A true CN110020571A (zh) 2019-07-16
CN110020571B CN110020571B (zh) 2022-05-13

Family

ID=67189668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910205036.6A Active CN110020571B (zh) 2019-03-18 2019-03-18 二维码校正方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110020571B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112016339A (zh) * 2020-08-18 2020-12-01 中移(杭州)信息技术有限公司 二维码识别及缺损修复方法、装置、电子设备及存储介质
CN112507751A (zh) * 2020-11-06 2021-03-16 福州符号信息科技有限公司 一种qr码的定位方法及其系统
CN113496134A (zh) * 2020-04-08 2021-10-12 顺丰科技有限公司 二维码定位方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265354A (ja) * 2006-03-30 2007-10-11 Denso Wave Inc 二次元コードの表示方法、qrコード、表示媒体、プログラムおよび二次元コード読取装置
US20100155464A1 (en) * 2008-12-22 2010-06-24 Canon Kabushiki Kaisha Code detection and decoding system
CN104463059A (zh) * 2013-09-16 2015-03-25 航天信息股份有限公司 Qr码识别中一个探测图形破损时的重构方法
CN105138943A (zh) * 2015-09-02 2015-12-09 福建联迪商用设备有限公司 Qr码位置探测图形破损时的解码方法及系统
CN107577980A (zh) * 2017-09-30 2018-01-12 中联惠众信息技术(北京)有限公司 一种二维码纠错译码方法及其译码装置
CN107818282A (zh) * 2017-09-30 2018-03-20 努比亚技术有限公司 二维码识别方法、终端及计算机可读存储介质
CN107832652A (zh) * 2017-09-28 2018-03-23 努比亚技术有限公司 二维码识别方法、终端及计算机可读存储介质
CN109325381A (zh) * 2018-08-13 2019-02-12 佛山市顺德区中山大学研究院 一种寻像图形缺失一处的qr码定位和校正算法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265354A (ja) * 2006-03-30 2007-10-11 Denso Wave Inc 二次元コードの表示方法、qrコード、表示媒体、プログラムおよび二次元コード読取装置
US20100155464A1 (en) * 2008-12-22 2010-06-24 Canon Kabushiki Kaisha Code detection and decoding system
CN104463059A (zh) * 2013-09-16 2015-03-25 航天信息股份有限公司 Qr码识别中一个探测图形破损时的重构方法
CN105138943A (zh) * 2015-09-02 2015-12-09 福建联迪商用设备有限公司 Qr码位置探测图形破损时的解码方法及系统
CN107832652A (zh) * 2017-09-28 2018-03-23 努比亚技术有限公司 二维码识别方法、终端及计算机可读存储介质
CN107577980A (zh) * 2017-09-30 2018-01-12 中联惠众信息技术(北京)有限公司 一种二维码纠错译码方法及其译码装置
CN107818282A (zh) * 2017-09-30 2018-03-20 努比亚技术有限公司 二维码识别方法、终端及计算机可读存储介质
CN109325381A (zh) * 2018-08-13 2019-02-12 佛山市顺德区中山大学研究院 一种寻像图形缺失一处的qr码定位和校正算法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LEGEND500: ""Opencv+Zbar二维码识别(二维码校正)"", 《HTTPS://BLOG.CSDN.NET/WYQ429703159/ARTICLE/DETAILS/74367138》 *
赵群礼: ""QR二维码的图像识别技术探讨"", 《合肥师范学院学报》 *
黄梦涛: ""面向快递分拣的二维码定位与校正方法"", 《科学技术与工程》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113496134A (zh) * 2020-04-08 2021-10-12 顺丰科技有限公司 二维码定位方法、装置、设备及存储介质
CN112016339A (zh) * 2020-08-18 2020-12-01 中移(杭州)信息技术有限公司 二维码识别及缺损修复方法、装置、电子设备及存储介质
CN112016339B (zh) * 2020-08-18 2023-12-29 中移(杭州)信息技术有限公司 二维码识别及缺损修复方法、装置、电子设备及存储介质
CN112507751A (zh) * 2020-11-06 2021-03-16 福州符号信息科技有限公司 一种qr码的定位方法及其系统
CN112507751B (zh) * 2020-11-06 2024-01-09 福州符号信息科技有限公司 一种qr码的定位方法及其系统

Also Published As

Publication number Publication date
CN110020571B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN110020571A (zh) 二维码校正方法、装置及设备
US9530215B2 (en) Systems and methods for enhanced depth map retrieval for moving objects using active sensing technology
EP2856078B1 (en) Design of code in affine-invariant spatial mask
EP2921997B1 (en) Two-dimensional code
ES2870655T3 (es) Procedimiento y aparato de posicionamiento de códigos QR
JP7289927B2 (ja) 二次元コードの認識方法、生成方法、装置、二次元コード及び小車
CN104517109B (zh) 一种qr码图像的校正方法及系统
CN105046213A (zh) 一种增强现实的方法
US10107899B1 (en) System and method for calibrating light intensity
CN107742146A (zh) 二维码的分析系统
CN104517092A (zh) 一种qr码校正图形的检测方法及系统
CN110197096A (zh) 二维码校正方法、装置及设备
JP2012067462A (ja) 鉄筋撮影用具及び配筋情報取得方法
US10796183B2 (en) Fiducial marker, method for forming the fiducial marker, and system for sensing thereof
CN106897758B (zh) 一种用于平面连续定位的qrl码及其连续定位的方法
CN110033065A (zh) 窄条二维码、窄条二维码的生成、识别方法、装置及设备
CN101908144B (zh) 一种条码图像校正方法及校正点获取方法
KR101460350B1 (ko) 마커 인식 장치 및 방법
CN113066128A (zh) 自识别标识板的视觉检测与恢复方法、装置、设备及介质
JP5371015B2 (ja) クロスマーク検出装置及び方法、並びにプログラム
RU2773554C1 (ru) Способ сборки демонстрационной арены (варианты), система сборки демонстрационной арены, способ определения положения и ориентации устройства в пределах окружающей среды, система демонстрационной арены для транспортных средств, действующих в демонстрационном пространстве (варианты), система демонстрационной арены (варианты)
CN117274327A (zh) 标定图样生成方法、标定图样配准方法、装置及电子设备
KR102075708B1 (ko) 합성영상의 특징점 정보 처리 방법 및 장치
CN117934621A (zh) 一种基于圆点阵标定板的相机标定方法
CN116580144A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40011332

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant