一种Maxicode条码的快速定位方法和系统技术方案

技术编号:18399337 阅读:55 留言:0更新日期:2018-07-08 19:44
一种Maxicode条码的快速定位方法和系统,该方法先通过隔多行取一条水平扫描线,然后在扫描线上计算边缘,接着找出可能属于牛眼的十二个边缘,从十二个边缘中找出牛眼中心的大概位置,然后再以此位置出发沿竖直方向分别向上的向下扫描,找出竖直方向的十二个边缘,进而确定牛眼中心的位置;对找出的多个牛眼进行分类和合并等操作,剔除不正确的牛眼,最终找出正确的牛眼。该方法能正确快速的寻找到条码中心,减少运行时间。

【技术实现步骤摘要】
一种Maxicode条码的快速定位方法和系统
本专利技术涉及条码识读
,具体是Maxicode条码的快速定位方法和系统。
技术介绍
条形码(简称条码)可分为一维条码和二维条码,一维条码是由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息。二维条码是用特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的矩形方阵记录数据符号信息的新一代条码技术。在日常生活和工业应用中,条码的使用越来越广泛,诸如:零售行业、物流行业、金融行业对条码的使用需求越来越大。条码技术的发展非常迅速,条码技术的发展对相应的条码扫描设备提出了更高的要求。目前常用条码中有一种叫做Maxicode的条码,是美国知名的UPS(UnitedParcelService)快递公司认知到利用机器辨读资讯可有效改善作业效率、提高服务品质而1980年代晚期研发的条码。Maxicode具有复杂而坚固的错误纠正能力,以确保符号中的资讯是正确的,就算条码受到部份损毁,内部储存的资讯仍可完整读出,最大优点在於其解码速度相当快。现有技术中Maxicode定位方法有模版匹配法和等间隔边缘寻找法。模版匹配法用用方波构建一个一维定长模板,长度为k。取图像的一行,求模板与该行开始的k个象素值的互相关值,然后依次移动模板,记录互相关值并与预先定义好的阈值比较,如大于阈值,则记录模板中心的位置。然后用同样的方法在模板中心所在的列进行匹配。如行列都匹配,就认为找到Maxicode的中心。等间隔边缘寻找法通过对各行分别从左到右扫描,记录边缘的位置,然后对得到的边缘位置进行检查,寻找六个几乎等间隔的边缘。将上述过程在水平、垂直、45度、135度四个方向上进行,若以某点为中心四个方向都检测到等间隔边缘,就认为找到一个Maxicode条码中心定位标志。模板匹配法容易理解和实现,但存在明显缺陷。当处理的图像分辨率不同时,就应改变模板大小。对于一幅未知的图像,需要用不同大小的模板去匹配,并从中选择合适的模板,所以模版匹配法不适用于获取的图像中的Maxicode的大小未知的情况。
技术实现思路
本专利技术的目的,主要是解决现有技术中,定位速度慢,对图像品质要求高,准确度低下的问题。为了解决上述技术问题,本专利技术采用下述技术方案:一种Maxicode条码的快速定位方法,其特征在于,包括以下步骤:S1:每rowSpace=4行取一条水平扫描线,计算梯度,找出竖直边缘;S2:计算相邻相似边缘距离;S3:对比相邻相似边缘距离,找出拟牛眼中心在水平方向的十二个竖直边缘;S4:由所述十二个竖直边缘计算相似边缘点距离的方差修正值和所述拟牛眼中心所在列,记录并观察所述两个数据,剔除不合理点;S5:以当前行和计算出的拟牛眼中心所在的列为基准,向上向下分别寻找6个水平边缘;S6:对比相邻相似边缘的距离,确认竖直方向的十二个水平边缘位置是否合理;S7:由所述十二个水平边缘计算相似边缘点距离的方差修正值和拟牛眼中心所在行,记录并观察所述两个数据,剔除不合理点,并记录结果;S8:全图扫描结束,获得每个拟牛眼中心的行列坐标及两个修正方差;S9:对找出的多个拟牛眼中心按拟牛眼中心之间的距离进行归类;S10:在同一类拟牛眼中心中再进一步合并相同的拟牛眼中心,并通过拟牛眼中心的两个修正方差、合并个数计算出一个标识其为牛眼中心可能性大小的权值;S11:在每一类中通过对比权值找出最佳的牛眼中心。所述S1步骤中,取出梯度值的绝对值大于阈值Thr的正极大值或负极小值,然后在连续的若干个极大值(或极小值)中取出绝对值最大的那个极值点作为边缘点记录下来,其中,最小梯度阈值取Thr0=2.5,每条水平扫描线的初始梯度阈值设为Thr=Thr0,当梯度极值由正极大值变为负极小值,或由负极小值变为正极大值时,梯度阈值更正为:Thr=max(Thr0,V*ratio),其中V为上一个边缘的梯度值的绝对值,ratio取0.22。所述S3步骤中,根据上一个相邻相似边缘的距离给出当前相邻相似边缘的距离的上限和下限,然后检查当前相邻相似边缘的距离是否在这个范围中,如果连续9个相邻相似边缘的距离都满足这个条件,则该十二个边缘即为拟牛眼中心在水平方向的十二个边缘。所述S4步骤中,如果所述十二个竖直边缘计算相似边缘点距离的方差修正值大于阈值10,则剔除该拟牛眼中心,如果该拟牛眼中心可减小透视变换带来的误差小于所述十二个竖直边缘中第五个边缘值或者大于第六个边缘值,则剔除该拟牛眼中心。所述S9步骤中,设置一个区分不同类的距离阈值classDistanceThr(取为200),第一个拟牛眼中心的类号设为1,然后计算未分类拟牛眼中心与已分类拟牛眼中心之间的距离,如果距离小于classDistanceThr,则两拟牛眼中心的类号相同,若该拟牛眼中心与所有已分类的拟牛眼中心的距离都大于classDistanceThr,则给它设一个新的类号。所述S10步骤中,设置一个区分不同牛眼中心的距离阈值CenterDistanceThr(取为0.5),在同一类中,若两拟牛眼中心的距离小于此阈值,则合并两拟牛眼中心,包括将两拟牛眼的修正方差累加在一起、计数器加1、合并的拟牛眼中心的行列坐标从两拟牛眼中心中随机选一个。一种Maxicode条码的快速定位系统,其特征在于,包括以下模块:水平线扫描模块:设置水平扫描线并计算边缘值;边缘计算模块:计算并对比相邻相似边缘距离,找出拟牛眼中心在水平方向的十二个竖直边缘;数据清洗模块:根据所述十二个竖直边缘计算相似边缘点距离的方差修正值和所述拟牛眼中心所在列,记录并观察所述两个数据,剔除不合理点数据;分类模块:对找出的多个拟牛眼中心按拟牛眼中心之间的距离进行归类;合并模块:在同一类拟牛眼中心中再进一步合并相同的拟牛眼中心,并通过拟牛眼中心的两个修正方差、合并个数计算出一个标识其为牛眼中心可能性大小的权值,并在每一类中通过对比权值找出最佳的牛眼中心。所述水平线扫描模块每4行取一条水平扫描线,每一条水平扫描线上每隔一个像素计算梯度值;所述边缘计算模块计算水平边缘,通过初始梯度阈值取为前面找到拟牛眼中心在水平方向的第十二个边缘后的梯度阈值,再从基准点出发,分别向上和向下找最多6个水平边缘即停止;所述合并模块对比权值,如果权值太低,该类中无牛眼中心。本专利技术的上述技术方案相比现有技术具有以下优点:1、隔多行扫描,而不是每行都扫描,成倍提升处理速度;2、不是简单的寻找等间隔,因为透视变换较严重Maxicode码不是等间隔的,根据前一个间隔确定下一个间隔的范围,该范围与前一个间隔的大小相关,并且该范围的确定是通过对不同大小的Maxicode码进行统计计算所得,更容易找出大小不同的、透视变换较严重Maxicode码的牛眼。3、不是简单的通过计算边缘的平均值来确定牛眼中心的位置,因采用的计算牛眼中心位置的公式能减少透视变换较严重时带来的误差,可以计算出较准确的牛眼中心。附图说明为了使本专利技术的内容更容易被清楚的理解,下面根据本专利技术的具体实施例并结合附图,对本专利技术作进一步详细的说明,其中图1是Maxicode条码示例图。图2是Maxicode定位图形尺寸。图3是本文档来自技高网
...

【技术保护点】
1.一种Maxicode条码的快速定位方法,其特征在于,包括以下步骤:S1:每rowSpace=4行取一条水平扫描线,计算梯度,找出竖直边缘;S2:计算相邻相似边缘距离;S3:对比相邻相似边缘距离,找出拟牛眼中心在水平方向的十二个竖直边缘;S4:由所述十二个竖直边缘计算相似边缘点距离的方差修正值和所述拟牛眼中心所在列,记录并观察所述两个数据,剔除不合理点;S5:以当前行和计算出的拟牛眼中心所在的列为基准,向上向下分别寻找6个水平边缘;S6:对比相邻相似边缘的距离,确认竖直方向的十二个水平边缘位置是否合理;S7:由所述十二个水平边缘计算相似边缘点距离的方差修正值和拟牛眼中心所在行,记录并观察所述两个数据,剔除不合理点,并记录结果;S8:全图扫描结束,获得每个拟牛眼中心的行列坐标及两个修正方差;S9:对找出的多个拟牛眼中心按拟牛眼中心之间的距离进行归类;S10:在同一类拟牛眼中心中再进一步合并相同的拟牛眼中心,并通过拟牛眼中心的两个修正方差、合并个数计算出一个标识其为牛眼中心可能性大小的权值;S11:在每一类中通过对比权值找出最佳的牛眼中心。

【技术特征摘要】
1.一种Maxicode条码的快速定位方法,其特征在于,包括以下步骤:S1:每rowSpace=4行取一条水平扫描线,计算梯度,找出竖直边缘;S2:计算相邻相似边缘距离;S3:对比相邻相似边缘距离,找出拟牛眼中心在水平方向的十二个竖直边缘;S4:由所述十二个竖直边缘计算相似边缘点距离的方差修正值和所述拟牛眼中心所在列,记录并观察所述两个数据,剔除不合理点;S5:以当前行和计算出的拟牛眼中心所在的列为基准,向上向下分别寻找6个水平边缘;S6:对比相邻相似边缘的距离,确认竖直方向的十二个水平边缘位置是否合理;S7:由所述十二个水平边缘计算相似边缘点距离的方差修正值和拟牛眼中心所在行,记录并观察所述两个数据,剔除不合理点,并记录结果;S8:全图扫描结束,获得每个拟牛眼中心的行列坐标及两个修正方差;S9:对找出的多个拟牛眼中心按拟牛眼中心之间的距离进行归类;S10:在同一类拟牛眼中心中再进一步合并相同的拟牛眼中心,并通过拟牛眼中心的两个修正方差、合并个数计算出一个标识其为牛眼中心可能性大小的权值;S11:在每一类中通过对比权值找出最佳的牛眼中心。2.根据权利要求1所述的一种Maxicode条码的快速定位方法,其特征在于,所述S1步骤中,取出梯度值的绝对值大于阈值Thr的正极大值或负极小值,然后在连续的若干个极大值中取出绝对值最大的那个极值点作为边缘点记录,其中,最小梯度阈值取Thr0=2.5,每条水平扫描线的初始梯度阈值设为Thr=Thr0,当梯度极值由正极大值变为负极小值,梯度阈值更正为:Thr=max(Thr0,V*ratio),其中V为上一个边缘的梯度值的绝对值,ratio取0.22。3.根据权利要求1或2所述的一种Maxicode条码的快速定位方法,其特征在于,所述S3步骤中,根据上一个相邻相似边缘的距离给出当前相邻相似边缘的距离的上限和下限,然后检查当前相邻相似边缘的距离是否在这个范围中,如果连续9个相邻相似边缘的距离都满足这个条件,则该十二个边缘即为拟牛眼中心在水平方向的十二个边缘。4.根据权利要求3所述的一种Maxicode条码的快速定位方法,其特征在于,所述S4步骤中,如果所述十二个竖直边缘计算相似边缘点距离的方差修正值大于阈值10,则剔除该拟牛眼中心,如果该拟牛眼中心可减小透视变换带来的误差小于所述十二个竖...

【专利技术属性】
技术研发人员:何伏春郑云美
申请(专利权)人:福建新大陆自动识别技术有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1