一种基于自适应边缘检测和映射模型的一维码识别算法制造技术

技术编号:13773318 阅读:174 留言:0更新日期:2016-09-29 22:50
本发明专利技术公开了一种基于自适应边缘检测和映射模型的一维码识别算法。该算法利用一维码四个角点对一维码图片进行投影变换,校正一维码图像中可能存在的投影或者仿射变形,然后利用校正后的图像生成两种扫描线,一种是基于图像分块的,一种是基于梯度变化的,对于获得的扫描线采用一种自适应边缘检测算法来找到一维码条和空的边缘位置,接着采用一种边缘映射模型将获得的边缘位置映射到正确的编码位置,根据编码位置来获得条和空的宽度,从而依据条空的宽度比和编码规则求解一维码信息。按照本发明专利技术实现的一维码识别算法,能实现对变形,光照不均,噪声,模糊,以及变形加模糊的一维码都有较好的鲁棒性。

【技术实现步骤摘要】

本专利技术属于图像处理
,涉及一种基于自适应边缘检测和映射模型的一维码识别算法
技术介绍
一维码在生活和工业领域中都被广泛应用,目前生活中的一维码识别装置主要还是激光扫描器,需要人为手持来实现识别,由于在日常生活中对于时间的要求不是很苛刻,手持激光扫描器可以满足需求。然而在工业应用中,随着工业自动化的要求不断提高,希望能够实现工业条码的自动识别,这是手持激光器没法满足的,因此基于图像的识别技术被采用。图像识别技术只需通过CCD相机采集到一维码图像,然后利用图像处理算法来定位到一维码的位置,以及进行正确解码。因此基于图像技术的一维码识别方法可以达到工业自动化的要求。目前在工业应用中,CCD相机采集到的一维码图像可能会出现旋转、变形、离焦模糊、光照不均,甚至变形加模糊的情况,这些情况都会使得一维码条和空的宽度比发生变化,给正确解码造成严重的干扰,使得一维码即使被定位到也不能获得正确的解码结果。目前的一些研究成果只能适应于上述影响中个别情况,但是难以解决所有情况。因此,需要提出一种基于图像的一维码识别算法,对于旋转、变形、离焦模糊、光照不均,甚至变形加模糊的情况都有较好的鲁棒性,在这些情况下都能够正确识别一维码。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于自适应边缘检测和映射模型的一维码识别算法,由此解决了一维码识别算法中的变形和光线等原因引起的识别精度不高的问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于自适应边缘检测和映射模型的一维码识别算法,其特征在于,该算法包括如下步骤:(1)投影校正依据所采集的所述一维码图像的四个角点,将所述四个角点所确定的矩形区域里的像素进行投影变换,得到校正后的图像Ic;(2)自适应边缘检测,其中该步骤包括如下子步骤:(2-1)创建两类扫描线:首先获得M条基于梯度的扫描线:第m条线的起始点hm(0)=mΔ1,m∈[1,M],其中fround是四舍五入取整操作,则第m条基于梯度的扫描线计算如下: k = 0 , I c ( x + 1 , y ) - I c ( x , y ) = 0 I c ( x , y + 1 ) - I c ( x , y ) I c ( x + 1 , y ) - I c ( x , y ) , I c ( x + 1 , y ) - I c ( x , y ) 本文档来自技高网...

【技术保护点】
一种基于自适应边缘检测和映射模型的一维码识别算法,其特征在于,该算法包括如下步骤:(1)投影校正依据所采集的所述一维码图像的四个角点,将所述四个角点所确定的矩形区域里的像素进行投影变换,得到校正后的图像Ic;(2)自适应边缘检测,其中该步骤包括如下子步骤:(2‑1)创建两类扫描线:首先获得M条基于梯度的扫描线:第m条线的起始点hm(0)=mΔ1,m∈[1,M],其中fround是四舍五入取整操作,则第m条基于梯度的扫描线计算如下:k=0,Ic(x+1,y)-Ic(x,y)=0Ic(x,y+1)-Ic(x,y)Ic(x+1,y)-Ic(x,y),Ic(x+1,y)-Ic(x,y)≠0]]>获得M条扫描线中的每条扫描线的起始点:hm(x+1)=hm(x)+fround(kΔx)获得M条梯度扫描线的集合:Smg(x+1)=Ic(x+1,hm(x+1))]]>其次获得基于图像分块的扫描线:从校正后图像Ic中截取N块,第n个图像块的纵坐标起始点为hn=nΔ2,终止点为hn+Δh,基于第n个图像块获得的第n条扫描线的计算如下,把图像分块中的像素点函数进行求和:Snb(x)=Σy=hnhn+ΔhIc(x,y)]]>共获得M+N条扫描线集合:i∈[1,M+N];(2‑2)自适应边界检测对通过所述步骤(2‑1)中获得的扫描线集合Si(x)逐条进行处理,主要分为如下步骤:(2‑2‑1)对每条所述扫描线求取均值其中与扫描线Si(x)会形成一系列的交点是第j个交点的坐标,j是在1和J之间,J表示总的交点数目,对进行圆整,将其变为整数值;(2‑2‑2)依据所获得的交点计算每两个交点间的扫描线的间隔均值形成方波曲线其中t为交点的序号编号,t在1与T之间,其中j在1与T之间;(2‑2‑3)由所述方波曲线及参考线按如下过程迭代来获得新的参考线:Rit+1(x)=G(x)(μRit(x)+(1-μ)Qit(x))]]>其中,μ=0.6,G(x)是一维高斯函数,当t=1时,所述迭代步骤中形成的参考线与扫描线会形成新的交点,如果t<T返回到第二步形成新的方波曲线,同时t=t+1,否则进入步骤(2‑2‑4);(2‑2‑4)完成T次迭代后,参考线与扫描线Si(x)的交点就是一维码条和空的边缘位置;(3)边缘映射所述校正后的一维码图像中的边缘位置和编码位置之间的关系为:fb(fP(PT(j)))=γU(j)+b其中,p0是一维码第一个边缘位置的坐标,c=sinθ/(ρ0cosθ),θ是一维码平面与相机采图平面的夹角,ρ0是相机的焦距,ρ是一维码到相机的距离,相当于缩放项,其不影响像素宽度的比值,所以可以简化为1,所以fb为依据确定的模糊影响下的校正公式,轻微的模糊对边缘位置的影响可以看做是边缘位置的移动,观察发现条变宽空变窄了,宽度变化为rblur,所以模糊的边缘位置校正公式为:fb(PT(j))=PT(j)+rblur(‑1)j,带入获得最终的校正模型为:(4)对于变形的一维码,可以通过分块,将边缘位置分成K块,每一小块的变形可以简化为投影变形;初始化参数j是在1和J之间,J表示总的交点数目,是用于编码的条和空的平均宽度,γ=2,其余参数b,c,p0和rblur初始化为0,采用Levenberg‑Marquardt算法迭代求取所有参数的最优解;将每组优化得到的编码位置U(τ),其中,τ是每组的位置索引,组合起来得到的U(j)值就是优化后的编码位置,利用U(j)进行解码,如果失败,重新将U(j)分成K组,用LM算法对每组进行优化求解,组合得到新的U(j),在进行解码,直至解码成功或者迭代次数达到设定阈值获得最终U(j);(5)从所述步骤(4)获得一维码编码位置U(j)后,依据编码规则实现解码。...

【技术特征摘要】
1.一种基于自适应边缘检测和映射模型的一维码识别算法,其特征在于,该算法包括如下步骤:(1)投影校正依据所采集的所述一维码图像的四个角点,将所述四个角点所确定的矩形区域里的像素进行投影变换,得到校正后的图像Ic;(2)自适应边缘检测,其中该步骤包括如下子步骤:(2-1)创建两类扫描线:首先获得M条基于梯度的扫描线:第m条线的起始点hm(0)=mΔ1,m∈[1,M],其中fround是四舍五入取整操作,则第m条基于梯度的扫描线计算如下: k = 0 , I c ( x + 1 , y ) - I c ( x , y ) = 0 I c ( x , y + 1 ) - I c ( x , y ) I c ( x + 1 , y ) - I c ( x , y ) , I c ( x + 1 , y ) - I c ...

【专利技术属性】
技术研发人员:杨华陈廉政陈逸凡
申请(专利权)人:华中科技大学武汉华威科智能技术有限公司
类型:发明
国别省市:湖北;42

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

1