CN110309687A - 一种二维码图像的校正方法及校正装置 - Google Patents
一种二维码图像的校正方法及校正装置 Download PDFInfo
- Publication number
- CN110309687A CN110309687A CN201910602805.6A CN201910602805A CN110309687A CN 110309687 A CN110309687 A CN 110309687A CN 201910602805 A CN201910602805 A CN 201910602805A CN 110309687 A CN110309687 A CN 110309687A
- Authority
- CN
- China
- Prior art keywords
- code
- image
- boundary
- group
- vertex position
- 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
Links
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/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1452—Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种二维码图像的校正方法及校正装置,该校正方法包括对待校正二维码图像进行处理,得到待校正二维码图像的边界轮廓;采用第一算法对边界轮廓进行处理,得到第一组顶点位置,采用第二算法对边界轮廓进行处理,得到第二组顶点位置;将第一组顶点位置与第二组顶点位置中的同类顶点位置进行调和,得到目标顶点位置;基于目标顶点位置对待校正二维码图像进行校正,得到目标二维码图像。本发明通过两种算法可以提高顶点位置确定的准确性,最后再根据目标顶点位置进行校正,可以校正二维码图像的形变,以便于对二维码进行识别。
Description
技术领域
本发明属于二维码识别技术领域,更具体地,涉及一种二维码图像的校正方法及校正装置。
背景技术
二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形,以记录数据符号信息;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理。二维码具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时,还具有对不同行的信息自动识别功能及处理图形旋转变化等特点。
常用的二维码码制有:PDF417,Data Matrix,QR Code,Code 49,Code16K,Codeone等。其具有信息容量大、编码范围广、容错能力强、译码可靠性高、成本低、保密性高和防伪性好等特点。在信息获取、网站跳转、广告推送、手机电商、防伪溯源、优惠促销、会员管理和手机支付等领域发挥着重要的作用。
不过,在打印二维码过程中,由于设备精度等原因,会引起二维码边缘模糊以及不同程度的形变,较难实现定位与识别,导致识别时间过长,甚至无法识别,影响二维码的使用。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种二维码图像的校正方法及校正装置,其目的在于通过两种不同的算法得到二维码图像的两组顶点位置,并将两组顶点位置中的同类顶点进行调和,得到目标顶点位置,从而确定二维码图像的边界点,通过两种算法可以提高顶点位置确定的准确性,最后再根据目标顶点位置进行校正,可以校正二维码图像的形变,以便于对二维码进行识别。
为实现上述目的,按照本发明的一个方面,提供了二维码图像的校正方法,所述校正方法包括:
对待校正二维码图像进行处理,得到所述待校正二维码图像的边界轮廓;
采用第一算法对所述边界轮廓进行处理,得到第一组顶点位置,采用第二算法对所述边界轮廓进行处理,得到第二组顶点位置;
将所述第一组顶点位置与所述第二组顶点位置中的同类顶点位置进行调和,得到目标顶点位置;
基于所述目标顶点位置对所述待校正二维码图像进行校正,得到目标二维码图像。
优选地,所述采用第一算法对所述边界轮廓进行处理,得到第一组顶点位置,采用第二算法对所述边界轮廓进行处理,得到第二组顶点位置之后,还包括:
获取所述第一组顶点位置和所述第二组顶点位置之间的相似度;
当所述第一组顶点位置与所述第二组顶点位置的相似度不小于预设的相似度阈值时,执行将所述第一组顶点位置与所述第二组顶点位置中的同类顶点位置进行调和,得到目标顶点位置的步骤。
优选地,所述第一组顶点位置中包括四个顶点位置,所述第二组顶点位置中包括四个顶点位置,获取所述第一组顶点位置和所述第二组顶点位置之间的相似度包括:
分别获取所述第一组顶点位置所形成的第一四边形和所述第二组顶点所形成的第二四边形;
分别获取所述第一四边形和所述第二四边形所形成的交区域的面积,以及所述第一四边形和所述第二四边形所形成的并区域的面积;
计算所述交区域的面积与所述并区域的面积的交并比,通过所述交并比标记所述第一组顶点位置和所述第二组顶点位置之间的相似度。
优选地,所述第一算法为LSD线段检测算法,所述第一组顶点位置包括四个顶点位置,所述采用第一算法对所述边界轮廓进行处理,得到第一组顶点位置包括:
采用所述LSD线段检测算法对所述边界轮廓进行处理,得到多条边界线;
判断所述边界线的数目是否大于四条,若所述边界线的数目大于四条,则将多条边界线中最长的边界线标记为目标边界线;
依次遍历剩余边界线的长度,选取最长的一条作为待验证边界线,计算待验证边界线的中点与目标边界线的中点之间的距离是否小于预设的距离阈值;
若不小于,则标记所述待验证边界线为目标边界线,若小于,则剔除待验证边界线,直至筛选出四条目标边界线;
获取四条目标边界线的交点,得到四个顶点位置,从而得到第一组顶点位置。
优选地,所述第二算法为霍夫变换,所述第二组顶点位置包括四个顶点位置,所述采用第二算法对所述边界轮廓进行处理,得到第二组顶点位置包括:
对所述边界轮廓进行霍夫变换,得到边界线段簇;
对边界线段簇进行斜率和截距二分聚类,得到上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇;
分别对上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇进行直线拟合,得到四条目标边界线;
获取四条目标边界线的交点,得到四个顶点位置,从而得到第二组顶点位置。
优选地,所述目标顶点的数目为四个,基于所述目标顶点位置对所述待校正二维码图像进行校正,得到目标二维码图像包括:
在所述待校正二维码图像上确定所述目标顶点位置,以确定所述待校正二维码图像的边界点;
对所述待校正二维码图像进行透视变换,校正所述待校正二维码图像的形变,得到目标二维码图像。
优选地,所述校正方法还包括:
采用第三算法对所述目标二维码图像进行边缘检测得到第一边缘轮廓图,采用第四算法对所述目标二维码图像进行边缘检测得到第二边缘轮廓图;
将所述第一边缘轮廓图和所述第二边缘轮廓图进行融合,得到目标边缘轮廓图;
通过所述目标边缘轮廓图对所述目标二维码图像进行锐化,以增强所述目标二维码图像的边缘。
优选地,所述第三算法为Canny边缘检测算法,所述第四算法为Sobel边缘检测算法;
将所述第一边缘轮廓图和所述第二边缘轮廓图进行融合,得到目标边缘轮廓图包括:
将所述第一边缘轮廓图和所述第二边缘轮廓图按照预设的比例进行像素叠加,得到目标边缘轮廓。
优选地,所述对待校正二维码图像进行处理,得到所述待校正二维码图像的边界轮廓包括:
对待校正二维码图像进行二值化处理;
对经过二值化处理的待校正二维码图像进行形态学腐蚀,得到所述待校正二维码图像的边界轮廓。
按照本发明的另一方面,提供了一种校正装置,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行本发明所述的校正方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明提供一种二维码图像的校正方法及校正装置,该校正方法包括对待校正二维码图像进行处理,得到待校正二维码图像的边界轮廓;采用第一算法对边界轮廓进行处理,得到第一组顶点位置,采用第二算法对边界轮廓进行处理,得到第二组顶点位置;将第一组顶点位置与第二组顶点位置中的同类顶点位置进行调和,得到目标顶点位置;基于目标顶点位置对待校正二维码图像进行校正,得到目标二维码图像。本发明通过两种不同的算法得到二维码图像的两组顶点位置,并将两组顶点位置中的同类顶点进行调和,得到目标顶点位置,从而确定二维码图像的边界点,通过两种算法可以提高顶点位置确定的准确性,最后再根据目标顶点位置进行校正,可以校正二维码图像的形变,以便于对二维码进行识别。
进一步地,通过多算子边缘检测获取二维码图像的边缘轮廓图像,以对二维码图像进行锐化,增强二维码图像的边缘轮廓,可以消除二维码边缘模糊的影响,得到背景干净、条码清晰以及对比度强的二维码图像,可以有效提高后续识别的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种二维码图像的校正方法的流程示意图;
图2是本发明实施例提供的一种待校正二维码图像的边界轮廓的示意图;
图3是本发明实施例提供的一种边界线段簇转换为边界线的示意图;
图4是本发明实施例提供的两个四边形之间的交区域和并区域的结构示意图;
图5是本发明实施例提供的图4中的两个四边形的并区域的结构示意图;
图6是本发明实施例提供的图4中的两个四边形的交区域的结构示意图;
图7是本发明实施例提供的一种第一组顶点位置和第二组顶点位置相互调和得到的目标顶点位置的结构示意图;
图8是本发明实施例提供的校正后的二维码图像的示意图;
图9是本发明实施例提供的图1中的步骤102的实现方式之一的流程示意图;
图10是本发明实施例提供的一种边界线段簇的分布示意图;
图11是本发明实施例提供的另一种二维码图像的校正方法的流程示意图;
图12是本发明实施例提供的第一边缘轮廓图的示意图;
图13是本发明实施例提供的第二边缘轮廓图的示意图;
图14是本发明实施例提供的一种校正装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
在实际应用场景下,由于打印设备精度原因或者拍照角度原因,经常会出现获取到的二维码图像发生形变,影响后续的二维码识别。为了解决前述问题,本实施例提供一种二维码图像的校正方法,可以对发生形变的二维码图像进行校正,将二维码图像转换为形状标准的图像,以便于后续的二维码识别。
参阅图1,本实施例的二维码图像的校正方法包括如下步骤:
在步骤101中,对待校正二维码图像进行处理,得到所述待校正二维码图像的边界轮廓。
其中,待校正二维码图像主要是具有形变或畸变的二维码图像,二维码的形变可能是由于打印设备引起的,导致二维码图像引起形变或畸变,二维码的形变也有可能是用户在使用智能设备拍照或扫描二维码时,拍摄角度倾斜引起的。
其中,待校正二维码图像的码制有:PDF417、Data Matrix、QR Code、Code 49、Code16K或Code one等。
其中,在获取待校正二维码图像的边界轮廓之前,先对待校正二维码图像进行灰度处理和二值化处理,然后再采用形态学腐蚀处理分割出边界轮廓。
如图2所示,位于左侧的图为待校正二维码图像,位于右侧的图为待校正二维码图像的边界轮廓。
在步骤102中,采用第一算法对所述边界轮廓进行处理,得到第一组顶点位置,采用第二算法对所述边界轮廓进行处理,得到第二组顶点位置。
在本实施例中,如图3所示,采用两种不同的算法对边界轮廓进行处理,得到边界线段簇(图3位于左侧的图),在根据边界线段簇得到目标边界线(图3位于右侧的图),根据目标边界线之间的交点,分别得到第一组顶点位置和第二组顶点位置,其中,每一组顶点位置均包括多个顶点的位置坐标,顶点可以理解为二维码图像的边界点,通过顶点可以确定二维码图像的形状以及区域大小。
在实际应用场景下,二维码图像一般呈四边形,在可选的实施例中,每一组顶点位置均包括四个顶点的位置坐标,其中,围成四边形的四条边界线之间的交点即为二维码图像的顶点(边界点)。
在可选的方案中,所述第一算法为LSD(Line Segment Detector,简写为LSD)直线检测,第二种算法为霍夫变换。在其他方案中,第一算法和第二算法的具体类型也可以为其他算法,在此,不做具体限定。
在步骤103中,将所述第一组顶点位置与所述第二组顶点位置中的同类顶点位置进行调和,得到目标顶点位置。
其中,同类顶点位置指的是在第一组顶点位置与所述第二组顶点位置中,距离最近的两个顶点。
其中,顶点位置可以依据预设坐标系下的坐标而确定。
在可选的实施例中,在预设的坐标系下,根据同类顶点的横纵坐标进行调和平均,得到目标顶点坐标。
在步骤104中,基于所述目标顶点位置对所述待校正二维码图像进行校正,得到目标二维码图像。
在本实施例中,在所述待校正二维码图像上确定所述目标顶点位置,以确定所述待校正二维码图像的边界点;然后,对所述待校正二维码图像进行透视变换,校正所述待校正二维码图像的形变,得到目标二维码图像。
本发明通过两种不同的算法得到二维码图像的两组顶点位置,并将两组顶点位置中的同类顶点进行调和,得到目标顶点位置,从而确定二维码图像的边界点,通过两种算法可以提高顶点位置确定的准确性,最后再根据目标顶点位置进行校正,可以校正二维码图像的形变,以便于对二维码进行识别。
在实际应用场景下,虽然第一算法和第二算法获取顶点位置的具体方法不同,但是对于同一个待校正二维码图像,不论哪种算法针对同一个顶点,获得的顶点位置相差不会很大,否则有可能是顶点位置的识别与标定出错而引起的。为了避免由于算法本身的问题导致顶点位置识别出错,提高准确率,在优选的实施例中,需要对第一组顶点位置和第二组顶点位置进行相似度匹配,在满足相似度条件下,再执行后续步骤。
本实施例提供了另一种二维码图像的校正方法,在步骤102之后,还包括获取所述第一组顶点位置和所述第二组顶点位置之间的相似度,当所述第一组顶点位置与所述第二组顶点位置的相似度不小于预设的相似度阈值时,再执行步骤103。
在可选的实施例中,可以采用交并比的方式获取所述第一组顶点位置和所述第二组顶点位置之间的相似度。
具体地,第一组顶点位置中包括四个顶点位置,所述第二组顶点位置中包括四个顶点位置,获取所述第一组顶点位置和所述第二组顶点位置之间的相似度包括:分别获取所述第一组顶点位置所形成的第一四边形和所述第二组顶点所形成的第二四边形;分别获取所述第一四边形和所述第二四边形所形成的交区域的面积,以及所述第一四边形和所述第二四边形所形成的并区域的面积;计算所述交区域的面积与所述并区域的面积的交并比,通过所述交并比标记所述第一组顶点位置和所述第二组顶点位置之间的相似度。
其中,预设的相似度阈值为交并比可以为0.8,即,当所述第一四边形的面积S1和所述第二四边形的面积S2的交并比不小于0.8时,所述第一组顶点位置和所述第二组顶点位置满足相似度条件。当然,预设的相似度阈值还可以为其他数值,在此,不做具体限定。
其中,交并比IOU按照如下公式进行计算:IOU=(S1∩S2)/(S1∪S2)。
在实际应用场景下,交并比IOU的计算过程如下:(1)根据第一组顶点位置和第二组顶点位置中的顶点坐标,分别求取第一四边形和第二四边形的边界线,并确定第一四边形的边界线和第二四边形的边界线之间的交叉点;(2)分别确定第一四边形和第二四边形的内点和外点,其中,内点定义为一个四边形的在另一个四边形内的边界点(顶点),外点定义为一个四边形在另一个四边形外的边界点(顶点);(3)依次连接内点和交叉点构成交区域,依次连接外点和交叉点构成并区域;(4)将交区域和并区域根据边界点(顶点)划分为多个三角形,求解三角形面积和;(5)交区域的面积比上并区域的面积即得交并比。
其中,可以采用海伦公式求取三角形面积和,海伦公式如下:
其中,a,b,c为三角形的边长,
下面结合图4~图6,进行举例说明,在此,需要说明的是,为了清楚地说明本实施的实现方案,附图中所展示的两个四边形进行了形变以及位置差异的夸大处理,在实际应用场景下,采用两种不同的算法所得到的四边形之间的位置差异是很小的。
假设进行相似度判别的两个四边形分别为ABCD和A′B′C′D′,二者相交于点E、F。其中,E、F称为交叉点,B、D′为内点,A′、B′、C′、C、D、A称为外点。
将交叉点和外点依次连接,得到多边形A′B′C′FCDAE(如图5所示),称为并区域。以某点(可以为E)为固定点,其余点依次取按顺时针(或逆时针)连续的两点分别与E构成三角形,通过海伦公式求解三角形面积进一步求解并区域面积。
将交叉点和内点依次连接,得到四边形EBFD′(如图6所示),称为交区域。以某点(可以为E)为固定点,其余点依次取按顺时针(或逆时针)连续的两点分别与E构成三角形,通过海伦公式求解三角形面积进一步求解交区域面积。
在程序执行过程中,需要按照严格的算法执行“依次连接”,才能正确获取交区域和并区域。下面具体说明,算法实现过程:
对于第一多边形和第二多边形,二者的边界线之间的交点为交叉点,第一多边形包括多个顶点,位于第二多边形外部的为第一多边形的外点,位于第二多边形内部的为第一多边形的内点;第二多边形包括多个顶点,位于第一多边形外部的为第二多边形的外点,位于第一多边形内部的为第二多边形的内点。
交区域的判定过程:以第一多边形的任意点为起点,按照预设的方向记录第一多边形的内点和交叉点对应的第一点序,其中,预设的方向为顺时针或者逆时针;以第二多边形的任意点为起点,按照预设的方向记录第二多边形的内点和交叉点对应的第二点序,其中,预设的方向为顺时针或者逆时针。对第一点序和第二点序进行预设的综合处理,得到交区域上点的连接顺序,从而得到交区域。具体地,在第一点序中确定交叉点点序,在第二点序中确定交叉点序中的内点点序,将内点点序***到第一点序中的交叉点序之间,得到交区域上点的连接顺序。
并区域的判定过程:以第一多边形的任意点为起点,按照预设的方向记录第一多边形的外点和交叉点对应的第三点序,其中,预设的方向为顺时针或者逆时针;以第二多边形的任意点为起点,按照预设的方向记录第二多边形的外点和交叉点对应的第四点序,其中,预设的方向为顺时针或者逆时针。对第三点序和第四点序进行预设的综合处理,得到并区域上点的连接顺序,从而得到并区域。具体地,在第三点序中确定交叉点点序,在第四点序中确定交叉点序中的外点点序,将外点点序***到第三点序中的交叉点序之间,得到并区域上点的连接顺序。
下面结合图4,具体说明在进行相似度判别时,如何获取交区域和并区域。在此,需要说明的是,在本实施例中,是以四边形进行举例说明的,在实际应用场景下,前述算法过程适用于任意多边形。
如图4所示,假设进行相似度判别的两个四边形分别为第一四边形ABCD和第二四边形A′B′C′D′,二者相交于点E、F。其中,E、F称为交叉点,B为第一四边形的内点,D′为第二四边形的内点,A′、B′、C′为第二四边形的外点,C、D、A为第一四边形的外点。
交区域判定:以第一四边形ABCD上任意点为起点,顺时针记录其上的内点和交叉点点序,可为EBF(第一点序);以第二四边形A′B′C′D′上任意点为起点,顺时针记录其上的内点和交叉点点序,可为FD′E(第二点序)。综合第一点序和第二点序,得到交区域上点的连接顺序为EBFD′。具体地,在第一点序中,EF为交叉点点序,在第二点序中,D′为交叉点点序之间的内点点序,按照交叉点点序循环的方式(EFEF……),将D′***到第一点序的交叉点点序FE之间,得到EBFD′。在此,需要说明的是,交叉点点序EF和交叉点点序FE实质上为同一个交叉点点序,保证能够按照EFEF……方式循环即可。
并区域判定:以第一四边形ABCD上任意点为起点,顺时针记录其上的外点和交叉点点序,可为AEFCD(第三点序);
以第二四边形A′B′C′D′上任意点为起点,顺时针记录其上的外点和交叉点点序,可为A′B′C′FE(第四点序)。综合第三点序和第四点序,得到并区域上点的连接顺序为AEA′B′C′FCD。具体地,在第三点序中,EF为交叉点点序,在第四点序中,A′B′C′为交叉点点序之间的外点点序,按照交叉点点序循环的方式(EFEF……),将A′B′C′***到第一点序的交叉点点序EF之间,得到AEA′B′C′FCD。前述以交叉点为两个进行举例说明的,在具体应用场景中,交叉点的数目可能会多于两个,依次取连续两个交叉点(注意,是循环点序)按照上述进行处理即可,在此,不再赘述。
本实施例的方法可以很好地通过程序实现,以便于计算机理解依次连接的意思,从而保证能够准确判定交区域和并区域,完成相似度判断。
在通过相似度判定后,则对同类的两个点的调和平均数作为最终的边界点,同类的两个点定义为位于邻近方位的点,亦即最近的两个点;如果不通过,校正失败。其中数a和数b的调和平均数c定义为:
如图7所示,为实际情况下通过两种算法得到的四边形的位置情况,A、B、C、D为其中一个四边形的边界点(顶点),A′、B′、C′、D′为另一个四边形的边界点(顶点)。其中,A与A′、B与B′、C与C′、D与D′称为同类点,根据同类点的横纵坐标取加权平均,得到新的四边形的四个边界点,即为图中a、b、c、d,其中,a、b、c、d即为目标顶点。
如图8所示,为基于目标顶点位置对待校正二维码图像进行校正后的二维码图像,即,在步骤104中,得到的目标二维码图像。
在步骤101中,对待校正二维码图像进行处理,得到所述待校正二维码图像的边界轮廓具体包括:对待校正二维码图像进行灰度处理后,对待校正二维码图像进行二值化处理。然后,对待校正二维码图像进行多次形态学腐蚀运算,得到待校正二维码图像的边界轮廓。
在可选的方案中,依次对待校正二维码图像进行n次形态学腐蚀运算,再与第n+1次形态学腐蚀运算后的图像作差,得到待校正二维码图像的边界轮廓,其中,n可以为5或者其他数值。在本实施例中通过形态学腐蚀运算,增加图像的黑色区域面积并减少图像白色区域面积,可以有效提取待校正二维码图像的边界轮廓。
其中,形态学腐蚀的具体方法为:首先设置方形的结构元素S(可为5×5),利用结构元素S对二维码图像X进行腐蚀,若结构元素移动x后包含于图像前景X0,则令其仍属于图像前景X0,否则属于图像背景X1,其中图像前景X0指白色区域部分,图像背景X1指黑色区域部分。运算式如下:
其中,x为结构元素移动的向量距离,x的定义域为前景图像X0上的所有点到原点的距离向量。
在可选的方案中,可以采用最大类间方差法(Otsu)进行二值化,并将二维码图像X划分为图像前景X0和图像背景X1。具体地,记二维码图像为M·N大小,二维码图像中灰度值小于阈值T的像素个数记作N0(前景像素,形成图像前景X0),像素灰度值大于阈值T的像素个数记作N1(背景像素,形成图像背景X1)。则有:N0+N1=M·N。
另记前景像素所占图像比例为w0,平均灰度为u0;背景像素所占图像比例为w1,平均灰度为u1。图像的平均灰度为u,类间方差为g,则有:
w0=N0/(M·N) w1=N1/(M·N) w0+w1=1
u=w0·u0+w1·u1 g=w0·(u0-u)2+w1·(u1-u)2
得到等价公式:g=w0·w1·(u0-u1)2,采用遍历的方法得到使类间方差最大的阈值T,即为所求二值化阈值。
在本实施例中,背景和前景之间的类间方差越大,说明构成图像的2部分的差别越大,错分概率越小。
进一步,根据获取到的二值化阈值对待校正二维码图像进行二值化处理,并将待校正二维码图像X划分为图像前景X0和图像背景X1。
在可选的实施例中,所述第一算法为LSD线段检测算法,所述第一组顶点位置包括四个顶点位置,所述采用第一算法对所述边界轮廓进行处理,获得四条边界线,求取四条边界线的交点,得到四个顶点坐标,从而得到第一组顶点位置。
下面具体说明,对边界轮廓进行LSD线段检测的过程,主要包括将边界轮廓中的短直线检测出来,然后将相连的短直线拼合,得到边界线。本实施例的LSD线段检测基于传统的检测方法进行了改进,具体包括如下步骤:
(1)对边界轮廓进行多次形态学细化,具体方法为:设置方形结构元素S(可为3×3),利用结构元素S对边界轮廓X进行多次细化操作,运算式为:其中,X*S为击中击不中变换,解释如下:设XC是边界轮廓X的补集,结构元素S是由两个互不相交的部分S1和S2组成,即S=S1∪S2且S1∩S2=Φ(Φ代表空集)。则击中击不中变换定义为X*S=(XΘS1)∩(XCΘS2),Θ为形态学腐蚀运算。
(2)断裂边界轮廓中的线段连接点。对边界轮廓进行边缘细化后,边缘像素的8个连接区域中的邻居数量应该在以下情况中,则定义:具有两个邻居的像素是线段的中间点;具有一个邻居的像素是线段的端点;具有两个以上邻居的像素是连接线段的连接点。将具有连接点的线段在连接点处进行断裂,得到独立的边界线段。
(3)设定高斯核尺度s(可为0.8)对边界轮廓进行高斯下采样,计算每一个点的梯度值及梯度方向。根据梯度值对所有点进行伪排序,建立状态列表,首先预设所有点为UNUSED状态(表示未被处理),然后将梯度值小于特定值ρ的点的状态设置为USED状态(表示已处理),更新状态列表,其中,特定值ρ与角度容忍度有关,ρ=2/sin(t)。为了保证所有梯度值均经过下述步骤(4)中的判定得出是否是边界线段上的点,其中,小于ρ直接设定为USED是由于梯度值过小不可能为边界线段,不需要经过判定。
(4)取出状态列表中梯度最大的点作为种子点,状态设为USED。以种子点为起点搜索周围角度承受范围[-t,t]内的点,将满足角度承受范围的点的状态改为USED,并生成包含所有点的矩形R。判断矩形R的内点密度是否大于阈值D,其中,阈值D可为0.2或其他数据;若点密度不大于阈值D,则截断矩形R,生成多个矩形,直至矩形内的点密度大于阈值D。
(5)计算矩形R的NFA(Number of False Alarms),若小于阈值ε,则将矩形R加入输出列表;否则改变矩形R,直至NFA小于阈值ε,其中,阈值ε可为1或者其他数据。NFA计算公式如下:
NFA=N·PhO[k(r,I)≥k(r,i)]
其中,N为当前大小为m·n边界轮廓图像中线段数量,为(m·n)2.5。k(r,I)为预先建立的模型对比图(contrario model),I中矩形R里同性点(alignedpt)的数量。k(r,i)为观测图像(observe image),即矩形R,i中矩形R里aligned pt的数量。
(6)根据长度阈值将所有的矩形R分为两类,一类是长矩形,若长宽比大于阈值γ(其中,阈值γ可以为10),则将对应的矩形加入直接候选矩形;若长宽比小于阈值γ,则沿长边中点进行切断后加入矩形R集合中,进行再次判定。另一类是短矩形,可以将其作为候选矩形、曲线一部分或短线段,并将长度小于阈值d短线段删除,其中,阈值d可以为10或者其他数值。
(7)通过最小二乘法拟合短矩形中的点,若短矩形中的点与拟合直线的平均距离小于阈值μ(其中,阈值μ可为0.5),则视为候选矩形。否则,将短矩形删除。
(8)直线合并阶段,对任意两候选矩形I、J合并,进行最小二乘拟合,并计算估计方差,其中,估计方差的公式如下:
其中,xi为两候选矩形中的点,L为拟合的直线方程,N为两候选矩形的总点数。
若属于同一条直线,则估计方差应小于方差阈值,否则,拒绝将两候选矩形中的点拟合为一条直线。
其中,拒绝区域(方差阈值)如下:
其中,ni和nj分别是两个候选矩形I、J中的点个数,μ可以取值为-2,σ0 2为1。
(9)对候选矩形中的点进行最小二乘法拟合,得到最终的直线簇。最小二乘法拟合目标为残差最小,残差计算公式为:
其中,a,b为待求直线的斜率和截距,xi与yi为点坐标。最终解得:
按照前述步骤(1)~(9)可以得到待校正二维码图像对应的边界线段簇。
在本实施例中,其中,步骤(1)、步骤(2)、步骤(6)、步骤(7)、步骤(8)、步骤(9)是针对LSD线段检测算法的改进,步骤(1)消除了过粗的边界轮廓在直线检测时被认定为多条直线,以致边界判定模糊的情况;步骤(2)将不规则的线段断裂,保证后续直线检测的结果更大程度上符合要求;步骤(6)有优选矩形的作用,删除其中的短矩形,断裂其中的折线和曲线;步骤(7)将矩形中不需要的曲线删除,保证直线检测结果的正确性;步骤(8)、(9)的直线合并操作,极大程度上降低了边界线的数量,使得求解顶点位置具有可实施性。
在实际应用场景下,理论上,边界线段簇内有且仅有四条边界线,但是,同时可能会存在多出四条的情况,在此情况下,需要对边界线段簇进行筛选,得到四条边界线,然后根据四条边界线,得到第一组顶点位置。
在可选的实施例中,参阅图9,步骤102优化方案如下:
在步骤1021中,采用所述LSD线段检测算法对所述边界轮廓进行处理,得到多条边界线。
其中,多条边界线形成前述的边界线段簇。
在步骤1022中,判断所述边界线的数目是否大于四条,若所述边界线的数目大于四条,则将多条边界线中最长的边界线标记为目标边界线。
为了清楚说明本步骤,参阅图10,边界线段簇中包含8条边界线,并按照边界线的长短情况对每条边界线进行降序排序,其中,最长的边界线的序号为1,最短的边界线的序号为8。
在本实施例中,首先将边界线1标记为目标边界线。
在步骤1023中,依次遍历剩余边界线的长度,选取最长的一条作为待验证边界线,计算待验证边界线的中点与目标边界线的中点之间的距离是否小于预设的距离阈值。
在步骤1024中,若不小于,则标记所述待验证边界线为目标边界线,若小于,则剔除待验证边界线,直至筛选出四条目标边界线。
其中,需要进行多次遍历筛选出其他目标边界线。
第一次遍历:遍历剩余边界线(边界线2~边界线8)的长度,选取边界线2作为待验证边界线,计算待验证边界线(边界线2)的中点与目标边界线(边界线1)的中点之间的距离是否小于预设的距离阈值。若不小于,则标记所述待验证边界线为目标边界线,若小于,则剔除待验证边界线。其中,预设的距离阈值与二维码大小相关,假设,二维码大小为m·n,预设的距离阈值可为0.5·(m·n)0.5。
其中,边界线2的中点与目标边界线(边界线1)的中点之间的距离不小于预设的距离阈值,则将边界线2标记为目标边界线。
第二次遍历:遍历剩余边界线(边界线3~边界线8)的长度,选取边界线3作为待验证边界线,计算待验证边界线(边界线3)的中点与目标边界线(边界线1和边界线2)的中点之间的距离是否小于预设的距离阈值。若不小于,则标记所述待验证边界线为目标边界线,若小于,则剔除待验证边界线。
其中,边界线3的中点与目标边界线(边界线2)的中点之间的距离小于预设的距离阈值,则剔除边界线3,其中,待验证边界线的中点与所有的目标边界线的中点之间的距离不小于预设的距离阈值时,才将对应的待验证边界线标记为目标边界线,否则,剔除对应待验证边界线。
第三次遍历:遍历剩余边界线(边界线4~边界线8)的长度,选取边界线4作为待验证边界线,计算待验证边界线(边界线4)的中点与目标边界线(边界线1和边界线2)的中点之间的距离是否小于预设的距离阈值。若不小于,则标记所述待验证边界线为目标边界线,若小于,则剔除待验证边界线。
其中,边界线4的中点与目标边界线(边界线1和边界线2)的中点之间的距离均不小于预设的距离阈值,则将边界线4标记为目标边界线。
依次类推,直至筛选出四条目标边界线。
在步骤1025中,获取四条目标边界线的交点,得到四个顶点位置,从而得到第一组顶点位置。
在本实施例中,根据边界线中点的距离进行筛选,可以有效剔除彼此之间相隔比较近的边界线,有效得出最接近二维码边界轮廓的边界线,提高了检测的准确性。
在具体应用场景下,所述第二算法为霍夫变换,所述第二组顶点位置包括四个顶点位置,所述采用第二算法对所述边界轮廓进行处理,得到第二组顶点位置包括:对所述边界轮廓进行霍夫变换,得到边界线段簇;对边界线段簇进行斜率和截距二分聚类,得到上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇;分别对上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇进行直线拟合,得到四条目标边界线;获取四条目标边界线的交点,得到四个顶点位置,从而得到第二组顶点位置。
在本实施例中,可以采用RANSAC算法对上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇进行处理,得到四条边界线。
首先简要说明一下霍夫变换思路为:读取一幅待处理的二值图像;获取二值图像空间的源像素数据;通过量化极坐标系参数空间为有限个值间隔等分或累加格子,即ρ、theta,其中,ρ、theta为参数空间(极坐标系)上参量,分别代表长度和角度。
通过霍夫变换算法,将每个像素坐标点P(x,y)被转换到(ρ,theta)的曲线点上面,并累加到对应的格子数据点;寻找最大霍夫值,设置阈值(其中,如果二维码大小为m·n,阈值可在0.1·(m·n)0.5~0.2·(m·n)0.5之间取值),反变换到图像空间,以得到四条边界线。
在本实施例中,对所述边界轮廓进行霍夫变换,得到边界线段簇,然后对边界线段簇进行斜率和截距二分聚类,得到上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇。具体地,先按照斜率将上边界线段簇和下边界线段簇与左边界线段簇和右边界线段簇分开,再按照截距将上边界线段簇与下边界直线簇区分开,以及将左边界线段簇与右边界线段簇区分开。
在进行聚类之前,先K-means异常点检测,具体步骤如下:
(1)初始异常数据集M为全体点集,其中异常数据集M中包含全部的斜率和截距所形成的点集;
(2)任意选择k个对象(其中k为2个)作为初始的簇中心,将每个对象赋给最类似的簇;
(3)计算簇中对象的平均值,并计算簇的平均半径;
(4)求取候选异常对象集N,其中,候选异常对象集N指的是距中心对象距离大于平均半径的对象,以及只有一个对象的簇;
(5)求与前次异常数据集的交集M=M∩N,作为新的异常数据集;
(6)重复以上步骤直到异常数据集收敛或达到最大迭代次数,得到样本。
然后,选取K-medoids聚类算法进行聚类,以再次避免异常值对边界线确定算法的影响。K-mediods聚类算法为:
(1)选取样本最大值和最小值作为初始mediods(中心点集);
(2)按照与初始mediods就近的原则,将剩余的n-2个点分配到当前最佳的mediods代表的类中;
(3)如果某个类的数目为1,则从删除此类,并从另一个类中选取最大值和最小值作为mediods;
(4)对类中除mediods点之外的所有其他点,按顺序计算当其为新的mediods时准则函数的值,遍历所有可能,选取准则函数最小时对应的点作为新的mediods;其中,准则函数为:当前mediods中所有其他点到该中心点的距离之和最小;
(5)重复(2)~(4)过程,直到所有的mediods不再发生变化或已达到设定的最大迭代次数。
在本实施例中,对原始K-mediods聚类算法,其中,在步骤(1)中,区别于原始K-mediods聚类算法中的任意取值,本实施例将最大值和最小值作为初始mediods,可以加快聚类效率;区别于原始K-mediods聚类算法,增加了步骤(3),可以防止异常点的影响。
通过前述的K-means异常点检测和K-medoids聚类算法对斜率和截距进行处理后,得到上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇,然后,采用RANSAC算法分别对各个边界线段簇进行处理,得到四个边界线。
具体地,采用RANSAC算法通过反复选择数据中的一组随机子集来达成目标,被选取的子集被假设为局内点,并用下述方法进行验证:
(1)对原始数据集进行K-means++聚类,分为两类数据点;
(2)在两类中分别选取一个点用来估计直线模型,该模型确定且唯一;
(3)用(2)得到的模型去测试其他所有的数据,如果某个点到该直线模型的距离小于阈值L,其中,阈值L可为10个(或者其他数目)像素点的距离,则认为它也是局内点;
(4)如果该模型局内点个数超过阈值N,其中,阈值N可以为80%,则认为该模型合理,然后用所有局内点最小二乘法拟合最终的直线;
(5)如果局内点个数小于阈值N但大于上个模型局内点个数,则保留该模型,否则舍弃;
(6)重复(2)~(5)直到达到最大迭代次数。
在本实施例中,对原始的RANSAC算法进行改进,区别于原始的RANSAC算法,对步骤(1)和步骤(4)进行改进,可以提高算法效率。
在可选的实施例中,K-means++聚类算法过程如下:
(1)从原始数据集中随机选取一个样本点作为初始聚类中心c1;
(2)对于原始数据集中的每一个样本点xi,计算它与当前已有聚类中心之间的最短距离,用D(x)表示;
(3)选择一个新的样本作为新的聚类中心,选择的原则是:D(x)较大的点被选取作为聚类中心的概率较大;将D(x)反应到点被选择的概率上,方法为:首先把数据集中每个点与其距离最近的聚类中心点之间的距离相加,其和用sum(D(x))表示;在0-sum(D(x))之间取一个随机值Random,然后Random=Random-D(x),直到Random≤0,此时的点就是下一个聚类中心;
(4)重复(2)~(3)直到选出k个聚类中心;
(5)针对数据集中的每个样本xi,计算它到k个聚类中心的欧氏距离,并将其分到距离最小的聚类中心所对应的簇中;
(6)针对每个簇,更新聚类中心,更新函数用F(x)表示;用Ci表示簇中数据点集合,用|Ci|表示簇中数据点的个数,则更新函数F(x)为:
(7)重复(5)~(6)直到聚类中心不再变化,误差平方和准则函数收敛E(x);目标是最小化均方误差E,准则函数E(x)为:
初始数据集表示为:X={x1,x2,...,xn},簇的数目为k。
在实际应用场景下,可以按照如下方式进行取交点,从而得到第一组顶点位置和第二组顶点位置。在本实施例中,对按照如下公式对四条目标边界线进行处理,从而求取交点,例如,直线L1:y=ax+b,直线L2:y=cx+d,交点坐标为:
在可选的方案中,在步骤104中,基于所述目标顶点位置对所述待校正二维码图像进行校正,得到目标二维码图像具体包括:在所述待校正二维码图像上确定所述目标顶点位置,以确定所述待校正二维码图像的边界点;对所述待校正二维码图像进行透视变换,校正所述待校正二维码图像的形变,得到目标二维码图像。
其中,透视变换是将图像从原始二维空间转换到三维空间,再从三维空间转换到另一个新二维空间的映射变换。其中,原始二维空间到三维空间映射的公式如下:
其中三维空间到新二维空间的映射公式为:
x=x′/w′y=y′/w′
此处,原始二维空间对应原始图像,新二维空间对应新图像。其中,(u,v)是原始图像上的点,对应得到变换后的新图像点坐标(x,y)。重写之前的变换公式,得到:
根据前述透视变换,校正所述待校正二维码图像的形变,得到目标二维码图像。
区别于现有技术,本发明通过两种不同的算法得到二维码图像的两组顶点位置,并将两组顶点位置中的同类顶点进行调和,得到目标顶点位置,从而确定二维码图像的边界点,通过两种算法可以提高顶点位置确定的准确性,最后再根据目标顶点位置进行校正,可以校正二维码图像的形变,以便于对二维码进行识别。
实施例2:
前述实施例1主要说明了对存在形变的二维码图像进行校正的过程,在实际应用场景下,二维码图像的边缘会存在模糊的情况,导致无法快速准确地识别二维码图像,为解决前述问题,本实施例基于实施例1进行了进一步地改进,通过多算子边缘检测获取二维码图像的边缘轮廓图像,以对二维码图像进行锐化,增强二维码图像的边缘轮廓,可以消除二维码边缘模糊的影响,得到背景干净、条码清晰以及对比度强的二维码图像,可以有效提高后续识别的准确性。
参阅图11,本实施例提供另一种二维码图像的校正方法,该校正方法还包括如下步骤:
在此,需要说明的是,当二维码图像存在形变和边缘模糊问题时,按照实施例1的步骤101~步骤104对图像进行校正后,得到目标二维码图像,再按照本实施例的方法对目标二维码图像进行边缘锐化,消除边缘模糊的问题。当二维码图像不存在形变,但二维码图像的边缘模糊,可以直接采用本实施例的方法对目标二维码图像进行边缘锐化,消除边缘模糊的问题。即,本实施例的校正方法适用于不同的应用场景。
在步骤105中,采用第三算法对所述目标二维码图像进行边缘检测得到第一边缘轮廓图,采用第四算法对所述目标二维码图像进行边缘检测得到第二边缘轮廓图。
其中,所述第三算法为Canny边缘检测算法,所述第四算法为Sobel边缘检测算法。第三算法和第四算法还可以为其他算法。
在本实施例中,是采用两种算法进行多算子融合,在实际应用场景下,进行多算子融合时,算法的数量和种类可以多于2个或者更多个,在此不做具体限定,按照前述方式分别采用不同的算法进行边缘检测,然后将每个算法对应的边缘轮廓图按照下面的步骤进行融合,得到目标边缘轮廓图。
在实际应用场景下,在进行边缘检测前,对目标二维码图像进行中值滤波和基于各向异性的细节保持算法进行平滑去噪后进行多算子边缘检测。
在步骤106中,将所述第一边缘轮廓图和所述第二边缘轮廓图进行融合,得到目标边缘轮廓图。
在本实施例中,将所述第一边缘轮廓图和所述第二边缘轮廓图按照预设的比例进行像素叠加,得到目标边缘轮廓。
其中,预设的比例为1:1或者其他比例,在此,不做具体限定。
在步骤107中,通过所述目标边缘轮廓图对所述目标二维码图像进行锐化,以增强所述目标二维码图像的边缘。
在可选的方案中,中值滤波的原理是:把数字图像中的一个点的值用该点周围的一个区域的各个点的中值代替。以3×3窗口为例:
g(x,y)=median(f(x-1,y-1),f(x,y-1),f(x+1,y-1),f(x-1,y),
f(x,y),f(x+1,y),f(x-1,y+1),f(x,y+1),f(x+1,y+1))
其中,f(x,y)为点(x,y)像素值,g(x,y)为中值滤波后的像素值,median为取中值函数。
在可选的方案中,基于各向异性的细节保持算法具体为:在传统PM各向异性扩散模型中,可以通过使用四个最近邻居和拉普拉斯算子来离散的表示,其中用▽Ii t(x,y)代表四个方向的梯度,ci t(x,y)代表与之相关的扩散系数,It(x,y)是处理前像素点值,It+1(x,y)是处理后的像素点值:
函数g(▽I)必须是一个单调递减函数,满足g(0)=1,g(∞)=0,可表示为(其中K为常数):
g(▽I)=1/[1+(|▽I|/K)2]
在实际应用场景下,K太大,则扩散过程会过渡平滑并导致图像模糊;K太小,则扩散过程将在早期迭代过程中停止平滑并产生与原始图像类似的恢复图像。因此,考虑一种各向异性的扩散模型,并将梯度和方差作为两个局部特征。以3×3的区域为例,其灰度方差:
由于灰度比梯度变化范围大,需将方差归一化以使二者相互兼容:
则扩散系数函数修正为:
在可选的方案中,对图像进行多算子融合边缘检测实质上为:将通过Canny边缘检测算法得到的第一边缘轮廓图和通过Sobel边缘检测算法得到的第二边缘轮廓图进行融合叠加,得到目标边缘轮廓图,其中,叠加比例可以为0.5叠加比例还可以取其他数值,依据实际情况进行设置即可。
下面具体说明Canny边缘检测算法的处理过程。
首先,简要说明Canny边缘检测算法的传统步骤:
(1)高斯滤波平滑图像
Canny边缘检测算法使用二维高斯函数导数来处理原始图像,其中(x,y)为图像点坐标。其中,二维高斯函数如下:
梯度向量为:
(2)计算梯度的幅度和方向
沿x和y方向的偏导数分别是来自图像I(x,y)的Px(i,j)和Py(i,j)。将直角坐标转换为极坐标,将像素的Px(i,j)和Py(i,j)转换为梯度幅度M(i,j)和梯度方向θ(i,j)。M(i,j)代表任意点的边强度,θ(i,j)代表任意点的法向量。
其中Px和Py定义如下:
(3)对梯度幅度进行非极大值抑制
以3×3邻域点为研究对象,发现邻域点梯度方向在扇形0°、45°、90°、135°梯度方向上。如果该值大于相邻点,则该点可能是边缘点,可以再次保留以供判断。否则,该点不是边缘点,值设置为0。
(4)使用双阈值检测和连接边缘
将点(i,j)的值与阈值进行比较,如果点梯度幅度大于高阈值Th时,可确定为边缘点。如果Tl≤M(i,j)≤Th,则等待进一步判断,如果点梯度幅度小于低阈值Tl,可确定不是边缘点。
进一步判断中,首先使用高阈值得到一个边缘图像,但是该边缘图像由于采用的是高阈值,所以存在不连续的情况比较多。这个时候在高阈值边缘图像中所有的边缘线端点的8邻域处寻找可以连接的到轮廓上的边缘,当满足Tl≤M(i,j)时连接。
由于传统Canny边缘检测算法容易产生检测伪边缘和细节丢失的问题,在优选的实施例中,对传统的Canny边缘检测算法进行改进,如下:
改进后的Canny边缘检测算法使用多模板卷积原始图像f(x,y),其中,原始图像指的是前述经过平滑去噪处理后的二维码图像。当模板影响到点时,根据梯度的大小进行计算,加权值不断变化,高斯函数G(x,y,σ)卷积f(x,y)得到平滑图像。
当像素值发生显著变化时,滤波器权重可以设置为0,避免像素变化的平滑化,提高了计算效率。改进的自适应滤波算法的特点是当权重系数满足无显著变化的区域时自动调整权重系数。
其中,k为迭代次数,I(k)(x,y)为图像像素值,I(k)(x,y)的导数为I′(k)(x,y),Φ(I′(k)(x,y))为单调递减函数,最大值为Φ(0)=1,当I′(k)(x,y)不断增加时,Φ(I′(k)(x,y))减小到0。I′(k)(x,y)可以检测出灰度变化是否有突变,w(k)(x,y)可以描述为:
其中,h为常数,I′(k)(x,y)定义为:
权重系数:
其中,
在实际应用场景下,发明人发现经过5次迭代,边缘锐化效果最佳。
在本实施例中,采用改进后的Canny边缘检测算法得到第一边缘轮廓图。
下面具体说明Sobel边缘检测算法的处理过程。
首先,传统的Sobel边缘检测算法如下:
位置(i,j)处的图像f(x,y)的梯度定义为:
梯度向量的大小为:
在经典Sobel算子中,横纵方向模板和图像f(x,y)进行卷积以近似梯度值,可以通过以下公式求解:
Gx=f(i+1,j-1)+2f(i+1,j)+f(i+1,j+1)-f(i-1,j-1)-2f(i-1,j)-f(i-1,j+1)
Gy=f(i-1,j+1)+2f(i,j+1)+f(i+1,j+1)-f(i-1,j-1)-2f(i,j-1)-f(i-1,j-1)
传统的Sobel边缘检测算法处理过程为:①水平和垂直双向模板分别沿着图像从左到右,从上到下,从一个像素移动到另一个像素,模板的中心点对应于图像中的对应像素;②将模板中的每个位置的权重转换为其对应的图像像素值,并依此计算出梯度值;③将模板中心点对应的图像像素值替换为梯度向量的值,表示为px;④设置合适的阈值T(可为150),如果px≥T,则确定为图像边缘的像素点。
由于传统的Sobel算子对其他方向边缘不敏感、对复杂纹理和倾斜图像轮廓提取不理想、抗噪能力低,在优选的实施例中,对传统Sobel算子作以下改进:
(1)使用形态学中的开放操作和闭合操作交替平滑图像;
(2)使用拓展的Sobel算子进行边缘检测;
(3)使用边缘二进制Otsu算法选择合适的阈值进行二值化。
其中,形态学操作定义如下,其中F(x,y)为灰度图像,(x,y)是图像点坐标,S(m,n)是形态结构元素(大小可为3×3),(m,n)是结构元素点坐标:
膨胀:
腐蚀:FΘS=min{F(x+m,y+n)}
开放:
闭合:
其中,改进后的Sobel边缘检测算法相较传统Sobel边缘检测算法增加了六个方向,分别为45°、135°、180°、225°、270°、315°,可以得到较准确的边缘图像。
在本实施例中,通过Sobel边缘检测算法得到第二边缘轮廓图。
在本实施中,将所述第一边缘轮廓图和所述第二边缘轮廓图进行融合,得到目标边缘轮廓图;通过所述目标边缘轮廓图对所述目标二维码图像进行锐化,以增强所述目标二维码图像的边缘。
结合图12和图13,其中,图12中位于右侧的图为经过Canny算子得到的第一边缘轮廓图。可以看出,在第一边缘轮廓图中,包含了很细致的轮廓,但是容易把噪声误判为边界。图13中位于右侧的图为经过Sobel算子得到的第二边缘轮廓图。可以看出,对噪声处理的效果较好,但是对边缘定位不是很准确。在本实施例中,将所述第一边缘轮廓图和所述第二边缘轮廓图进行融合,得到目标边缘轮廓图,既可以保证细致的轮廓,边缘定位准确,还具有较好的噪声处理能力,能够有效对二维码图像进行锐化。
在实际应用场景下,对锐化后的目标二维码图像进一步进行自适应阈值二值化,然后再将处理后的二维码图像送入识别组件,进行二维码的识别。
在可选的方案中,自适应阈值二值化算法介绍如下:
算法的基本思想是遍历图像,计算一个移动的平均值,如果这个像素明显低于这个平均值,则设置为黑色,否则设置为白色。假设Pn为图像中位于点n处的像素,fs(n)是点n处最后s个像素的总和:
最后,图像T(n)是1(黑色)或0(白色)则依赖于其是否比其前s个像素的平均值的百分之t的暗。其中,s取图像的1/8宽而t取值15能取得比较好的效果。
平均值的计算还可以采用关于点n对称的两侧,甚至可以用二维平滑值代替一维平滑值。假设Pi0,j0为图像中位于点(i0,j0)处的像素,fs(i0,j0)是以点(i0,j0)为中心,周围(s+1)·(s+1)个像素值的和:
计算图像指定矩形区域内像素值的和可采用图像积分图,假设ii(x,y)表示该点左上角像素之和,表示如下:
则以点(x0,y0)和点(x,y)表示的矩形区域内像素值的和表示为:
S=ii(x,y)+ii(x0,y0)-ii(x,y0)-ii(x0,y)
为了使图像像素过渡相对平滑,遍历图像采用Z形遍历。为了使阈值计算考虑垂直方向上的信息,遍历时保留前一行的平均效果,然后把当前行的平均值和上一行的平均值再取平均作为新的平均值。
区别于现有技术,通过多算子边缘检测获取二维码图像的边缘轮廓图像,以对二维码图像进行锐化,增强二维码图像的边缘轮廓,可以消除二维码边缘模糊的影响,得到背景干净、条码清晰以及对比度强的二维码图像,可以有效提高后续识别的准确性。
实施例3:
在实际应用场景下,可能存在由于算法本身的问题导致顶点位置识别出错,即上述实施例1中,第一组顶点位置和第二组顶点位置之间的相似度小于预设的阈值,为了避免校正出错或者校正时间过长,此时,可以采用其中一种算法得到的顶点位置作为目标顶点位置,以进行图像校正。
在实际应用场景下,虽然LSD线段检测算法的检测速度较快,但是,当待校正二维码图像较模糊时,容易出现识别率低的问题。结合实施例1,当第一组顶点位置和第二组顶点位置之间的相似度小于预设的相似度阈值时,获取待校正二维码图像的单位面积内的像素总数,其中,单位面积内的像素总数可以反映待校正二维码图像的清晰度,在所述待校正二维码图像的单位面积内的像素总数大于预设的数量阈值时,即,待校正二维码图像较清晰时,可以采用第一组顶点位置(通过LSD线段检测算法而获得)作为目标顶点位置,确定所述待校正二维码图像的边界点,从而避免校正出错或者校正时间过长。
在所述待校正二维码图像的单位面积内的像素总数不大于预设的数量阈值时,即待校正二维码图像较模糊时,可以采用第二组顶点位置作为目标顶点位置(通过霍夫变换而获得),确定所述待校正二维码图像的边界点,从而避免校正出错或者校正时间过长。
在可选的方案中,可以通过单位面积图像所占用的内存空间确定单位面积内的像素总数,即,获取待校正二维码图像的单位面积内的像素总数具体包括:预先建立单位面积图像所占用的内存空间与单位面积内的像素总数之间的映射关系,获取待校正二维码图像的单位面积图像所占用的内存空间,基于前述映射关系,计算待校正二维码图像的单位面积内的像素总数。
在本实施例中,为了避免由于算法导致的校正出错问题,提供了多种可选的执行支路,优选地,采用两种算法融合的方式确定目标顶点位置,以提高准确性;在两种算法确定的顶点位置之间存在较大差异时,根据待校正二维码图像的单位面积内的像素总数,选择性选择LSD线段检测算法或霍夫变换,确定的顶点位置,避免校正出错或通知用户再次采集图像,提高用户的用户体验。
关于二维码图像的校正方法的其他过程详见实施例1和实施例2,在此,不再赘述。
实施例4:
请参阅图14,图14是本发明实施例提供的一种校正装置的结构示意图。本实施例的校正装置包括一个或多个处理器41以及存储器42。其中,图14中以一个处理器41为例。
处理器41和存储器42可以通过总线或者其他方式连接,图14中以通过总线连接为例。
存储器42作为一种基于二维码图像的校正方法的非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1和/或实施例2中的二维码图像的校正方法以及对应的程序指令。处理器41通过运行存储在存储器42中的非易失性软件程序、指令以及模块,从而执行二维码图像的校正方法的各种功能应用以及数据处理,实现实施例1和/或实施例2的二维码图像的校正方法的功能。
其中,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器42可选包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至处理器41。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
关于二维码图像的校正方法请实施例1和实施例2的相关的文字描述在此,不再赘述。
值得说明的是,上述装置和***内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(Read Only Memory,简写为ROM)、随机存取存储器(Random AccessMemory,简写为RAM)、磁盘或光盘等。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种二维码图像的校正方法,其特征在于,所述校正方法包括:
对待校正二维码图像进行处理,得到所述待校正二维码图像的边界轮廓;
采用第一算法对所述边界轮廓进行处理,得到第一组顶点位置,采用第二算法对所述边界轮廓进行处理,得到第二组顶点位置;
将所述第一组顶点位置与所述第二组顶点位置中的同类顶点位置进行调和,得到目标顶点位置;
基于所述目标顶点位置对所述待校正二维码图像进行校正,得到目标二维码图像。
2.根据权利要求1所述的校正方法,其特征在于,所述采用第一算法对所述边界轮廓进行处理,得到第一组顶点位置,采用第二算法对所述边界轮廓进行处理,得到第二组顶点位置之后,还包括:
获取所述第一组顶点位置和所述第二组顶点位置之间的相似度;
当所述第一组顶点位置与所述第二组顶点位置的相似度不小于预设的相似度阈值时,执行将所述第一组顶点位置与所述第二组顶点位置中的同类顶点位置进行调和,得到目标顶点位置的步骤。
3.根据权利要求2所述的校正方法,其特征在于,所述第一组顶点位置中包括四个顶点位置,所述第二组顶点位置中包括四个顶点位置,获取所述第一组顶点位置和所述第二组顶点位置之间的相似度包括:
分别获取所述第一组顶点位置所形成的第一四边形和所述第二组顶点所形成的第二四边形;
分别获取所述第一四边形和所述第二四边形所形成的交区域的面积,以及所述第一四边形和所述第二四边形所形成的并区域的面积;
计算所述交区域的面积与所述并区域的面积的交并比,通过所述交并比标记所述第一组顶点位置和所述第二组顶点位置之间的相似度。
4.根据权利要求1所述的校正方法,其特征在于,所述第一算法为LSD线段检测算法,所述第一组顶点位置包括四个顶点位置,所述采用第一算法对所述边界轮廓进行处理,得到第一组顶点位置包括:
采用所述LSD线段检测算法对所述边界轮廓进行处理,得到多条边界线;
判断所述边界线的数目是否大于四条,若所述边界线的数目大于四条,则将多条边界线中最长的边界线标记为目标边界线;
依次遍历剩余边界线的长度,选取最长的一条作为待验证边界线,计算待验证边界线的中点与目标边界线的中点之间的距离是否小于预设的距离阈值;
若不小于,则标记所述待验证边界线为目标边界线,若小于,则剔除待验证边界线,直至筛选出四条目标边界线;
获取四条目标边界线的交点,得到四个顶点位置,从而得到第一组顶点位置。
5.根据权利要求1所述的校正方法,其特征在于,所述第二算法为霍夫变换,所述第二组顶点位置包括四个顶点位置,所述采用第二算法对所述边界轮廓进行处理,得到第二组顶点位置包括:
对所述边界轮廓进行霍夫变换,得到边界线段簇;
对边界线段簇进行斜率和截距二分聚类,得到上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇;
分别对上边界线段簇、下边界线段簇、左边界线段簇和右边界线段簇进行直线拟合,得到四条目标边界线;
获取四条目标边界线的交点,得到四个顶点位置,从而得到第二组顶点位置。
6.根据权利要求1所述的校正方法,其特征在于,所述目标顶点的数目为四个,基于所述目标顶点位置对所述待校正二维码图像进行校正,得到目标二维码图像包括:
在所述待校正二维码图像上确定所述目标顶点位置,以确定所述待校正二维码图像的边界点;
对所述待校正二维码图像进行透视变换,校正所述待校正二维码图像的形变,得到目标二维码图像。
7.根据权利要求1~6任一项所述的校正方法,其特征在于,所述校正方法还包括:
采用第三算法对所述目标二维码图像进行边缘检测得到第一边缘轮廓图,采用第四算法对所述目标二维码图像进行边缘检测得到第二边缘轮廓图;
将所述第一边缘轮廓图和所述第二边缘轮廓图进行融合,得到目标边缘轮廓图;
通过所述目标边缘轮廓图对所述目标二维码图像进行锐化,以增强所述目标二维码图像的边缘。
8.根据权利要求7所述的校正方法,其特征在于,所述第三算法为Canny边缘检测算法,所述第四算法为Sobel边缘检测算法;
将所述第一边缘轮廓图和所述第二边缘轮廓图进行融合,得到目标边缘轮廓图包括:
将所述第一边缘轮廓图和所述第二边缘轮廓图按照预设的比例进行像素叠加,得到目标边缘轮廓。
9.根据权利要求1~6任一项所述的校正方法,其特征在于,所述对待校正二维码图像进行处理,得到所述待校正二维码图像的边界轮廓包括:
对待校正二维码图像进行二值化处理;
对经过二值化处理的待校正二维码图像进行形态学腐蚀,得到所述待校正二维码图像的边界轮廓。
10.一种校正装置,其特征在于,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行如权利要求1~9任一项所述的校正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910602805.6A CN110309687B (zh) | 2019-07-05 | 2019-07-05 | 一种二维码图像的校正方法及校正装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910602805.6A CN110309687B (zh) | 2019-07-05 | 2019-07-05 | 一种二维码图像的校正方法及校正装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309687A true CN110309687A (zh) | 2019-10-08 |
CN110309687B CN110309687B (zh) | 2020-06-05 |
Family
ID=68079002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910602805.6A Active CN110309687B (zh) | 2019-07-05 | 2019-07-05 | 一种二维码图像的校正方法及校正装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309687B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807783A (zh) * | 2019-10-28 | 2020-02-18 | 衢州学院 | 一种面向无彩色长视频的高效视场区域分割方法及装置 |
CN111311497A (zh) * | 2020-02-12 | 2020-06-19 | 广东工业大学 | 一种条形码图像角度校正方法和装置 |
CN111310508A (zh) * | 2020-02-14 | 2020-06-19 | 北京化工大学 | 一种二维码识别方法 |
CN111337011A (zh) * | 2019-12-10 | 2020-06-26 | 亿嘉和科技股份有限公司 | 一种基于激光和二维码融合的室内定位方法 |
CN111563930A (zh) * | 2020-04-29 | 2020-08-21 | 达闼科技成都有限公司 | 定位方法、装置、介质、电子设备及辅助定位模块 |
CN112651259A (zh) * | 2020-12-29 | 2021-04-13 | 芜湖哈特机器人产业技术研究院有限公司 | 二维码的定位方法、基于二维码的移动机器人定位方法 |
CN112766012A (zh) * | 2021-02-05 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 二维码图像的识别方法、装置、电子设备及存储介质 |
CN113034415A (zh) * | 2021-03-23 | 2021-06-25 | 哈尔滨市科佳通用机电股份有限公司 | 一种铁路机车小部件图像扩增的方法 |
CN113111674A (zh) * | 2021-04-12 | 2021-07-13 | 广东奥普特科技股份有限公司 | Aztec码定位与解码方法、***、设备及存储介质 |
CN113128246A (zh) * | 2021-03-25 | 2021-07-16 | 维沃移动通信有限公司 | 信息处理方法、装置和电子设备 |
CN113158704A (zh) * | 2021-04-07 | 2021-07-23 | 福州符号信息科技有限公司 | 一种快速定位Dotcode码的方法及其*** |
CN113240768A (zh) * | 2019-12-18 | 2021-08-10 | 北京城市网邻信息技术有限公司 | 户型图处理方法、***、装置和计算机可读存储介质 |
CN113536822A (zh) * | 2021-07-28 | 2021-10-22 | 中移(杭州)信息技术有限公司 | 二维码校正方法、装置及计算机可读存储介质 |
CN116030120A (zh) * | 2022-09-09 | 2023-04-28 | 北京市计算中心有限公司 | 一种识别并校正六边形的方法 |
CN116385742A (zh) * | 2023-03-20 | 2023-07-04 | 北京兆讯恒达技术有限公司 | 一种低质量条码图像信号提取方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999772A (zh) * | 2012-11-14 | 2013-03-27 | 韩偲铭 | 一种新型矩阵式二维码的编解码方法 |
CN103745221A (zh) * | 2014-01-08 | 2014-04-23 | 杭州晟元芯片技术有限公司 | 一种二维码图像矫正方法 |
CN104424457A (zh) * | 2013-08-20 | 2015-03-18 | 复旦大学 | 一种非线性扭曲情况下的二维码识别方法 |
CN106156684A (zh) * | 2016-06-30 | 2016-11-23 | 南京理工大学 | 一种二维码识别方法及装置 |
CN107944324A (zh) * | 2017-11-16 | 2018-04-20 | 凌云光技术集团有限责任公司 | 一种二维码畸变校正方法及装置 |
US20180137322A1 (en) * | 2015-07-27 | 2018-05-17 | Fujian Landi Commercial Equipment Co., Ltd. | Block decoding method and system for two-dimensional code |
CN108564557A (zh) * | 2018-05-31 | 2018-09-21 | 京东方科技集团股份有限公司 | 图像校正方法及装置 |
-
2019
- 2019-07-05 CN CN201910602805.6A patent/CN110309687B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999772A (zh) * | 2012-11-14 | 2013-03-27 | 韩偲铭 | 一种新型矩阵式二维码的编解码方法 |
CN104424457A (zh) * | 2013-08-20 | 2015-03-18 | 复旦大学 | 一种非线性扭曲情况下的二维码识别方法 |
CN103745221A (zh) * | 2014-01-08 | 2014-04-23 | 杭州晟元芯片技术有限公司 | 一种二维码图像矫正方法 |
US20180137322A1 (en) * | 2015-07-27 | 2018-05-17 | Fujian Landi Commercial Equipment Co., Ltd. | Block decoding method and system for two-dimensional code |
CN106156684A (zh) * | 2016-06-30 | 2016-11-23 | 南京理工大学 | 一种二维码识别方法及装置 |
CN107944324A (zh) * | 2017-11-16 | 2018-04-20 | 凌云光技术集团有限责任公司 | 一种二维码畸变校正方法及装置 |
CN108564557A (zh) * | 2018-05-31 | 2018-09-21 | 京东方科技集团股份有限公司 | 图像校正方法及装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807783A (zh) * | 2019-10-28 | 2020-02-18 | 衢州学院 | 一种面向无彩色长视频的高效视场区域分割方法及装置 |
CN110807783B (zh) * | 2019-10-28 | 2023-07-18 | 衢州学院 | 一种面向无彩色长视频的高效视场区域分割方法及装置 |
CN111337011A (zh) * | 2019-12-10 | 2020-06-26 | 亿嘉和科技股份有限公司 | 一种基于激光和二维码融合的室内定位方法 |
CN113240768B (zh) * | 2019-12-18 | 2022-03-15 | 北京城市网邻信息技术有限公司 | 户型图处理方法、***、装置和计算机可读存储介质 |
CN113240768A (zh) * | 2019-12-18 | 2021-08-10 | 北京城市网邻信息技术有限公司 | 户型图处理方法、***、装置和计算机可读存储介质 |
CN111311497A (zh) * | 2020-02-12 | 2020-06-19 | 广东工业大学 | 一种条形码图像角度校正方法和装置 |
CN111311497B (zh) * | 2020-02-12 | 2023-05-05 | 广东工业大学 | 一种条形码图像角度校正方法和装置 |
CN111310508B (zh) * | 2020-02-14 | 2021-08-10 | 北京化工大学 | 一种二维码识别方法 |
CN111310508A (zh) * | 2020-02-14 | 2020-06-19 | 北京化工大学 | 一种二维码识别方法 |
CN111563930A (zh) * | 2020-04-29 | 2020-08-21 | 达闼科技成都有限公司 | 定位方法、装置、介质、电子设备及辅助定位模块 |
CN111563930B (zh) * | 2020-04-29 | 2023-07-07 | 达闼机器人股份有限公司 | 定位方法、装置、介质、电子设备及辅助定位模块 |
CN112651259A (zh) * | 2020-12-29 | 2021-04-13 | 芜湖哈特机器人产业技术研究院有限公司 | 二维码的定位方法、基于二维码的移动机器人定位方法 |
CN112766012A (zh) * | 2021-02-05 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 二维码图像的识别方法、装置、电子设备及存储介质 |
CN113034415A (zh) * | 2021-03-23 | 2021-06-25 | 哈尔滨市科佳通用机电股份有限公司 | 一种铁路机车小部件图像扩增的方法 |
CN113128246A (zh) * | 2021-03-25 | 2021-07-16 | 维沃移动通信有限公司 | 信息处理方法、装置和电子设备 |
CN113158704A (zh) * | 2021-04-07 | 2021-07-23 | 福州符号信息科技有限公司 | 一种快速定位Dotcode码的方法及其*** |
CN113158704B (zh) * | 2021-04-07 | 2023-06-09 | 福州符号信息科技有限公司 | 一种快速定位Dotcode码的方法及其*** |
CN113111674A (zh) * | 2021-04-12 | 2021-07-13 | 广东奥普特科技股份有限公司 | Aztec码定位与解码方法、***、设备及存储介质 |
CN113536822A (zh) * | 2021-07-28 | 2021-10-22 | 中移(杭州)信息技术有限公司 | 二维码校正方法、装置及计算机可读存储介质 |
CN113536822B (zh) * | 2021-07-28 | 2024-05-03 | 中移(杭州)信息技术有限公司 | 二维码校正方法、装置及计算机可读存储介质 |
CN116030120A (zh) * | 2022-09-09 | 2023-04-28 | 北京市计算中心有限公司 | 一种识别并校正六边形的方法 |
CN116030120B (zh) * | 2022-09-09 | 2023-11-24 | 北京市计算中心有限公司 | 一种识别并校正六边形的方法 |
CN116385742A (zh) * | 2023-03-20 | 2023-07-04 | 北京兆讯恒达技术有限公司 | 一种低质量条码图像信号提取方法和装置 |
CN116385742B (zh) * | 2023-03-20 | 2024-04-12 | 北京兆讯恒达技术有限公司 | 一种低质量条码图像信号提取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110309687B (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309687A (zh) | 一种二维码图像的校正方法及校正装置 | |
CN101599124B (zh) | 一种从视频图像中分割字符的方法和装置 | |
CN109670500A (zh) | 一种文字区域获取方法、装置、存储介质及终端设备 | |
CN110119741A (zh) | 一种有背景的卡证图像信息识别方法 | |
CN109948393B (zh) | 一种一维条码的定位方法及装置 | |
CN114529459B (zh) | 一种对图像边缘进行增强处理的方法和***及介质 | |
CN102354363A (zh) | 高反光柱面金属上的二维条码图像识别方法 | |
CN105719306B (zh) | 一种高分辨率遥感影像中的建筑物快速提取方法 | |
CN109949227A (zh) | 图像拼接方法、***及电子设备 | |
CN104781835B (zh) | 二维码 | |
CN105844277B (zh) | 标签识别方法和装置 | |
CN108573184A (zh) | 一种二维码识别方法、模块及计算机可读存储介质 | |
CN113128554B (zh) | 一种基于模板匹配的目标定位方法、***、装置及介质 | |
CN107609510A (zh) | 一种岸桥下集卡定位方法及设备 | |
CN111915628A (zh) | 一种基于预测目标密集边界点的单阶段实例分割方法 | |
CN113158895A (zh) | 票据识别方法、装置、电子设备及存储介质 | |
CN113033558A (zh) | 一种用于自然场景的文本检测方法及装置、存储介质 | |
CN115082888A (zh) | 一种车道线检测方法和装置 | |
CN113643274B (zh) | 一种二维码候选区筛选的方法及装置 | |
WO2022021687A1 (zh) | 快速响应码区域定位方法、电子设备及存储介质 | |
CN114724154A (zh) | 表格识别方法及装置、存储介质及电子设备 | |
CN114387592A (zh) | 一种复杂背景下字符定位和识别方法 | |
CN110210467A (zh) | 一种文本图像的公式定位方法、图像处理装置、存储介质 | |
CN112686248B (zh) | 证件增减类别检测方法、装置、可读存储介质和终端 | |
CN112699704B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |