条形码识别

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HEFEI UNIVERSITY

系别电子信息与电气工程系

专业电气信息类

班级电子(2)班

完成时间 2012-11-04

姓名学号周峰 **********

基于MATLAB的一维条码识别

摘要:条码技术是如今应用最广泛的识别和输入技术之一,由于其包含的信息量

大,识别错误率低而在各个方面得到很大的重视。它发展迅速并被广泛应用于于工业、商业、图书出版、医疗卫生等各行各业。由我国目前发展现状来看,条码的正常使用受到条形码印刷质量和商品运输过程的影响,并且传统的条码识读方式是采用光电识读器,条码图像对光的不同反射效果也必然会对条码的识读产生影响,而一般条码在搬运过程中条码会不可避免的破损,所以对质量较差的条码的条码的识别尤为重要。

不同的条码有着不同的识读过程。本设计研究一种基于图像处理方式的识读方法,通过一定的数字图像处理算法处理进行译码。译码算法主要分为两部分:第一部分首先对采集的条码图像进行预处理,图像的预处理包括图像分割,图像滤波等,良好的图像处理将对后面实现正确译码有重大贡献;第二部分就是对预处理后的条码图像进行译码,我们根据相似边距离来判别条码字符,再通过译码、校验、纠错处理来识读条码,得到条码所表示的文本信息。借助于Matlab软件的功能我们完成这次译码工作。

关键词:图像处理条形码识别 EAN-13 图像滤波 Matlab

一、引言

1.1 条码技术概述

条码技术是在计算机的应用实践中产生和发展起来的一种自动识别技术,条码应用技术就是应用条码系统进行的信息处理技术。条码技术的研究始于20世纪中期,是继计算机技术应用和发展应运而生的。

通俗的说条形码是指在浅色衬底上印有深色矩形的线条(也称条码)排列而成的编码,其码条和空白条的数量和宽度按一定的规则(标准)排列。条形码是由一组规则排列的条、空、相应的数字组成。这种用条、空组成的数据编码可以供机器识读,而且很容易译成二进制数和十进制数。这些条和空可以有各种不同的组合方法,构成不同的图形符号,即各种符号体系,适用于不同的应用场合。条形码是迄今为止最经济、实用的一种自动识别技术。

1.2Matlab应用图像处理

Matlab图像处理工具是由Math Works公司推出的用于数值计算的有力工具,它具有相当强大的矩阵运算和操作功能,力求人们摆脱繁杂的程序代码。Matlab图像处理工具箱提供了丰富的图像处理函数,灵活运用这些函数可以完成大部分图像处理工作。图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT变换等) 、图像分析和统计、二值图像操作等。下面就MATLAB 在图像处理中各方面的应用分别进行介绍。主要包括下面几方面:

(1) 图像文件格式的读写和显示。MATLAB 提供了图像文件读入函数 imread(),用来读取如:bmp,tif、tiff、pcx 、jpg 、gpeg 、hdf、xwd等格式图像文;图像写出函数 imwrite() ,还有图像显示函数 image()、imshow()等等。

(2) 图像处理的基本运算。MATLAB 提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性算。例如,conv2(I,J)实现了I,J两幅图像的卷积。

(3) 图像变换。MATLAB提供了一维和二维离散傅立叶变换(DFT)、快速傅立叶变换(FFT)、离散余弦变换(DCT),以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。

二、一维条码技术

2.1 一维条码符号的结构

通常任何一个完整的条码是由两侧空白区、起始符、数据字符、校验符、终止符组成,以一维条码而言,其排列方式通常如表2-1所示:

表2-1 条码符号结构

图2-1 条码符号

1、空白区

位于条码两侧无任何符号及资讯的白色区域,主要用来提示扫瞄器准备扫瞄。

2、起始符

指条码符号的第一位字码,用来标识一个条码符号的开始,扫瞄器确认此字码存在后开始处理扫瞄脉冲。

3、数据符

位于起始字符后面的字码,用来标识一个条码符号的具体数值,允许双向扫瞄。

4、校验符

用来判定此次阅读是否有效的字码,通常是一种算术运算的结果,扫瞄器读入条码进行解码时,先对读入各字码进行运算,如运算结果与检查码相同,则判定此次阅读有效。

2.2 EAN码简述

EAN码的全名为欧洲商品条码(European Article Number),源于公元1977年,由欧洲十二个工业国家所共同发展出来的一种条码。目前已成为一种国际性的条码系统。EAN条码系统的管理是由国际商品条码总会(International Article Numbering Association)负责各会员国的国家代表号码之分配与授权,再由各会员国的商品条码专责机构,对其国内的制造商、批发商、零售商等授予厂商代表号码。目前已有30多个国家加盟EAN。EAN码由前缀码、厂商识别码、商品项目代码和校验码组成。

2.3 EAN-13码符号的特征

(1)条码符号的整体形状为矩形。由一系列互相平行的条和空组成,四周都留有空白区。(2)条空分别由1-4个同一宽度的的深或浅颜色的模块组成。深色模块用“1”表示,浅色模块用“0”表示。

(3)在条码符号中,表示数字的每个条码字符仅由两个条和两个空组成,共7个模块。(4)除了表示数字的条码字符外,还有一些辅助条码字符,用作表示起始、终止的分界符和平分条码符号的中间分隔符。

(5)条码符号的大小可在放大系数的两个极限值所决定的尺寸之间变化,以适应不同印刷工艺的需求及用户对印刷面积的要求。

2.3.1 EAN-13码字符集

EAN-13条码字符集包括10个数字字符,即0-9。在条码符号中,每个数字字符由七个模块的二进制表示,其表示形式见条码字符集中的A,B,C三个子集。

表2-2 条码字符集

A子集中条码字符所包含的深色模块的个数为奇数,称为奇排列。B、C子集中条码字符所包含的深色模块的个数为偶数,称为偶排列。

2.3.2 EAN-13码符号结构

EAN-13条码符号是由左侧空白区、起始符、左侧数据符、中间分隔符、右侧数据符、校验符及右侧空白区构成,如图2-4所示。

图2-4 EAN-13条码符号结构

图2-5 EAN-13条码符号构成示意图

相关文档
最新文档