[发明专利]一种基于图像拼接的柱面二维条码识读方法无效

专利信息
申请号: 201210152638.8 申请日: 2012-05-17
公开(公告)号: CN102682266A 公开(公告)日: 2012-09-19
发明(设计)人: 何卫平;林清松;雷蕾;王伟;刘涛 申请(专利权)人: 西北工业大学
主分类号: G06K7/10 分类号: G06K7/10
代理公司: 西北工业大学专利中心 61204 代理人: 陈星
地址: 710072 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提出了一种基于图像拼接的柱面二维条码识读方法,步骤包括旋转采集一组二维条码图片、图像光照不均校正、条码边缘信息增强、条码图像及条码位置识别、条码模块划分、条码图像粗配准、条码图像精配准和图像拼接融合与条码识别。本发明改变现有的二维条码识读系统基于一幅图像的识别原理,能够完整采集柱面条码信息,消除柱面条码的畸变和光照不均等问题。根据Data Matrix二维条码图像的特征,设计的拼接融合算法能够很好解决二维条码图像拼接过程中遇到正确率不高、效率低等突出问题,实现快速准确的识读柱面二维条码信息。
搜索关键词: 一种 基于 图像 拼接 柱面 二维 条码 方法
【主权项】:
1.一种基于图像拼接的柱面二维条码识读方法,其特征在于:包括以下步骤:步骤1:连续采集二维条码的N幅图像所述N幅图像包含了二维条码的全部信息;每幅图像的宽度为w,高度为h,表示第n幅图像Mvtempn中第i列第j行像素点的像素值;步骤2:校正图像光照不均:步骤(2-1):任意选取中包含条码信息的一幅图像Mvtemp,从图像Mvtemp中间h/2处向上遍历求取纵向梯度:gradjMvtemp=Σi=0w(pixi,jMvtemp-pixi,j+1Mvtemp)j(h/2,h)]]>其中,表示图像Mvtemp中第j行的纵向梯度值,并在第yup行取到最大纵向梯度值;步骤(2-2):计算图像Mvtemp中背景区域的光照度数组:IiMvtemp=120Σj=yupyup+βpixi,jMvtempi[0,w)]]>其中,图像Mvtemp中背景区域指第0列至第w-1列,第yup行至yup+β行的区域,β取10~h-yup表示图像Mvtemp背景区域第i列的光照度;步骤(2-3):计算图像Mvtemp中背景区域的平均光照度IMvtemp=1(β+1)wΣi=0w-1Σj=yupyup+βpixi,jMvtemp]]>步骤(2-4):逆向校正图像序列中每一幅图像的光照不均:pixi,jn=pixi,jn·IMvtemp/IiMvtempn[0,N-1],i[0,w-1],j[0,h-1],]]>步骤3:运用Roberts算子对图像序列做边缘轮廓信息提取,然后将边缘强度信息增加到原图像中,实现条码边缘信息增强;步骤4:识别条码图像及条码位置:步骤(4-1):计算图像序列中每幅图像的横向投影数据avgjn=1wΣi=0wpixi,jnj[0,h)]]>对于第n幅图像,得到一组横向投影数据计算中的最小值步骤(4-2):将横向投影数据整体向下平移计算平移后横向投影数据的最大值和平均值对平移后的横向投影数据进行加权均值滤波和中值滤波,其中加权均值滤波模板为:19×12321]]>中值滤波采用5×1的滑动窗口;对滤波后的横向投影数据进行阈值分割,分割函数为:步骤(4-3):对经过步骤(4-2)处理后的横向投影数据进行数据拟合,拟合函数的形式为:y=a1(0x<x1)b1(x1xh/2)a2(h/2<xx2)b2(x2<x<h)]]>其中,a1,b1,a2,b2为线性拟合函数的拟合变量,x1,x2为线性拟合函数的分段点;采用最小二乘拟合,得到拟合误差为:S^min2(x1n)=Σi=0h/2(avgin)2-(Σi=0x1n-1avgin)2x1n-(Σi=x1nh/2avgin)2h/2-x1n+1]]>S^min2(x2n)=Σi=h/2+1h-1(avgin)2-(Σi=h/2+1x2navgin)2x2n-h/2-(Σi=x2n+1h-1avgin)2h-x2n-1]]>在第n幅图像中,计算拟合误差取最小值时对应的计算拟合误差取最小值时对应的步骤(4-4):重复步骤(4-1)~步骤(4-3),得到图像序列中每幅图像的从而得到数组步骤(4-5):计算图像序列中每幅图像各自位置的纵向梯度值:gradydnn=Σi=0w-1|pixi,ydnn-pixi,ydn+1n|]]>从而得到数组计算数组的平均值从数组中第n=0的数据开始向后依次与比较,当比较到第n=η的数据大于为止;从数组中第n=N-1的数据开始向前依次与比较,当比较到第n=κ的数据大于为止;图像序列中,Mvtempη~Mvtempκ的图像为条码图像;步骤(4-6):计算所有条码图像中值的平均值ys;任取条码图像中的一幅图像,计算该图像位置和位置处的纵向梯度值;当处的纵向梯度值大于处的纵向梯度值,则将所有条码图像从各自位置向上裁剪,保留作为新的条码图像;当处的纵向梯度值大于处的纵向梯度值,则将所有条码图像从各自位置向下裁剪,保留作为新的条码图像;将新得到的条码图像按原先顺序重新存为图像宽度w不变,高度为ys;步骤5:确定条码模块的划分方式:步骤(5-1):将按顺序横向排列,纵向对齐合并成一幅图像NMvtemp,图像NMvemp高度为ys,宽度为Mv;对图像NMvtemp做纵向梯度投影:ygradjNMvtemp=Σi=0Mw-1|pixi,jNMvtemp-pixi,j+1NMvtemp|j[0,ys)]]>其中表示图像NMvtemp中第j行的纵向梯度;表示图像NMvtemp中第i列第j行像素点的像素值;步骤(5-2):从二维条码模块划分方式集合C={L×L}中选取划分方式l×l∈C,得到一组模块纵向分割点:H={hm|hm=ysl×m}m=1l-1]]>步骤(5-3):计算图像NMvtemp在集合H中每个模块纵向分割点hm处的纵向梯度值并计算所有纵向梯度值的平均值,作为划分方式l×l∈C的梯度值;步骤(5-4):重复进行步骤(5-2)~步骤(5-3),计算集合C中所有划分方式的梯度值,取梯度值最大的划分方式p×p作为二维条码横向模块划分方式;步骤6:条码图像粗配准:步骤(6-1):将中的每一幅图像NMvtempn都转化为一个p×w的数据矩阵,转化计算方式为:Xn=[(xk,in=1MsΣj=kMs(k+1)Mspixi,jn)i=0w-1]k=0p-1]]>其中Xn表示图像NMvtempn对应的数据矩阵,表示矩阵中第k行第i列元素,Ms表示条码模块的纵向尺寸,Ms=ys/p;步骤6及以后步骤中表示第n幅图像NMvtempn中第i列第j行像素点的像素值;步骤(6-2):将中相邻两幅图像对应的数据矩阵Xn,Xn+1步进重叠,步进列数δg的范围为1列~5列;计算每次重叠时重叠区域元素的均方差S2(gn):S2(gn)=1pgn(Σk=0p-1Σi=0gn(Xk,in+1-Xk,w-i-gnn)2)(1gnw)]]>其中S2(gn)表示数据矩阵重叠gn列元素时的均方差;步骤(6-3):计算数据矩阵Xn,Xn+1步进重叠过程中的所有S2(gn),取其中取值最小的三个均方差对应的重叠列数作为相邻两幅图像NMvtempn和NMvtempn+1间的粗配准位置,并记步骤(6-4):重复步骤(6-2)~步骤(6-3),对图像序列中每两幅相邻图像进行粗配准,得到粗配准位置序列步骤7:条码图像精配准:步骤(7-1):采用经典相似性测度方法的计算相邻两幅图像NMvtempn和NMvtempn+1在匹配位置gn处的匹配度Rn(gn):Rn(gn)=Σi=0gn-1Σj=0ys-1(pixw-i-gn,jn×pixi,jn+1)Σi=0gn-1Σj=0ys-1(pixw-i-gn,jn)2Σi=0gn-1Σj=1ys-1(pixi,jn+1)2gnU(g1n,δ)U(g2n,δ)U(g3n,δ)]]>微调的列数δ取δg+1;步骤(7-2):取匹配度Rn(gn)的最大值为相邻两幅图像NMvtempn和NMvtempn+1间的最佳匹配度,记为Rn=max{Rn(gn)},并将max{Rn(gn)}对应的位置gn作为相邻两幅图像NMvtempn和NMvtempn+1间的精配准位置,并记精配准位置Cn=gn;步骤(7-3):重复步骤(7-1)~步骤(7-2),计算图像序列中每两幅相邻图像的最佳匹配度以及精配准位置,得到最佳匹配度数组和精配准位置数组步骤8:图像拼接融合与条码识别:步骤(8-1):遍历最佳匹配度数组以匹配度数值最小的两个位置点n1和n2作为分段点,将图像序列分为三个部分;步骤(8-2):将每个部分的图像按照图像间的精配准位置采用渐入渐出的加权平均法进行拼接融合,得到三个部分的合成图像Part0、Part1、Part2,三幅图像宽度分别为w0、w1、w2,高度是ys,三幅图像间的精配准位置分别为PC0、PC1PC1=Cn2;]]>步骤(8-3):计算中图像NMvtemp0的横向梯度:xgradjNMvtemp0=Σj=0ys-1(pixi+1,jNMvtemp0-pixi,jNMvtemp0)i[0,w)]]>代表图像NMvtemp0中i列的横向梯度;得到数组并计算中的最大值位置xl即为图像NMvtemp0中条码区域和空白区域分界位置;步骤(8-4):计算中图像NMvtempM-1的横向梯度:xgradjNMvtempM-1=Σj=0ys-1(pixi,jNMvtempM-1-pixi+1,jNMvtempM-1)i[0,w)]]>代表图像NMvtempM-1中i列的横向梯度;得到数组并计算中的最大值位置xr即为图像NMvtempM-1中条码区域和空白区域分界位置;步骤(8-5):将Part0、Part1、Part2三幅图像拼接融合后的宽度为wm=(xl+ys+w-xr),高度为ys;建立图像内存缓冲区,大小为wm×ys;将图像Part0放入缓冲区左侧,将图像Part2放入缓冲区右侧;判断|(wm-w0-w2)-(w1-PC0-PC1)|≤10,若满足判断条件则将图像Part1按照与Part0、Part2的精配准位置PC0、PC1放入缓冲区,重合区域采用渐入渐出的加权平均法完成图像拼接融合,进入步骤(8-7),若不满足判断条件则进入步骤(8-6);步骤(8-6):在图像内存缓冲区内将Part1放在两幅图像之间,开始位置与Part0重合w列,然后Part1步进向右运动,直到Part1与Part2重合w列为止;将步进运动过程中Part1与Part0、Part2分别重合的区域合并为联合重合区域,计算联合重合区域匹配度,匹配度计算方法同步骤(7-1),并步进运动过程中取到联合重合区域最大匹配度的位置作为配准位置,将图像Part1按照配准位置放入缓冲区,重合区域采用渐入渐出的加权平均法完成图像拼接融合;步骤(8-7):将图像内存缓冲区内拼接融合得到的二维条码图像,按照宽度进行裁剪,取二维条码图像xl~xl+ys部分,得到一幅新的ys×ys的Data Matrix二维条码图像,条码模块大小为Ms×Ms;使用解码系统读取新的Data Matrix二维条码图像中的条码信息,解码系统根据解码原理和Reed-Solomon纠错算法对其解码并纠错。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201210152638.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top