一维条形码识别.docx
- 文档编号:5168755
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:36
- 大小:515.52KB
一维条形码识别.docx
《一维条形码识别.docx》由会员分享,可在线阅读,更多相关《一维条形码识别.docx(36页珍藏版)》请在冰豆网上搜索。
一维条形码识别
毕业设计(论文)
题目:
条码检测系统——基于MATLAB的一维条码识别
院(系)信息科学与工程学院
专业电子信息工程
届别2010届
学号**********
姓名李斌辉
指导老师林其伟、副教授
华侨大学教务处印制
2010年5月
条码检测系统——基于MATLAB的一维条码识别
摘要:
条码技术是如今应用最广泛的识别和输入技术之一,由于其包含的信息量大,识别错误率低而在各个方面得到很大的重视。
它发展迅速并被广泛应用于于工业、商业、图书出版、医疗卫生等各行各业。
由我国目前发展现状来看,条码的正常使用受到条形码印刷质量和商品运输过程的影响,并且传统的条码识读方式是采用光电识读器,条码图像对光的不同反射效果也必然会对条码的识读产生影响,而一般条码在搬运过程中条码会不可避免的破损,所以对质量较差的条码的条码的识别尤为重要。
不同的条码有着不同的识读过程。
本设计研究一种基于图像处理方式的识读方法,通过计算机辨识来解决条码印刷质量不佳和条码变形等问题。
该方法是采用摄像头采集条码图像,通过照相采集条码图像的方法避免了线性扫描器逐行扫描所产生的问题,同时简化了扫描条码图像的操作。
然后通过一定的数字图像处理算法处理进行译码。
译码算法主要分为两部分:
第一部分首先对采集的条码图像进行预处理,图像的预处理包括图像分割,图像滤波等,良好的图像处理将对后面实现正确译码有重大贡献;第二部分就是对预处理后的条码图像进行译码,我们根据相似边距离来判别条码字符,再通过译码、校验、纠错处理来识读条码,得到条码所表示的文本信息。
与用条码识读器硬件进行译码相比,软件译码具有更大的灵活性和较低的成本,所以具有很大的市场空间。
借助于matlab软件的功能我们完成这次译码工作。
关键词:
图像处理图像分割条形码识别EAN-13相似边距识别图像滤波Matlab
TheSystemOfBar-CodeExamination
——1DBar-CoderecognitionbasedonMATLAB
Abstract:
NowadaysBar-Codeisaverypopulartechniqueofidentificationandinput.Ithasbeentakenseriousbecauseofit’slargeinformationandlowerrorrate.Itdevelopsveryquicklyandhasalreadybeenappliedinindustry,commerce,publishing,medicalsanitationandsoon.ItcanbeseenfromtheactualitiesinourcountrythattheuseofBar-Codeisinfluencedbytheprintingqualityandgoodstransportation,andbesides,thetraditionalmodeofrecognitionisusingopticalscannersothattherecognitinonwillbeconsequentiallyaffectedbythedifferentreflectionofcodeimagebythelight.Thegeneralcourseoftheremovalbarcodebarcodewillinevitablydamage,sopoorqualitybarcodebarcodeidentificationisparticularlyimportant.
DifferentBar-Codehasdifferentrecognitionprocess.Thispaperresearchesintoamethodbasedondigitalimageprocessingmodetoresolvetheproblemsofpoorprintingqualityandcodedistortion,whichusesthevidicontotakepicturesofcodeimagessoastoavoidthetraditionalquestionsbroughtbytheline-by-linescanning.Andthenappliesthedigitalimageprocessingalgorithmstorecognizethecode,whichincludestwosteps:
thefirstisimagepretreatments,thesecondisusingstatisticmethodandthedistanceofedgetosimilaredgemethodtorecognizethecodecharacter.ComparingwithdecodingwithspecialBar-Codeidentificationhardware,decodingwithsoftwareismoreflexible,andthecostisalsocomparativelylow.Hence,Bar-Codehasaveryclearfutureofdevelopment.ThisresearchisrealizedbyMatlab.
Keyword:
imageprocessing,Bar-Coderecognition,EAN-13,thedistanceofedgetosimilaredge,imagefilters,Matlab
第1章引言................................................................01
1.1条码技术概述.........................................................01
1.2Matlab应用图像处理...................................................02
1.3本文的研究意义及内容..................................................03
1.3.1研究意义.................................................03
1.3.2研究内容及本文的组织安排.................................04
第2章一维条码技术........................................................05
2.1一维条码的简介.......................................................05
2.2一维条码符号的结构...................................................05
2.3EAN码简述............................................................06
2.4EAN-13码符号的特征..................................................07
2.4.1EAN-13码字符集...........................................08
2.4.2EAN-13码符号结构.........................................09
2.5EAN-13码的校验纠错..................................................11
第3章条码图像的预处理...................................................12
3.1图像分割理论.........................................................12
3.1.1图像分割的定义...........................................12
3.1.2图像分割的算法类.........................................13
3.1.3图像分割结果.............................................14
3.2图像灰度及二值化...............................................153.3图像加噪仿真...........................................................16
3.3图像的滤波.....................................................16
3.3.1图像的平滑滤波...........................................16
3.3.2形态学滤波...............................................17
第4章条码的译码方法......................................................20
4.1译码方案的选择..................................................20
4.2相似边距法介绍..................................................21
4.3.条码字符的判别.................................................22
第5章条码译码的基本原理..................................................25
5.1EAN_13的译码原理分析............................................25
5.2译码结果分析.....................................................26第6章结论................................................................28
参考文献...................................................................30
附录.......................................................................36
第1章引言
1.1条码技术概述
在信息时代的今天,计算机的应用己和我们的生活紧密地联系在一起。
计算机快速准确的信息处理速度,给工农业生产、经营管理以及人们的日常生活等方面都带来了巨大的效益。
可以说计算机的出现、普及和应用加速了社会发展进程。
然而,在运用计算机进行信息处理时,面临的一个重要问题是如何提高信息输入速度问题,使之与计算机的高速运算能力相匹配。
只有解决这个问题,才能发挥计算机高速处理信息的能力。
因此,要求有一种简单、易行、廉价、高速的输入技术,条形码技术正是具备这一特征,因而它为世界各国所重视,并获得极大的发展。
条码技术是在计算机的应用实践中产生和发展起来的一种自动识别技术,条码应用技术就是应用条码系统进行的信息处理技术。
条码技术的研究始于20世纪中期,是继计算机技术应用和发展应运而生的。
随着70年代微处理器的问世,标志着“信息化社会”的到来,它要求人们对社会上各个领域的信息、数据实施正确、有效、及时的采集、传递和管理。
因此如何代替人的视觉、人的手工操作、或者在复杂的环境中正确、迅速地获取信息并加以识别,成为人们普遍关心和有关人员精心研究的课题。
通俗的说条形码是指在浅色衬底上印有深色矩形的线条(也称条码)排列而成的编码,其码条和空白条的数量和宽度按一定的规则(标准)排列。
条形码是由一组规则排列的条、空、相应的数字组成。
这种用条、空组成的数据编码可以供机器识读,而且很容易译成二进制数和十进制数。
这些条和空可以有各种不同的组合方法,构成不同的图形符号,即各种符号体系,适用于不同的应用场合。
条码系统是由条码符号设计、制作及扫描阅读组成的自动识别系统。
微电子技术和激光技术的发展使得条码识别系统越来越受到人们的关注。
条码是迄今为止最经济、实用的一种自动识别技术。
条码技术具有以下几个方面的优点:
1、可靠准确。
有资料可查键盘输入平均每300个字符一个错误,而条码输入平均每15000个字符一个错误。
如果加上校验位出错率是千万分之一。
2、数据输入速度快。
与键盘输入相比较,用条形码扫描读入电脑的速度大约是键盘输入的100倍,并且能够实现“即时数据输入”,一个每分钟打90个字的打字员1.6秒可输入12个字符或字符串,而使用条码,做同样的工作只需0.3秒,速度提高了5倍。
3、经济便宜。
与其它自动化识别技术相比较,推广应用条码技术,所需费用较低。
4、灵活、实用。
条码符号作为一种识别手段可以单独使用,也可以和有关设备组成识别系统实现自动化识别,还可和其他控制设备联系起来实现整个系统的自动化管理。
同时,在没有自动识别设备时,也可实现手工键盘输入。
5、自由度大。
识别装置与条码标签相对位置的自由度要比OCR大得多。
条码通常只在一维方向上表达信息,而同一条码上所表示的信息完全相同并且连续,这样即使是标签有部分缺欠,仍可以从正常部分输入正确的信息。
6、设备简单。
条码符号识别设备的结构简单,操作容易,无需专门训练。
7、易于制作,可印刷,称作为“可印刷的计算机语言”。
条码标签易于制作,对印刷技术设备和材料无特殊要求。
证因为条码具有上述迅速,准确,廉价,使用方便,适应性强等优点,克服了其他输入方法的不足,所以他在各个行业中的发展可谓突飞猛进,最初应用于物流管理,最引人注目的是pos系统,它使商店的定货管理,盘点,库存管理,库存查询,验货管理,收款等各项工作得到极大地提高。
目前已经应用到计算机自动化的各个领域,包括质量跟踪,仓储管理,物资管理,票证管理,人流物流管理,图书文献检索,医疗卫生,邮电系统,安全检查等领域。
1.2Matlab应用图像处理
Matlab图像处理工具是由MathWorks公司推出的用于数值计算的有力工具,它具有相当强大的矩阵运算和操作功能,力求人们摆脱繁杂的程序代码。
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)及其反变换。
(4)图像的分析和增强。
针对图像的统计计算MATLAB提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。
(5)图像的数学形态学处理。
针对二值图像,MATLAB提供了数学形态学运算函数;蚀(Erode)、膨胀(Dilate)算子,以及在此基础上的开(Open)、闭(Close)算子、厚化(Thicken)、薄化(Thin)算子等丰富的数学形态学运算。
1.3本文的研究意义及内容
1.3.1研究意义
条形码技术主要研究如何用条码标识信息、并将条形码表示的信息转换成计算机可识读的语言,以实现自动输入、自动识读、自动统计.在先进的工业国家里,条码技术作为一种信息处理技术己成为社会化产物,不仅应用于生产过程,而且也应用于管理过程。
在我国条码技术起步比较晚,但它的发展非常迅速,己被广泛用于工业、商业、图书出版、医疗卫生等各行各业。
随着全球经济贸易体系的形成,将被更广泛用于其它领域。
现在,它已变成商品进入国际市场的通行证.但是,由我国目前发展现状来看,主要有两种因素影响条码正常使用。
首先条形码在印刷中存在许多质量问题,据1998年4月桂林条码工作会议公布的数字表明,我国商品条码不合格率达20%--30%,使大量名牌产品、优质产品不能进入超级市场(POS商店)。
条码印刷质量对其能否正常使用是至关重要的,质量低劣出现扫描误读,不仅造成不必要的经济损失,而且将大大影响了工作效率。
其次,运输过程中造成的条码磨损、断裂和脏污是影响条码正确误读的另一个重要的因素。
目前,市场上普遍采用的条形码识读装置是光电识读器。
由一般条码识读器的原理可知:
条形码的宽窄和颜色的对比度都会对光的反射产生影响,不可避免的会影响到条码正确识读;此外,由于光电识读器采用线扫描方式,斑点、脏污和纸面断裂也会造成反射光的差异,相应的对条码识读也必然会产生影响。
因此,一方面条码标准化工作需要大力加强;另一方面研制有一定的辨识能力的条码阅读装置具有十分重要的现实意义。
条码图像辨识在一些特殊情况下将发挥着极大的优势。
图像处理识读方法是首先对条码图像进行处理,然后利用统计方法,根据相似边距离来判别条码字符,再通过译码、校验、纠错处理来识读条码,这样将大大降低条码印刷质量以及条码污染等各种因素的干扰,从而有效地提高条码的识读率。
1.3.2研究内容及本文的组织安排
自从20世纪70年代以来,由于数字计算机技术迅猛发展给图像处理技术提供了技术手段,图像处理技术被广泛应用于国民经济的各个部门,并逐步深入人们生活。
到目前为止,通过各种信息检索,有关图像处理技术用于一维条形码识读方面的技术成果及参考资料还没有发现。
尽管以前关于条码识读的设备很多,但都是针对光电处理而言的。
因此,通过图像处理识别条码是一种新的尝试,而条码图像识读算法的研究正是在该情况下的理论探索,本文所研究的是基于图像处理方式的条码的识别工作,具体工作如下:
1研究印刷质量对条码的影响,通过辨别解决条码印刷质量不佳的问题。
2针对条码图像特点,确立相应的图像处理算法,对采集的条码图像进行预处理,该部分的算法包括对条码图像进行定位分割,对图像除噪滤波等以有效提取条码图像信息,为后面实现正确译码做准备。
3通过计算机仿真的方法加入噪声,生成干扰图像,用此对图像预处理算法进行检索。
4对预处理的条码的图像进行译码,利用统计方法,归一化理论,根据相似边距来判别字符。
第二章一维条码技术
2.1一维条码简介
条码由一组规则排列的条,空及相应的字符组成。
条码的信息靠条和空的不同宽度不同位置来传递的,信息量的大小事由条码的宽度和印刷的精度来决定的,条码越宽,包容的条和空越多,传递的信息量也越大,条码印刷的精度越高单位长度内可以容纳的条空也越多,传递的信息量也越大。
这种用条空组成的数据编码很容易供机器识读,而且很容易已成二进制和十进制的数。
世界上约有225种以上的一维条码,每种一维条码都有自己的一套编码规格,规定每个字母(可能是文字或数字或文数字)是由几个线条(Bar)及几个空白(Space)组成,以及字母的排列。
目前使用频率最高的几种一维条码码制有:
EAN、UPC、三九码、交插二五码和EAN128码。
其中UPC条码主要用于北美地区。
EAN条码是国际通用符号体系,它们是一种定长、无含义的条码,主要用于商品标识。
EAN128码是由国际物品编码协会和美国统一代码委员会联合开发、共同采用的一种特定的条码符号,它是一种连续型、非定长有含义的高密度代码,用以表示生产日期、批号、数量、规格、保质期、收货地等更多的商品信息。
另有一些码制主要是适应于某种特殊场合,如库德巴码用于血库、图书馆、包裹等的跟踪管理;二五码用于包装、运输和国际航空系统为机票进行顺序编号。
还有类似三九码的九三码,它的密度较高,可代替三九码。
以上所说的都是一维条码,就是常说的传统条码。
本文主要研究其中的EAN13码。
条码可分为一维条码(OneDimensionalBarcode,1D)和二维码(TwoDimensionalCode,2D)两大类,目前在商品上的应用仍以一维条码为主,故一维条码又被称为商品条码,二维码则是另一种渐受重视的条码,其功能较一维条码强,应用范围更加广泛。
2.2一维条码符号的结构
通常任何一个完整的条码是由两侧空白区、起始符、数据字符、校验符、终止符组成,以一维条码而言,其排列方式通常如表2-1所示:
表2-1条码符号结构
图2-1条码符号
1、空白区
位于条码两侧无任何符号及资讯的白色区域,主要用来提示扫瞄器准备扫瞄。
2、起始符
指条码符号的第一位字码,用来标识一个条码符号的开始,扫瞄器确认此字码存在后开始处理扫瞄脉冲。
3、数据符
位于起始字符后面的字码,用来标识一个条码符号的具体数值,允许双向扫瞄。
4、校验符
用来判定此次阅读是否有效的字码,通常是一种算术运算的结果,扫瞄器读入条码进行解码时,先对读入各字码进行运算,如运算结果与检查码相同,则判定此次阅读有效。
2.3EAN码简述
EAN码的全名为欧洲商品条码(EuropeanArticleNumber),源于公元1977年,由欧洲十二个工业国家所共同发展出来的一种条码。
目前已成为一种国际性的条码系统。
EAN条码系统的管理是由国际商品条码总会(InternationalArticleNumberingAssociation)负责各会员国的国家代表号码之分配与授权,再由各会员国的商品条码专责机构,对其国内的制造商、批发商、零售商等授予厂商代表号码。
目前已有30多个国家加盟EAN。
EAN码由前缀码、厂商识别码、商品项目代码和校验码组成。
前缀码是国际EAN组织标识各会员组织的代码,我国为6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 条形码 识别