基于数字图像处理的条形码识别;基于数字图像处理的EAN-13条形码识别算法
通过MATLAB实现。其中图像处理部分是条码识别重要的前期工作,利用MATLAB强大的图像处理功能实现图像的读入、仿真加噪声、滤波、二值化处理等工作,最终得到高质量的二值化图像。条码识别就是在二值图像的基础上实现,二值图像的质量直接关系到条码能否正确识读。; 前置码-----起始符外的唯一一个数字
不用条码符号表示的,功能是规定左侧6个数据的编码方式。
;左侧6位数据的编码方式;右侧数据编码方式;校验码是右侧最后一位数据,由前十二位数据共同决定;起始符和终止符各由“黑白黑”三条单位条码模块构成。
中间分隔符由“白黑白黑白”五条单位条码模块组成。
而数据段12个参与编码的数字,各由7条单位条码模块组成。
因此整个条码区宽度总共由95条单位条码模块构成。
; 由于所有编码方式的特殊规定,一个数据的7个单位模块的组合总可以分割为“条空条空”或“空条空条”四个部分,而且相邻数据和相邻的间隔符之间互不重合、串扰,这就为下面的译码方法提供了基础。
;方案一:宽度测量和平均值法
从左到右,由起始符左侧到终止符右侧的像素宽度值即为总宽度值,除以95得到单位宽度条码的宽度平均值。
从左到右,按行横扫,记录下每次“条空”转变时的像素点位置,转变点互相相减,即得每个条空的宽度值。再除以上面的平均值,可得个条空
原创力文档

文档评论(0)