The invention discloses a complex background based on machine vision barcode segmentation and recognition method, consistent characteristics through gradient direction by making good use of barcode image, using the local gradient information fusion segmentation method will extract the barcode barcode accurately from the complex background based on bar code; then the regional correction and sampling. Minimum unit bar width by using the method of end code calibration, then using the method of dynamic threshold bar code space definition, barcode decoding, fault tolerance and final inspection.
【技术实现步骤摘要】
一种基于机器视觉的复杂背景下条形码分割与识读方法
本专利技术属于图像处理
,更为具体地讲,涉及一种基于机器视觉的复杂背景下条形码分割与识读方法。
技术介绍
条形码技术的广泛使用为不同国家和地区的贸易往来提供了统一且简便的语言,利用条形码的标识信息,很容易便可将其转化为可识的电子数据,从而达到快速读入的目的,也避免了手动输入容易出错的问题。一维条形码虽然表现形式、储存数据的方式各有不同,但其基本的特征是一致的,都是靠不同宽度的黑白相间的条纹组合来表示信息。在当前电子制造业中,条形码的读取主要还是通过人工手持传统的激光式条形码扫描器进行读取,这个虽然操作不复杂,但是工人的操作熟练度也会对扫描条形码效率有所影响,因为手持式条形码扫描器需要将激光线对准要扫描的条形码,有时候会需要多次调整扫描的方位、距离等才能正确将条形码扫出。尤其现在国内用工成本日益增加,生产线产量迫切提高的情况下,开发出基于数字图像的条形码解码方法迫在眉睫。通过数字式图像的方式对条形码进行扫码,必然包括两个步骤:条形码的定位和条形码解码。尤其对于复杂背景如电路板、曝光不足、光照不均匀、电路板反光等 ...
【技术保护点】
一种基于机器视觉的复杂背景下条形码分割与识读方法,其特征在于,包括以下步骤:(1)、条形码分割(1.1)、计算灰度图I的梯度信息形成梯度幅值图T,并将其归一化到[0,255];
【技术特征摘要】
1.一种基于机器视觉的复杂背景下条形码分割与识读方法,其特征在于,包括以下步骤:(1)、条形码分割(1.1)、计算灰度图I的梯度信息形成梯度幅值图T,并将其归一化到[0,255];其中,C(x,y)表示(x,y)处像素值大小,Gx(x,y)表示(x,y)处x方向梯度值,Gy(x,y)表示(x,y)处y方向梯度值,G(x,y)表示(x,y)处近似梯度幅值,θ(x,y)表示(x,y)处梯度方向;(1.2)、对梯度幅值图T进行分块,并进行梯度直方图统计(1.2.1)、设置大小为m*n的滑动窗口,m为滑动窗口的长,n为滑动窗口的宽;设置滑动步长step;从梯度幅值图T的左上角顶点出发,以步长step滑动,每滑动一次得到一图像块patch,用符号Ip表示,p=1,2,…,L,L表示图像块的个数;(1.2.2)、对L个patch进行梯度直方图统计;将所有梯度方向分为K个bin,即将梯度方向方向分成K个区域,每个区域跨度为θ,在某一个patch中,当某个像素点的梯度方向落在某一区域内,则判断像素点的梯度幅值μ是否小于阈值σ,如果μ<σ则该像素点不参与投票,如果μ>σ,则向该区域进行投票且票数加一,最后统计每个区域的投票结果,将票数最多的bin作为该patch的主方向角度;同理,可以得到其余L-1个patch的主方向角度;(1.2.3)、记录下各个patch的3维特征向量(x,y,θ),分别对应每个patch的x坐标、y坐标以及该patch的主方向角度;其中,其中,(x,y)为该patch左上角顶点的坐标;然后对每一个patch,将各自patch主方向占比低于H%的剔除,最后对剩下的patch进行kmeans聚类,得到聚类图K;(1.3)、提取像素点图(1.3.1)、采用最大类间方差法对灰度图I进行二值化处理,得到二值化图像E;(1.3.2)、对二值化图像E进行轮廓查找操作;在二值化图像E中,剔除掉面积小于阈值F的轮廓,然后对剩下的部分采用Graham扫描法进行凸包拟合,得到疑似包含条形码的轮廓区域S;再根据轮廓区域S在聚类图K中找到相对应区域,得到该区域拓扑方向,再删除主梯度方向与区域拓扑方向不一致或区域包含聚为一类的patch数过少的区域,得到符合条形码特征的轮廓区域S1;最后根据轮廓区域S1在梯度幅值图T中找到相对应对应区域,处理这个区域所包含的每个patch,分别提取出每个patch内的像素点梯度值与该patch的主方向相差正负3°以内的像素点,构成像素点图;(1.4)、角度精确搜索及条码区域细提取(1.4.1)、将像素点图在范围为[θ-δ,θ+δ]内按每个角度进行校正,δ为常数,得到像素分布为近似水平的多张校正图像,再分别进行水平投影;然后计算各水平投影的一阶梯度,选取一阶梯度值最大的水平投影所对应的旋转角度作为最终条形码的精确角度β;(1.4.2)、根据精确角度β对各像素点进行映射,使各像素点组成的条形码块拓扑呈水平,再根据自适应的横向膨胀系数,采用具有纵向约束的膨胀算法将各孤立的像素连接起来形成条形码块;对条形码块进行最小外接矩形求取,并根据最小外接矩形的四个顶...
【专利技术属性】
技术研发人员:康波,王琳,庄孟雨,钱志敏,李云霞,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。