发明名称 一种基于图像采样线灰度信息分析的一维条码识别方法
摘要 一种基于图像采样线灰度信息分析的一维条码识别方法,其步骤如下:(1)根据图像分割计算找到一维条码的精确区域,构成采样区间ABCD;(2)根据图像的放置位置或者其它接近方向布置一通过一维条码所有黑白条空的采样曲线b2;(3)得到采样曲线b2上从采样区间ABCD上点b21开始到点b22结束各位置上的灰度值,形成一条灰度曲线,灰度曲线波峰部分对应一维条码的黑条,波谷部分对应的一维条码的空白;(4)对采样到的灰度曲线进行相应的处理得到黑白对应的二值脉冲曲线;(5)从二值脉冲曲线得到条码条空边界点,然后计算出条码条空序列的宽度,转化为条码条空单元模块宽度,查找相应一维条码的编码字符集,获得相应的码字。
申请公布号 CN104732183A 申请公布日期 2015.06.24
申请号 CN201510124932.1 申请日期 2015.03.20
申请人 杭州晟元芯片技术有限公司 发明人 官慧仙;杨波
分类号 G06K7/10(2006.01)I 主分类号 G06K7/10(2006.01)I
代理机构 杭州金道专利代理有限公司 33246 代理人 赵芳
主权项 一种基于图像采样线灰度信息分析的一维条码识别方法,其步骤如下: (1)根据图像分割计算找到一维条码的精确区域,构成采样区间ABCD;(2)根据图像的放置位置或者其它接近方向布置一通过一维条码所有黑白条空的采样曲线b2;(3)得到采样曲线b2上从采样区间ABCD上点b21开始到点b22结束各位置上的灰度值,形成一条像素值高高低低的灰度曲线,灰度曲线波峰部分对应一维条码的白条,波谷部分对应的一维条码的黑条;(4)对采样到的灰度曲线进行相应的处理得到黑白对应的二值脉冲曲线;当图像质量比较好,取它的平均灰度值A形成的平均灰度线,A为整条灰度曲线中所有波峰中最小灰度值和所有波谷中最大灰度值的平均值,波峰部分在平均灰度线的上部,波谷部分在平均灰度线的下部,利用平均灰度线就可把采样灰度曲线处理成二值脉冲曲线;当图像存在模糊或者光照不均的情况下采样曲线呈现a、b、c、d段的情况,b点为曲线的波谷,为一维条码的黑条区域,但灰度值偏亮,在平均灰度线的上部,而d点为曲线的波峰,对应于一维条码的白条区域,但灰度值偏低,在平均灰度线的下部,此时对灰度数据进行归一化处理,使黑条或白条灰度值均匀一些,其包括:(a)根据条码采样曲线特性计算采样的灰度曲线的每个波峰波谷,准确的定位出条码每个条空中心位置;(b)找整个灰度曲线中波峰灰度最大的值和波峰灰度最小值的平均值F,同理波谷灰度最小值和波谷灰度最大值的平均值E,然后将起始第一个波谷到第一个波峰段灰度映射到[E,F]区间,将第二个波谷到第二个波峰灰度映射到[E,F]区间,依次类推,得到条和空灰度均匀一致的采样灰度曲线,每个像素灰度拉伸公式为: X=(x‑e)/(f‑e)*(F‑E)+E;x指需要灰度拉伸的像素点原来的灰度值,X为x灰度值拉伸后的像素点;(c)对灰度变化大的段做一些处理,当波谷大于平均灰度线,此波峰波谷段往暗的部分拉伸过度,则灰度区间[E,F]改为[(E+A)/2,F],每个像素拉伸公式为X=F‑(F‑x)/(f‑e)*(F‑E`),E`=(E+A)/2;当波峰低于平均灰度线的情况,此波峰波谷段往灰度亮的区域过度拉伸,则将灰度区间[E,F]改为[E,(F+A)/2],此段每个像素灰度拉伸公式为:X=(x‑e)/(f‑e)*(F`‑E)+E,F’=(F+A)/2;(d)最后设平均灰度线的灰度值A为阀值将曲线处理为二值脉冲曲线;(5)从采样的灰度曲线转化的二值脉冲曲线得到条码条空边界点,然后计算出条码条空序列的宽度,转化为条码条空单元模块宽度,查找相应一维条码的编码字符集,即可获得相应的码字。
地址 311121 浙江省杭州市余杭区五常街道文一西路998号9幢东楼