CN115879489A - 一种畸变二维码的定位方法及装置 - Google Patents
一种畸变二维码的定位方法及装置 Download PDFInfo
- Publication number
- CN115879489A CN115879489A CN202211723396.3A CN202211723396A CN115879489A CN 115879489 A CN115879489 A CN 115879489A CN 202211723396 A CN202211723396 A CN 202211723396A CN 115879489 A CN115879489 A CN 115879489A
- Authority
- CN
- China
- Prior art keywords
- clock edge
- edge
- line segment
- combination
- segment
- 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
Landscapes
- Image Processing (AREA)
Abstract
本申请实施例提供一种畸变二维码的定位方法及装置,方法包括获取扫描区域内的扫描图像,识别扫描图像中的线段,以在线段中确定二维码图形的第一L边组合;根据第一L边组合确定第一待选时钟边线段;在第一待选时钟边线段中找线搜索第一有效时钟边;根据第一有效时钟边与第一L边组合定位二维码图形的位置。在确定第一L边组合的前提下,通过找线的方式确定第一待选时钟边,同时在第一待选时钟边线段中搜索第一有效时钟边,以对第一时钟边有效性进行验证,在二维码存在畸变的情况下,提高了二维码的定位精度。
Description
技术领域
本申请涉及图像处理技术技术领域,尤其涉及一种畸变二维码的定位方法及装置。
背景技术
二维码识别实际应用中,优于工艺或者成像的原因,往往出现投影畸变的情况,以DM(Data Matrix,数据矩阵)码定位为例,通常的定位方式为搜索图像中的线段,寻找固定模式边及L边,并取L边的对边组成仿射矩形,得到DM码的区域。但由于拍摄原因,实际解码过程中往往会出现投影畸变,相邻边的角度不是直角。以图1中的DM为例,图像存在相邻两边形成的角度不为90度,而且图像模糊产生了变形,此时提取出的L边依然无法准确定位出二维码位置,因此,在二维码存在畸变时,对其的定位精度较低。
发明内容
本申请提供了一种畸变二维码的定位方法及装置,以解决畸变二维码定位精度较低的问题。
本申请第一方面提供一种畸变二维码的定位方法,获取扫描区域内的扫描图像,所述扫描图像中包括二维码图形,所述二维码图形包括L边和时钟边;
识别所述扫描图像中的线段,以在所述线段中确定二维码图形的第一L边组合;
根据所述第一L边组合确定第一待选时钟边线段;
在所述第一待选时钟边线段中找线搜索第一有效时钟边;
根据所述第一有效时钟边与所述第一L边组合定位所述二维码图形的位置。
可选的,若在所述第一待选时钟边中未搜索到所述第一有效时钟边时,所述畸变二维码的定位方法还包括:
对所述扫描图像进行膨胀腐蚀处理;
识别膨胀腐蚀处理后所述扫描图像中的线段,以在所述线段中确定所述二维码图形的第二L边组合;
根据所述第二L边组合确定第二待选时钟边线段;
在所述第二待选时钟边线段中找线搜索第二有效时钟边;
根据所述第二有效时钟边与所述第二L边组合定位所述二维码图形的位置。
可选的,所述根据所述第一L边组合确定第一待选时钟边线段包括:
根据所述第一L边组合构建两个第一时钟边搜索区域;其中,两个所述第一时钟边搜索区域分别与所述第一L边组合中的两条L边的延伸方向相同,且所述第一L边组合的端点位于所述第一时钟边搜索区域内;
在所述第一时钟边搜索区域内获取第一目标线段,所述第一目标线段为:与所述第一L边组合中任意线段组成具有L形状线段组合的线段;
根据所述第一目标线段确定第一待选时钟边线段;所述第一待选时钟边线段为:多条第一目标线段中至少一个端点在所述第一时钟边搜索区域内,且线段长度大于长度阈值,以及与理想时钟边的方向偏差小于偏差阈值的线段。
可选的,所述在所述第一待选时钟边线段中找线搜索第一有效时钟边包括:
获取所述第一待选时钟边线段中最长的线段;
计算最长的所述第一待选时钟边线段的端点到所述第一L边组合的端点的最小距离;
若所述最小距离小于第一阈值,确定最长的所述第一待选时钟边线段为所述第一有效时钟边线段。
可选的,所述根据所述第二L边组合确定第二待选时钟边线段包括:
根据所述第二L边组合构建两个第二时钟边搜索区域;其中,两个所述第二时钟边搜索区域分别与所述第二L边组合中的两条L边的延伸方向相同,且所述第二L边组合的端点位于所述第二时钟边搜索区域内;
在所述第二时钟边搜索区域内获取第二目标线段,所述第二目标线段为:与所述第二L边组合中线段组成具有L形状线段组合的线段;
根据所述第二目标线段确定第二待选时钟边线段,所述第二待选时钟边线段为:所述第二目标线段中至少一个端点在所述第二时钟边搜索区域内,且与所述理想时钟边的夹角小于第一预设角度的线段。
可选的,所述根据所述第二目标线段确定第二待选时钟边线段的步骤中:
若所述第二目标线段中一个端点位于所述第二时钟边搜索区域外,则保留所述第二时钟边区域内的所述第二目标线段作为第二待选时钟边线段。
可选的,所述在所述第二待选时钟边线段中找线搜索第二有效时钟边包括:
获取第三目标线段,所述第三目标线段为所述第二待选时钟边线段中最长的线段;
若所述第三目标线段中只有一条线段,或所述第三目标线段的长度大于所述理想时钟边的第一预设倍数,则确定所述第三目标线段为所述第二有效时钟边。
可选的,若存在多条所述第三目标线段且所述第三目标线段的长度小于或等于所述理想时钟边长度的第一预设倍数,所述在所述第二待选时钟边线段中找线搜索第二有效时钟边还包括:
获取第四目标线段,所述第四目标线段为所述第二待选时钟边线中与所述第三目标线段的夹角小于第二预设角度,或,长度大于或等于所述理想时钟边长度的第三预设倍数的线段;
获取第五目标线段,将所述第四目标线段中的共线线段合并,以得到所述第五目标线段;
将所述第三目标线段与所述第五目标线段合并,以作为所述第二有效时钟边。
可选的,所述在所述第二待选时钟边线段中找线搜索第二有效时钟边的步骤中:
所述第二有效时钟边与所述第二L边组合的交点与所述第二L边组合的端点之间的距离小于第二阈值。
本申请第二方面提供一种畸变二维码的定位装置,包括,扫描模块:被配置为获取扫描区域内的扫描图像,所述扫描图像中包括二维码图形,所述二维码图形包括L边和时钟边;
识别模块:被配置为识别所述扫描图像中的线段;
确定模块:被配置为在所述线段中确定二维码图形的L边组合;所述确定模块还被配置为根据所述L边组合确定待选时钟边线段;
搜索模块:被配置为在所述待选时钟边线段中找线搜索有效时钟边;
定位模块:被配置为根据所述有效时钟边与L边组合定位所述二维码图形的位置。
本申请提供一种畸变二维码的定位方法及装置,畸变二维码的定位方法包括获取扫描区域内的扫描图像,所述扫描图像中包括二维码图形,所述二维码图形包括L边和时钟边;识别所述扫描图像中的线段,以在所述线段中确定二维码图形的第一L边组合;根据所述第一L边组合确定第一待选时钟边线段;在所述第一待选时钟边线段中找线搜索第一有效时钟边;在确定第一L边组合的前提下,通过找线的方式确定第一时钟边,同时在第一待选时钟边线段中搜索第一有效时钟边,以对第一时钟边有效性进行验证,在二维码存在畸变的情况下,提高二维码的定位精度。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种畸变的DM码图像;
图2为本申请实施例中一种畸变二维码的定位方法的流程示意图;
图3为本申请实施例中确定二维码图形中的第一L边组合的流程示意图;
图4为本申请实施例中确定第一待选时钟边的方法流程示意图;
图5为本申请实施例中构建第一时钟边搜索区域的流程示意图;
图6为本申请实施例中第一L边组合的结构示意图;
图7为本申请实施例中确定第一有效时钟边线段的流程示意图;
图8为本申请实施例中另一种畸变二维码的定位方法流程示意图;
图9为本实施例中确定第二待选时钟边的流程示意图;
图10为本申请一个可行实施例畸变二维码的定位方法的流程示意图;
图11为本申请实施例提供的一种畸变二维码的定位装置结构示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的***和方法的示例。
在二维码的识别过程中,二维码识别是否成功,严重依赖码区位置定位的准确性。以DM(Data Matrix,数据矩阵)码为例,DM码定位特征为DM码四条边,左侧呈L形的两条边为L边,右侧及上侧的两条边称作时钟边。定位过程为先将图片中全部线段进行提取,提取后进行组合,组合出矩形区域,但是此种方法在二维码无畸变的情况下可以定位出二维码的位置,在二维码存在畸变的情况下,四条边的角度不同,往往相邻两边之间并不垂直,因此无法精准的定位出二维码的准确位置。本申请提出一种针对畸变二维码图形的定位方法,主要通过二次找线的方式对二维码进行精准定位。
图2,为本申请实施例中一种畸变二维码的定位方法的流程示意图。
如图2所示,本申请提供的畸变二维码的定位方法,包括:
步骤S101:获取扫描区域内的扫描图像。
其中,扫描区域内的扫描图像包括二维码图形,二维码图形包括L边和时钟边。也就是说,二维码为两条L边和两条时钟边组成的框架结构。
步骤S102:识别扫描图像中的线段,以在线段中确定二维码图形的第一L边组合。
在此步骤中,识别扫描图像中的线段,具体的识别手段可通过任意找线的方法,识别出扫描图像中的线段。并在识别的线段中找到二维码的第一L边组合。
步骤S103:根据第一L边组合确定第一待选时钟边线段。
具体地,确定第一待选时钟边线段的方法与上述步骤中确定第一L边组合的方法相同,可以理解的是,本申请中并非是单独进行找线的方法,而是在确定第一L边组合的前提下,采用与识别第一L边组合相同的找线方法确定时钟边。
步骤S104:在第一待选时钟边线段中找线搜索第一有效时钟边。
具体地,在第一待选时钟边中找到第一有效的时钟边,可以理解的是,该步骤也是对时钟边是否有效的验证过程,提高了对二维码图像的定位精度。
步骤S105:根据第一有效时钟边与第一L边组合定位二维码图形的位置。
具体地,本实施例提供的二维码定位方法,是通过找线的方式实现的,先确定第一L边组合,再根据第一L边组合通过找线的方式确定第一时钟边,从而通过第一时钟边与第一L边组合的方式实现对二维码图形的定位。其中,第一时钟边包括第一时钟边1和第一时钟边2。第一L边组合由第一L边L1和第一L边L2组成。
可以理解的是,本实施例中并未限定找线的次数,也就是说,本实施例中,如果在找线的过程中,在确定第一L边组合的前提下,并未找到第一时钟边的情况下(其中,未找到第一时钟边的情况包括三种:未找到第一时钟边1、未找到第一时钟边2、两条第一时钟边均未找到),那么继续进行找线处理,本实施例仅是介绍一种在确定第一L边组合的前提下找寻第一时钟边的方法,在实际的应用过程中,可通过不断的找线实现畸变二维码的定位过程。
以未找到第一时钟边1为例,此时已经通过找线方式找到了第一时钟边2。那么已经确定的线段包括第一时钟边2和第一L边组合,但是无法通过三条线段确定二维码的位置,那么继续进行找线处理,此次找线的目的是寻找第一时钟边1。直至两条第一时钟边全部找到,通过找到的第一时钟边和第一L边组合进行二维码的定位,从而提高了二维码的定位精度。
图3为本申请实施例中确定二维码图形中的L边组合的流程示意图。
如图3所示,确定二维码图形的第一L边组合由以下步骤S201-步骤S203实现:
步骤S201:获取任意两个具有L形状的线段组合。
步骤S202:确定两个L形状的线段组合是否存在公共线段;若是,则执行步骤S203,若否则结束。
步骤S203:选取公共线段所在的任一线段组合为二维码图形的第一L边组合。
具体地,在扫描图像的多条线段中,找到可以组成L形状的两条线段,通过两条线段可组成一个具有L形状的线段组合。获取两个具有L形状的线段组合,并进一步判断两个具有L形状的线段组合是否具有公共的线段。如果两个具有L形状的线段组合具有公共的线段,那么取其中的任意一个L形状的线段组合作为二维码图形的L边组合,以此作为初始位置,以便后续寻找二维码的时钟边位置。
其中,两个具有L形状的线段组合是否存在公共的线段的判断方法包括:两个具有L形状的线段组合中,每个L形状的线段组合中与另一个位置是相对的线段的夹角大于150°,(其中,位置相对是指理想状态下的应该平行的两条线段)同时两个相对的线段的长度差异不应过大,差异比例控制在0.2以内,例如其中一条线段的长度为1,那么另一条的长度在0.8-1.2范围内才能够判定两个具有L形状的线段组合具有公共的线段。
图4为本申请实施例中确定第一待选时钟边的方法流程示意图。
如图4所示,确定第一待选时钟边的方法由以下步骤S301-步骤S303实现:
步骤S301:根据第一L边组合构建两个第一时钟边搜索区域。
可以理解的是,第一L边组合是由两个L边组成的,分别在L边相对应的时钟边位置构建第一时钟边搜索区域,以便在第一时钟边搜索区域内确定想要的第一时钟边线段。其中,第一时钟边搜索区域为两个,两个第一时钟边搜索区域分别与两条L边的延伸方向相同。例如,两条L边分别是沿着水平和竖直方向延伸的,那么两个第一时钟边搜索区域也是沿着水平和竖直方向延伸的,并且第一L边组合的两个端点分别位于第一时钟边搜索区域内部。可见,第一时钟边搜索区域足够大,从而便于精准的对第一时钟边进行搜索。当然也可以理解为两个第一时钟边搜索区域分别与两条L边平行。
步骤S302:在第一时钟边搜索区域内获取第一目标线段。
具体地,第一目标线段是能够与第一L边组合中任意线段组成具有L形状线段组合的线段。通过与步骤S202中相同的方法,在搜索区域内找到能够与第一L边组合中任意一条线段组成L形状线段组合的线段。也可以理解为,同样搜索具有L形状的线段组合,而此时的L形状的线段组合的一条边在第一时钟边搜索区域内,而另一条是前述实施例中的第一L边组合中的一条边,找到满足这种条件的所有线段。
需要强调的是,本申请中的L形状线段组合包括不同的方向设置“L”,也就是说,本申请L形状线段组合并非严格意义上的“L”。其中,“L”开口向右侧,本申请中的指出的L形状线段组合包括不同开口方向的“L”,包括但不限于开口向右、开口向左、开口向下、向上、向右上、向右下、向左上、向左下等,均在本申请中L形状线段组合包含之内。
步骤S303:根据第一目标线段确定第一待选时钟边线段。
其中,第一待选时钟边线段为:多条第一目标线段中至少一个端点在时钟边搜索区域内,且线段长度大于长度阈值,以及与理想时钟边的方向偏差小于偏差阈值的线段。
在第一目标线段中确定第一待选时钟边线段,也就是说,在第一目标线段中确定能够作为第一待选时钟边的线段,通过找线的方式不断缩小第一待选时钟边的范围。
具体地,在第一目标线段满足一定条件的前提下才能确定为第一待选时钟边,多条第一目标线段中至少一个端点在第一时钟边搜索区域内,且线段长度大于长度阈值,以及与理想时钟边的方向偏差小于偏差阈值的线段为第一待选时钟边线段。
在一个可行的实施例中,偏差阈值的取值范围为25°-35°。例如偏差阈值为25°、30°或者35°。当偏差阈值为30°时,第一待选时钟边与理想时钟边的夹角小于30°。长度阈值可根据实际的情况进行设定。
图5为本申请实施例中构建第一时钟边搜索区域的流程示意图。
如图5所示,步骤S301通过以下步骤S401-步骤S402实现。
步骤S401:根据第一L边组合确定理想时钟边位置。
步骤S402:根据理想时钟边位置构建第一时钟边搜索区域。
以第一L边组合中的两条L边构建二维码图形中的第一时钟边搜索区域中,先确定理想的时钟边的位置,再根据理想的时钟边位置确定时第一钟边搜索区域,后续在第一时钟边搜索区域内确定想要的第一时钟边线段。其中,理想时钟边是指设置在L边对应的位置,并与第一L边组合能够组成二维码图形的线段。
图6为本申请实施例中第一L边组合的结构示意图。
参见图6,具体地,理想时钟边位于第一时钟边搜索区域的中心位置。也就是说,第一时钟边搜索区域是以理想时钟边为中心,外扩形成的区域范围。示例的,以二维码图形的边长分别为L1、L2、Clock1,Clock2为例,其中,L1和L2组成第一L边组合,Clock1,Clock2分别为理想时钟边1和理想时钟边2。L1与Clock2相互平行,并且长度相同。L2与Clock1相互平行,并且长度相同。在构建第一时钟边搜索区域的过程中,以Clock1的位置为中心位置,外扩形成第一时钟边搜索区域S1,以Clock2的位置为中心位置,外扩形成时钟边搜索区域S2。
具体地,第一时钟边搜索区域S1和第一时钟边搜索区域S2的尺寸相同,同时第一L边组合的两个端点分别位于第一时钟边搜索区域S1和第一时钟边搜索区域S2内。第一时钟边搜索区域S1中,中心位置是理想时钟边Clock1,Clock1与L2相互平行,尺寸相同。第一时钟边搜索区域S1的尺寸为理想时钟边Clock1的尺寸的1.3倍至1.5倍之间。
在一个可行的实施例中,以1.4倍为例。也就是说,第一时钟边搜索区域的高度为理想时钟边高度的1.4倍,第一时钟边搜索区域的宽度为理想时钟边宽度的1.4倍。可以理解的是,在构建第一时钟边搜索区域时,以理想时钟边为中心位置,沿水平方向分别向左、向右外扩0.2倍的第一时钟边搜索区域的长度,沿垂直方向分别向上、向下外扩0.2倍的第一时钟边搜索区域的宽度。
图7为本申请实施例中确定第一有效时钟边线段的流程示意图。
如图7所示,步骤S104中确定第一有效时钟边线段由以下步骤S501-S503实现。
步骤S501:获取第一待选时钟边线段中最长的线段。
步骤S502:计算最长的第一待选时钟边线段的端点到第一L边组合的端点的最小距离。
步骤S503:若最小距离小于第一阈值,确定最长的第一待选时钟边线段为第一有效时钟边线段。
具体地,将搜索到的第一待选时钟边线段按照长度降序排列,取最长的第一待选时钟边线段。其中,计算最长的第一待选时钟边的端点到第一L边组合的端点距离,若该距离中最小的距离小于第一阈值,则确定为第一有效时钟边线段。
值得注意的是,第一L边组合具有两个端点,第一待选时钟边线段的端点到第一L边组合的最小端点距离小于第一阈值,是指:第一待选时钟边线段的端点到第一L边组合的两个端点中的最小距离。
在一个可行的实施例中,第一阈值的取值范围为3-5个像素,例如,第一阈值为4个像素。当最长的第一待选时钟边线段满足端点到第一L边组合的端点的最小距离小于4个像素时,将此时最长的第一待选时钟边线段作为第一有效时钟边线段。
图8为本申请实施例提供的另一种畸变二维码的定位方法。
如图8所示,本申请实施例还提供一种畸变二维码的定位方法,与上述实施例不同的是,在未搜索到第一有效时钟边时,畸变二维码的定位方法还包括:
步骤S601:对扫描图像进行膨胀腐蚀处理。
本实施例提供的二维码定位方法可以理解为,在第一次找线过程中并未全部找到第一时钟边的情况下,对扫描图像处理后,继续执行找线操作。
具体地,对扫描图像进行膨胀腐蚀处理包括对二维码图像中的黑码进行腐蚀处理,对白码进行膨胀处理。
步骤S602:识别膨胀腐蚀处理后扫描图像中的线段,以在线段中确定二维码图形的第二L边组合。
步骤S603:根据第二L边组合确定第二待选时钟边线段。
步骤S604:在第二待选时钟边线段中找线搜索第二有效时钟边。
步骤S605:根据第二有效时钟边与第二L边组合定位二维码图形的位置。
具体地,步骤S602至步骤S605中的搜索第二有效时钟边的方法与前述实施例中搜索第一有效时钟边的方法相同,通过在第二L边组合确定的前提下,通过找线的方式搜索第二有效时钟边,同时,在找线的过程中,不断缩小搜索范围。
值得注意的是,第一L边组合与第二L边组合不同。第二L边组合可以理解为,在未搜索到第一有效时钟边的前提下,对扫描图像进行了膨胀腐蚀处理后,进行识别得到的不同于第一L边组合的L边组合。
图9为本申请提供的确定第二待选时钟边的流程示意图。
如图9所示,本申请实施例中还提供一种畸变二维码的定位方法,其中确定第二待选时钟边包括:
步骤S701:根据第二L边组合构建两个第二时钟边搜索区域。
步骤S702:在第二时钟边搜索区域内获取第二目标线段。
步骤S703:根据第二目标线段确定第二待选时钟边线段。
其中,第二待选时钟边线段为:第二目标线段中至少一个端点在第二时钟边搜索区域内,且与理想时钟边的夹角小于第一预设角度的线段。
其中,与前述实施例相同的是,本申请实施例中确定第二待选时钟边的过程中同样是通过构建时钟边区域的方式,并在构建的时钟边区域内进行找线操作。
具体地,构建两个第二时钟边搜索区域,其中,两个第二时钟边搜索区域分别与第二L边组合中的两条L边的延伸方向相同,且第二L边组合的端点位于第二时钟边搜索区域内。也就是说,将第二时钟边的搜索限定在第二时钟边搜索区别内,并通过不断找线的方式逐渐缩小第二待选时钟边的搜索范围。
在一些实施例中,步骤S703根据第二目标线段确定第二待选时钟边线段中,通过搜索第二目标线段满足至少一个端点在第二时钟边搜索区域内,且与理想时钟边的夹角小于第一预设角度的条件时作为第二待选时钟边线段。
可以理解的是,至少一个端点在第二时钟边搜索区域内的情况包括两种,一种为两个端点均在第二时钟边搜索区域内,此时,第二目标线段的整个线段都在第二时钟边搜索区域内。另一种为一个端点在第二时钟边搜索区域内,此时的第二目标线线段,一个端点在第二时钟边搜索区域内,另一个端点在第二时钟边线搜索区域外,此时保留位于第二时钟边区域内的部分第二目标线段作为第二待选时钟边线段。其中,位于第二时钟边区域内的部分第二目标线段理解为,第二时钟边区域的边界线将第二目标线段分割为两个部分,一部分位于第二时钟边区域内,另一部分位于第二时钟边区域外,保留位于第二时钟边区域内的线段。
在一个可行的实施例中,第一预设角度的取值范围为25°-35°。例如第一预设角度为30°,也就是说,将与理想时钟边夹角小于30°的线段作为第二待选时钟边线段。
在一些实施例中,确定第二有效时钟边的方法包括:在第二待选时钟边中找线搜索得到第二有效时钟边。在第二待选时钟边中获取长度最长的线段作为第三目标线段,若第三目标线段满足预设条件,那么第三目标线段作为第二有效时钟边。也就是说,在第二待选时钟边中获取具有满足预设条件的第三线段作为第二有效时钟边。具体地,在第二待选时钟边中选取最长的线段作为第三目标线段,同时第三目标线段应满足:如果第三目标线段有一条,或者第三目标线段的长度大于理想时钟边的第一预设倍数,那么此时的第三目标线段为第二有效时钟边。
在一个可行的实施例中,第一预设倍数的取值范围为0.4倍-0.6倍。例如,第一预设倍数为0.5倍。示例的,如果第三目标线段的长度大于理想时钟边长度的0.5倍,那么此时的第三目标线段为第二有效时钟边。
如果第二待选时钟边中最长的线段不唯一,同时最长的线段的长度不满足大于理想时钟边的第一预设倍数,那么搜索与最长的线段的共线可合并的其他线段,并进行线段的合并。
若第二待选时钟边中除第三目标线段外的其余线段中,存在与最长线段的夹角小于第二预设角度时,或其余线段中的线段存在长度大于或等于理想时钟边的第三预设倍数时,将满足上述条件的线段确定为第四目标线段,获取第五目标线段,将第四目标线段中的共线线段合并,以得到第五目标线段;将第五目标线段与第三目标线段进行合并以得到第二有效时钟边。
具体地,判断共线线段的条件为,选取两条第四目标线段,计算两条第四目标线段的连接线段与其中一条第四目标线段所夹的角度,如果角度小于或等于第三预设角度,则这两条第四目标线段为共线线段。
其中,连接线段为两条第四目标线段的四个端点之间的任意连线组成线段中的最长线段。
将共线线段的合并过程为:分别获取共线线段的起止点坐标。具体地,根据共线线段的方向,在坐标系中,取多条共线线段的起止点的极值点,即可得到最终合并后的线段即第五目标线段,线段的合并方向的判断以及合并方法与断裂线段合并方向相同。
在一个可行的实施例中,第二预设角度的取值范围为8-12°,例如第二预设角度可以为8°、10°、12°。第三预设倍数的取值范围为0.12-0.18倍,例如第三预设倍数可以为0.14倍、0.15倍、0.16倍。当第二预设角度为10°同时第三预设倍数为0.15倍时,如果存在与第三目标的夹角小于10°的线段,或者线段的长度大于0.15倍的理想时钟边时,该线段为第四目标线段。
在一个可行的实施例中,第三预设角度的取值范围为小于或等于15°,例如第三预设角度可以为10°、13°、15°。
在一个可行的实施例中,第二有效时钟边应满足与第二L边组合的交点至第二L边组合端点的距离小于第二阈值,示例的,第二阈值的取值范围为3-5个像素,例如第二有效时钟边与第二L边组合的交点距离小于4个像素,此时的距离是指交点到第二L边组合端点之间的最小距离。
本申请实施例提供的找线方法中,如果在并未找到第一有效时钟边时,对图像进行腐蚀膨胀处理,并对处理后的图像进行相同方法的找边操作,进一步确定为二维码图形的时钟边。值得注意的是,在实际的找线操作中,可能会存在多种情况,第一次找到时钟边1,进一步找线找到时钟边2,或者第一次找到时钟边2,进一步找线找到时钟边1,或者第一次并未找到任何时钟边,还包括其他情况等,均是可能存在的。那么通过本申请中重复找线的操作,在未全部找到时钟边的情况下,进一步继续找线,直到全部时钟边被找到,从而实现对二维码图形的定位。
图10为本申请一个可行的实施例中畸变二维码的定位方法。
如图10所示,畸变二维码的定位方法包括:
步骤S801:是否执行二次找线操作;若是则执行步骤S802,若否则执行步骤S803。
具体地,在畸变二维码的定位中,先确定是否执行二次找线的操作,其中二次找线的操作在前述实施例中由介绍,在确定L边组合的前提下,通过两次找线的方式确定时钟边。
步骤S802:借用同组DM码的L边搜索时钟边。
步骤S803:DM码的L边分组。
步骤S804:两个时钟边为全部搜索成功;若是则执行步骤S812;若否则执行步骤S805。
步骤S805:是否为首次二次找线操作;若是则执行步骤S806,若否则执行步骤S807。
步骤S806:形态学操作(黑码:腐蚀处理,白码:膨胀处理)。
具体地,将降分辨率后采用的图像,进行膨胀腐蚀处理。白码进行膨胀处理,黑码进行腐蚀处理。降分辨率为原图像原分辨率的1/16,采用5*5的尺寸。或者其余分辨率如原图像原分辨率的1/8、原图像原分辨率的1/4时,采用3*3尺寸进行形态学处理。对形态学处理后的图像继续找线操作。
步骤S807:时钟边1通过借用方式是否搜索成功;若是则执行步骤S810,如否则执行步骤S809。
步骤S808:执行二次找线操作。
再通过L边组合进行有效时钟边的找线过程。
步骤S809:从首次找线结果中搜索时钟边1。
步骤S810:时钟边2通过借用方式是否搜索成功;若是则执行步骤S812,若否则执行步骤S811;
步骤S811:从二次找线结果线段中搜索时钟边2。
步骤S812:将时钟边与L边组成为二维码区。
具体地,本实施例中提供的定位二维码的方法中,该找线方法中,是在找到L边组合的前提下,进一步判断是否找到时钟边1和时钟边2。步骤S808就是再次找线的过程,其中,有效时钟边包括时钟边1和时钟边2。
与前述实施例不同的是,本实施中在进行二次找线之前先对图像进行形态学处理,白码和黑码分别进行处理,从而便于后续的找线操作。同时本实施例中步骤S807和步骤S810正是对时钟边1和时钟边2的验证过程,如果验证成功,则表示为有效时钟边,那么将有效时钟边与L边组合组成以实现对畸变二维码的定位过程。
可以理解的是,通过两次找线的方式进行二维码时钟边的搜索,如步骤S808至步骤S807、步骤S809中所示,如果第二次找线中没有找到有效时钟边1,那么进行在第一次找线找到的结果中找到有效时钟边1。如步骤S808至步骤S807、步骤S810中所示,如果第二次找线中找到有效时钟边1,那么继续确定有效时钟边2是否已经找到。从而在有效时钟边1和有效时钟边2均已找到的情况下进行二维码图形的定位。
在一个可行的实施例中,在找到二维码图形之后还可对二维码图形进行验证,确定二次找线后的二维码图形是否符合DM码模式特征,若不存在两条相邻的边满足时钟边特征(原因可能为判断条件较宽,在线段中心位置做blob分析,至少有两个结果,且最大面积与第二大的面积之比不大于2,主轴方向高度小于0.7图像高度),则删除该结果。
图11为本申请实施例提供的一种畸变二维码的定位装置结构示意图。
如图11所示,本申请实施例还提供一种畸变二维码的定位装置,包括扫描模块、识别模块、确定模块、搜索模块和定位模块。其中,扫描模块:被配置为获取扫描区域内的扫描图像,扫描图像中包括二维码图形,二维码图形包括L边和时钟边;识别模块,被配置为识别扫描图像中的线段;确定模块:被配置为在线段中确定二维码图形的L边组合;确定模块还被配置为根据L边组合确定待选时钟边线段;搜索模块:被配置为在待选时钟边线段中找线搜索有效时钟边;定位模块:被配置为根据有效时钟边与L边组合定位二维码图形的位置。
具体地,在对畸变二维码进行识别的过程中,首先通过扫描模块将扫描区域内的待扫描图形进行扫描,扫描模块主要用于扫描二维码图形,以便通过识别模块识别扫描图像中的线段,从而根据这些识别出来的线段继续二维码的L边和时钟边的确定。首先通过确定模块确定二维码图形中的L边组合,并在L边组合确定的前提下再次确定时钟边线段。判断模块用于判断时钟边的搜索次数,从而实现对时钟边的二次找线操作。搜索模块根据时钟边线段找线搜索有效时钟边。最后通过定位模块根据L边组合和找到的时钟边进行组合得到二维码图形的位置,从而实现对二维码图像的定位过程。也就是说,在确定L边组合的前提下,通过二次找线的方式确定时钟边,同时在多条待选时钟边线段中搜索有效时钟边,以对时钟边有效性进行验证,在二维码存在畸变的情况下,提高了二维码的定位精度。
可以理解的是,上述的L边组合包括第一L边组合和第二L边组合,还可以包括其它L边组合,也就是说,以本申请中确定模块为例,确定模块用于确定L边组合,这里的L边组合并不限制第几次确定的L边组合。搜索模块和定位模块同理。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (10)
1.一种畸变二维码的定位方法,其特征在于,包括:
获取扫描区域内的扫描图像,所述扫描图像中包括二维码图形,所述二维码图形包括L边和时钟边;
识别所述扫描图像中的线段,以在所述线段中确定二维码图形的第一L边组合;
根据所述第一L边组合确定第一待选时钟边线段;
在所述第一待选时钟边线段中找线搜索第一有效时钟边;
根据所述第一有效时钟边与所述第一L边组合定位所述二维码图形的位置。
2.根据权利要求1所述的畸变二维码的定位方法,其特征在于,若在所述第一待选时钟边中未搜索到所述第一有效时钟边时,所述畸变二维码的定位方法还包括:
对所述扫描图像进行膨胀腐蚀处理;
识别膨胀腐蚀处理后所述扫描图像中的线段,以在所述线段中确定所述二维码图形的第二L边组合;
根据所述第二L边组合确定第二待选时钟边线段;
在所述第二待选时钟边线段中找线搜索第二有效时钟边;
根据所述第二有效时钟边与所述第二L边组合定位所述二维码图形的位置。
3.根据权利要求1所述的畸变二维码的定位方法,其特征在于,所述根据所述第一L边组合确定第一待选时钟边线段包括:
根据所述第一L边组合构建两个第一时钟边搜索区域;其中,两个所述第一时钟边搜索区域分别与所述第一L边组合中的两条L边的延伸方向相同,且所述第一L边组合的端点位于所述第一时钟边搜索区域内;
在所述第一时钟边搜索区域内获取第一目标线段,所述第一目标线段为:与所述第一L边组合中任意线段组成具有L形状线段组合的线段;
根据所述第一目标线段确定第一待选时钟边线段;所述第一待选时钟边线段为:多条所述第一目标线段中至少一个端点在所述第一时钟边搜索区域内,且线段长度大于长度阈值,以及与理想时钟边的方向偏差小于偏差阈值的线段。
4.根据权利要求3所述的畸变二维码的定位方法,其特征在于,所述在所述第一待选时钟边线段中找线搜索第一有效时钟边包括:
获取所述第一待选时钟边线段中最长的线段;
计算最长的所述第一待选时钟边线段的端点到所述第一L边组合的端点的最小距离;
若所述最小距离小于第一阈值,确定最长的所述第一待选时钟边线段为所述第一有效时钟边线段。
5.根据权利要求2所述的畸变二维码的定位方法,其特征在于,所述根据所述第二L边组合确定第二待选时钟边线段包括:
根据所述第二L边组合构建两个第二时钟边搜索区域;其中,两个所述第二时钟边搜索区域分别与所述第二L边组合中的两条L边的延伸方向相同,且所述第二L边组合的端点位于所述第二时钟边搜索区域内;
在所述第二时钟边搜索区域内获取第二目标线段,所述第二目标线段为:与所述第二L边组合中线段组成具有L形状线段组合的线段;
根据所述第二目标线段确定第二待选时钟边线段,所述第二待选时钟边线段为:所述第二目标线段中至少一个端点在所述第二时钟边搜索区域内,且与理想时钟边的夹角小于第一预设角度的线段。
6.根据权利要求5所述的畸变二维码的定位方法,其特征在于,所述根据所述第二目标线段确定第二待选时钟边线段的步骤中:若所述第二目标线段中一个端点位于所述第二时钟边搜索区域外,则保留所述第二时钟边区域内的所述第二目标线段作为第二待选时钟边线段。
7.根据权利要求2所述的畸变二维码的定位方法,其特征在于,所述在所述第二待选时钟边线段中找线搜索第二有效时钟边包括:
获取第三目标线段,所述第三目标线段为所述第二待选时钟边线段中最长的线段;
若所述第三目标线段中只有一条线段,则确定所述第三目标线段为所述第二有效时钟边;
若所述第三目标线段的长度大于理想时钟边的第一预设倍数,则确定所述第三目标线段为所述第二有效时钟边。
8.根据权利要求7所述的畸变二维码的定位方法,其特征在于,若存在多条所述第三目标线段且所述第三目标线段的长度小于或等于所述理想时钟边长度的第一预设倍数,所述在所述第二待选时钟边线段中找线搜索第二有效时钟边还包括:
获取第四目标线段,所述第四目标线段为所述第二待选时钟边线中与所述第三目标线段的夹角小于第二预设角度,或,长度大于或等于所述理想时钟边长度的第三预设倍数的线段;
获取第五目标线段,将所述第四目标线段中的共线线段合并,以得到所述第五目标线段;将所述第三目标线段与所述第五目标线段合并,以作为所述第二有效时钟边。
9.根据权利要求8所述的畸变二维码的定位方法,其特征在于,所述在所述第二待选时钟边线段中找线搜索第二有效时钟边的步骤中:
所述第二有效时钟边与所述第二L边组合的交点与所述第二L边组合的端点之间的距离小于第二阈值。
10.一种畸变二维码的定位装置,其特征在于,包括:
扫描模块:被配置为获取扫描区域内的扫描图像,所述扫描图像中包括二维码图形,所述二维码图形包括L边和时钟边;
识别模块:被配置为识别所述扫描图像中的线段;
确定模块:被配置为在所述线段中确定二维码图形的L边组合;所述确定模块还被配置为根据所述L边组合确定待选时钟边线段;
搜索模块:被配置为在所述待选时钟边线段中找线搜索有效时钟边;
定位模块:被配置为根据所述有效时钟边与所述L边组合定位所述二维码图形的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211723396.3A CN115879489A (zh) | 2022-12-30 | 2022-12-30 | 一种畸变二维码的定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211723396.3A CN115879489A (zh) | 2022-12-30 | 2022-12-30 | 一种畸变二维码的定位方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115879489A true CN115879489A (zh) | 2023-03-31 |
Family
ID=85757508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211723396.3A Pending CN115879489A (zh) | 2022-12-30 | 2022-12-30 | 一种畸变二维码的定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115879489A (zh) |
-
2022
- 2022-12-30 CN CN202211723396.3A patent/CN115879489A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7813553B2 (en) | Image region detection method, recording medium, and device therefor | |
WO1993007580A1 (fr) | Procede pour determiner la direction dans une region locale d'un segment de profil et procede pour determiner les lignes et les angles | |
US9020214B2 (en) | Striped pattern image examination support device, striped pattern image examination support method and program | |
CN111433780A (zh) | 车道线检测方法、设备、计算机可读存储介质 | |
US11281930B2 (en) | System and method for object detection | |
JP2009087087A (ja) | ナンバープレート情報処理装置及びナンバープレート情報処理方法 | |
KR102226845B1 (ko) | 지역적 이진화를 이용한 오브젝트 인식 시스템 및 그 방법 | |
CN111354038B (zh) | 锚定物检测方法及装置、电子设备及存储介质 | |
CN112560847A (zh) | 图像文本区域定位方法及装置、存储介质及电子设备 | |
JP4859061B2 (ja) | 画像の補正方法、補正プログラムおよび画像歪み補正装置 | |
JP3884468B2 (ja) | 高速画像探索方法 | |
Goto et al. | Extracting curved text lines using local linearity of the text line | |
Pan et al. | An efficient method for skew correction of license plate | |
CN115879489A (zh) | 一种畸变二维码的定位方法及装置 | |
JP4775957B2 (ja) | 顔検出装置 | |
US7027637B2 (en) | Adaptive threshold determination for ball grid array component modeling | |
CN113536822B (zh) | 二维码校正方法、装置及计算机可读存储介质 | |
CN113159031B (zh) | 一种手写文本检测方法、装置及存储介质 | |
JP3303246B2 (ja) | 画像処理装置 | |
JP3460824B2 (ja) | 形状認識方法及び装置 | |
JP2010191767A (ja) | 文字認識装置及び文字認識方法 | |
JPH01271883A (ja) | 指紋中心検出方式 | |
US20040146194A1 (en) | Image matching method, image matching apparatus, and wafer processor | |
CN110097065B (zh) | 一种基于FreeMan链码的直线检测方法及终端 | |
JPH11219435A (ja) | 自動車用白線検出装置 |
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 |