密级: 保密期限: 年玄钾雷大李硕士研究生学位论文题目:二维条形码识别系统的设计与实现学 号: 055537 姓 名: 高峰专 业: 计算机应用导 师: 蔺志青教授学 院: 电信工程学院008;1 3J」1)}『密级: 保密期限: 年玄钾食 李硕士研究生学位论文题目:二维条形码识别系统的设计与实现学 号: 055537姓 名: 高峰专 业: 计算机应用导 师: 蔺志青教授学 院: 电信工程学院._2008年3月22日独创性(或创新性)声明本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意申请学位论文与资料若有不实之处,本人承担一切相关责任本人签名: 高峰日期: 卫峪.3.刀关于论文使用授权的说明学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。
保密的学位论文在解密后遵守此规定)保密论文注释:本学位论文属于保密在 年解密后适用本授权书非保密论文注释;本学位论文不属于保密范围,适用本授权书本人签名: 肩峰'1W导师签名:日期:_ 28.多一邵期: .24.3,23关键词:二维条码快速响应码条码识别数字图像处理二维条码识别系统的设计与实现摘 要随着信息技术的发展,二维条码应运而生,并且具有良好的应用前景作为二维条码的一种,OR码是建立在计算机图像处理技术、组合编码原理等基础上的一种特殊码制由于二维条码的信息密度比较高,尤其对于OR码,其识别技术比一维条码的识别更为复杂,因此如何实现二维条码有效快速的识别成为当前重要的研究领域基于图像处理的二维条码识别系统及其应用的研究无论是在理论上还是在实践中都具有十分重要的意义本文结合与企业合作的工程项目,完成了如下几项内容:第一, 介绍了OR code的码字特点及编码相关理论,实现了基于固定版本(版本I和版本4)的编码器系统第二, 探讨了面向的图像处理技术因为处理能力有限,一些效果不错但是处理时间开销大运算复杂的经典处理方法,如 Hough变换等在此并不适用如何使用时间开销小、复杂度较低的方法识别快速响应码成为本文探讨的焦点。
本文详细介绍了在上进行二维条码图像处理的步骤和方法,包括灰度化、二值化、图像裁剪、再次二值化、投影、图像旋转、中值滤波等其中通过两个方面技术创新提高’I图像处理速度:一方面,在对二值图像投影将二维码图像旋转至水平位置时,由于仅选取二维条码的四个顶点进行投影运算,程序大大降低了其处理的时间开销;另一方面,通过两次进行图像二值化的方法,降低了对二值化闽值的选取的复杂度第三, 讨论了OR Code的解码理论及步骤,研究了使用J2ME开发软件的方法,开发实现了基于平台的二维条码识别系统测试结果表明该二维条码识别系统在固定场景拍照时具有很好的抗噪性,初步满足了在系统资源受限的上识读二维条码的时间要求和准确度要求THE DESIGN AND IMPLENTATION OF TWO-DIMENSIONAL BARCODE RECOGNITION SYSTEM ON MOBILE PHONEABSTRACTThe 2D barcode which emerged with the development of information technology has a promising future. As a kind of 2D barcode, OR code is a special symbology based on digital image processing and combined coding theory. As the 2D barcode has relatively higher density information, its recongnition is more complex than that of 1D barcode. Therefore, it is important theoretical and practical meaning to study the problems of embedded barcode recognition system based on image processing, especally the recognition on mobile phone.This paper is about the projects cooperated with the enterprise and has completed the following aspects:First, we introduced the code features and coding theory about OR code. And we developed the coding system of OR code based on the fixed version (version 1 and version 4).Second, we discussed the image processing technology of OR code based on mobile phones. As the process capacity of mobile phone is limited, some excellent technology, such as Ilough Transform, which is complicated and takes much time, is not practical. So we are trying to find the way of image recognition which takes little time and is easy to be operated. We introduced the methods and steps for the image processing technology which includes gray image, image binarization, image cropping, image binarization, image projection, image rotation and median filtering. Particularly, as we only choose four points to rotate, thetime and memory consuming is dramatically decreased. The experiment result shows that the process steps can reduce noise influence efficiently and satisfy the command of time consuming. We proposed two methods of technology innovation to improve the speed of image processing: As we only choose four points to rotate, the time and memory consuming is dramatically decreased. Besides we reduced the complexity of choosing the Threshold for image binarization through making the image binarization twice.Last, we discussed the decoding theory and steps of QR code.We also did the research about the method to develop the software on mobile phone using J2ME.The test result shows that the 2D barcode recognition system on mobile phone can reduce noise influence efficiently and satisfy the command of time consuming.KEY WORDS: Two-Bar Code,OR Code, Bar Code Recognition, Digital Image Proces目录第一章绪论..…,~....-........-.........-......……_….…,..--...........-....--.....---..一_..-..一_一~-..一‘..-…,.…..11.1课题背景‘一+一……甲甲甲.,.,,……,.甲一‘,,甲二甲甲一‘…_'.,,.甲甲二,.甲甲…,二_,甲,.,甲…‘甲.…,,,…,.…,,“…~二‘..…“,二,.......……1 1.2二维条形码简介…,.…‘..…‘..…,'.....……__一,.',二,,.…,.,.…,…,.…“..........……_二甲。
一甲,.一_.甲,二‘,二甲二,,…二维条形码+,‘二,.'+....……,,一甲..…,,一.一‘甲,,.…,'.…,..…‘.,…‘,……,....一.一,..........一,二,甲甲甲…,.…3 1.2.2 OR Code快速响应码.……,,二‘.……,…-,__甲~二甲…甲甲甲.,甲甲甲二‘二‘.……甲甲一,,,.,~…甲.,一,一,..…~.‘一‘.甲二“…3 1.23二维码应用模式与现状....一_~…,一,二‘.,..…‘..……,.…,…_一,..…_.甲一~~一_二甲,..…,,.甲.,+.甲甲.,甲甲.4 1.3本课题的主要成果及论文结构…‘++..........一,..…‘……甲.,一,二,.'.“一‘.二”,一“‘甲二、、甲二‘、甲甲.,.甲甲甲.甲6第二章Qk码的结构与编码理论一~-.一一~...-.一…-”一~~~二~~一~~~.~~一―~..一”:.“一”一82.1 OR码的符号特性与结构一‘一,...……‘,,...............-.....……,..……甲......……‘.甲二__',.一‘.甲甲..…‘.甲一‘…,'.…8 2.1.1 QR码基本特性,…甲.,,甲二‘_.,,+一,,',.,二,,,,甲一甲.,.',,.…,一,,,.,.…,+…。
.‘二_一.....-..-.一-..……_甲甲.'_.甲.…甲…码附加特性二,..…甲,,.甲甲…,二甲,,.甲甲..-.一一,,…甲甲…甲甲…,,,…,~,…,.,,..…,.……,一,…~.,,,……,,…,,,二、,二9 2.1.3 OR码的结构一,.‘甲…~,..…、,一,,,,一,,.…,……‘,.……,一一,一..…“.…‘.......一..一‘,..…‘.…,'.…10 2.2编码理论简介二”‘…‘一‘....-......一‘.……,.一~一‘.....……‘.…,.....一..……甲.…,,…甲..…甲一‘二甲甲…甲.…甲甲.,12 2.2A编码的分类,‘一,',...一‘…,,,甲甲.....……~.'.,,,一,二甲.,,'..……‘一‘.....……,..…~.一..…‘,'.一_'.'._.12 12.2线形分组码…,,一“....一……‘一‘,,,二,___."_'.‘、…、、、.…、二甲一,.…,…甲..…甲一,二甲_..……甲二_,,.,.甲二,甲甲…,甲甲二,12 13.3循环码.一.....……‘..一二,一,……_,一_,.__.,'.…,‘二。
.'.…‘..甲‘.…‘.'.一甲甲一甲甲…,.…甲一_.-,'.甲甲.…甲…甲甲.,14 2.3.4 BCFI码.…甲一..……,…~...一~.....……,,一,,,,,一,'..…,......一..…~……‘……‘……,'."..一‘…,,‘……甲.巧 2.3RS码编码算法二‘._.,“甲甲甲‘二_一‘二甲.一.…‘…甲.…甲.‘二_,...……甲二,.甲二,.,.…甲.~.甲,甲.…,…,.__甲甲甲二甲甲,,二甲甲…,,二,..…,,二17第三章QR码编码系统的设计与实现”一~.-.---.….….,,..-,…-”一.,..-”一…一-一”:.,. ..-….….183.1需求分析…甲+甲…,,.'.甲二“",...-.…甲.一..............一..……,一……_..…,‘二‘.…甲…甲甲.…‘._.,甲.'~一,…甲甲……,.……甲is 3.2系统设云仁.…,.甲.…“…~,~....……,甲…‘.....……_……,......……_,.…甲一甲.…,.…,,.一____,..…_.…,二_甲…‘甲.甲.开发及运行环境.…,..……‘,……,,,二甲…~甲,.……,,甲甲一甲二,,甲,..…,',.甲二,甲.…,................一,,,、二,,…,图形结构一,“一“'.‘、.、.“一‘.,.,.‘一‘.……甲…,二,二甲.,,.甲二,'............一甲…‘.....一..一..一甲……,'...……,编码流程…,二甲甲.,.…甲,…。
..…‘二‘..……,.…_…‘....……、...……‘...-一.………-…,一‘…甲..…甲二,甲甲..…20 3,2.4模块结构.…,…~~,,,.…,,甲.…,~.甲甲..…甲一甲甲甲.~二,',二,一一,.甲甲甲一,…甲.,.甲甲甲二,甲甲..…~,一,一,甲,甲二甲..一‘一‘.1') 3.2甲5函数说明.‘…‘…~一‘,..一一......一--.....……,,'.一,.…,..…,…‘…,‘……,,.…,.......一.一..…~.‘二‘.,.甲…‘..…23 3.3界面及使用流程……,,,一,'..........……‘.,甲.……‘....……‘.…“'~…“..…,_‘……甲一,、‘二,,.........一甲二,…,24第四章QR码识别的图像处理二“.~....一”一一,.’…”,. ........-..…,,..…-...一~~....-.......一254.1图像处理概述…甲二,,…甲甲甲.二,,.,甲二甲,,‘二甲甲,一_.,,,.甲,,一甲,二甲甲…甲甲甲甲.甲甲甲二,,…甲‘』二“,,…,甲二,,~,,一,,甲.+~.‘…,+…,二25 4.2图像的灰度化.'.…‘..…‘…,‘……,甲,二‘......一-一,,卜,.…,..…,.……__'.……_...……____‘…‘."_‘一,__._‘…‘二,..…‘26 4-3图像的一值化二‘,....一,一“.‘二‘_一__二_二“.…“,二,"._.‘…_.'...……甲.…,‘…,一_.甲甲.__.甲甲…甲甲,,…甲甲一,.一甲二,.甲.图像的直方图甲.甲..…,,..…,甲…,....-一~~.~,,.,甲甲甲二,,..…,.…,一..…‘~,‘…,'..…‘.‘…~一“..一,.…,二甲二‘二图像的二值化技术二‘.甲甲…,,‘…甲,:-,一…,一甲二,,.甲,甲甲二甲…~甲甲.…~二~…‘.~~一~~~~……~~...……‘甲二值化闭值的算法..…‘二~",,.…~..…~一_.~.,.~'.…‘......……__…甲二__.,…~二“一.一一..…~甲一甲~..…,‘甲…314,4图像裁剪+二,二‘甲.…,甲.,甲二,.甲二+,.‘…‘…~,一,甲二,,,.,,,,.…甲‘,一,甲…,甲…、..…‘一“...……,.、,…,.一..…‘二,甲一‘二32 4.5将倾斜图像旋转至水平...-.一r一‘…,一,二,,,.…甲二,・・・.一・・・・・・・・・4・・・・・・・・・・・・・・・・・・4・・・・・・・・・・・・・・・・・・4・・,・・…哈夫变换.'.……,.…,…,,二,.,…,.,.,+.,._,,一,甲二,,甲…甲甲二,甲甲甲一甲甲.,甲甲…,甲甲甲甲甲,一,,一甲.,,,甲一甲甲,二甲甲一,二,,,,,,.,一,投影与图像旋转.…‘,二甲..……,……,‘…,…,.,…~.,.,甲甲.,,…~甲.…,二,甲-・-.・・・・・・・-・-,・--・・・・・・・・--・・・・-・・・・・一33 4.6图像的:[1值滤波甲,.‘二‘…‘…‘..…‘.……,.…,,,.,.…,...……,一‘二,.,…,.・・・4・.・・・・・・・・・・・一,・4,・・・・,・4・・・・・・・・・・・・一35第五章QR码的译码.,.……,..…,甲,一一,,,.~,…,.…,…,..…,:.,.…‘二‘二,.-'.一・・・.・・……,-・・・・・・・・,・・・・・・・・・・・・・・・・・・・・,・・…37S,IRS码纠错译码算法二,.一,一‘二,.+,一,、…,‘一甲、.,・・・・・・,・・・・・,・4・・-・・・』・・・・・』‘・・‘・』・・・・』・・』・・・・・・‘・・・・,・』一37 5.1.1 RS纠错译码算法原理...一甲,二,,一‘二,~一,,甲..・,・・・・・・・・.・--・・・・・』・‘』-‘・,‘』』・・‘・・-・‘・』・・・・-・“・・・・・』・‘』一37 5.1.2 RS译码算法二,+.,.…++.,'.一‘.,‘一,……‘.…甲.一,…,.…,,,甲.…甲.'..一,,,甲甲.,+甲二,.一甲…甲“4,・・一4' 5.21CH译码流程甲.,,.,.,.甲.、,.,.',,甲甲二.,,.,甲......……、二甲.…甲…,……‘......一甲・・,!一,甲二,・・・・,・・・・・,・』・・・・,・,,‘・・・・……42 5.3 OR COD:的译码流程,…』…』.,r二,一,一,.甲.'.、.,‘・…~.,.・・一・・・・・・・・・..・・・・・・・・・,・・・・・・・,,・・・・-・・・・・・・・・・,・・・-,・・・,,一43第六章二维条码识别系统设计~..-....・・・・.・・・・・・・一・・・・・・.-・・・・・・一・.-・・・・・・・・,一・・・・・・4・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・一61需求分析,,…+二,,…,,.,.,.,,,,.,.…+..…__.,,,.…』,,+甲.,.‘二、,,,.』,,二‘一‘…,.,,,甲..一‘,,甲.一‘二,甲…,,甲.,,二,』,.卜一,,.45 6.L.1 OR码应用简介甲.,,甲.一,,一‘+,二,,,+甲,,.甲,,一,.…、+.,一甲・・.一・‘・・・・・4・・・・・・4・・・・・・・・・・・・・・・,,・・・・・一识别条码原理……‘…甲....……甲二,甲一,'.…,甲…,・…,・甲・一甲・・,・‘・・・・,』・・,・・・・・,・・・・・・』・・・』,・・,,・‘』一识别系统功能简介,.,._..…_._一,,.…,.…,…,,‘…,,.…,.…,、.,,.'.…,一,,.……,.,・.・-・・・....・・-・・・・・・・・・・・・一47 6.2 J2ME技术分析,..…,二,…,,'.…‘二‘二,……‘..…‘…,+.,....一,-.............-.....……,..……,…‘....・・・……,‘…47 6.2.1 J2ME简介,……‘.一,,'..一..一一一‘....一,……,,,,...……‘.,…,'...一‘..一“.…‘…‘…,.…,二‘,一,.47 6.2.2 J2ME体系架构.__.甲……甲....一甲.,甲,二,,甲甲.甲.,,..…甲甲卜,,甲.甲,甲甲甲.,,甲甲甲、甲..……,'.…甲.,甲甲,,甲.,.,二‘甲._.…‘_……,.'.47 6.2.3 J2ME兼容性+二,二,'.,.,甲__',、._…_r二,……,一,二~…~..........-..一,甲一r-,・・..一~・・・・・-,・・・・・,・・,・・・一49 6.2.4 J2ME开发流程+甲‘.…,.~.甲一甲甲.…甲,.,+甲,.,,甲一,.......一甲.,…,二甲甲一,……,,,,.,二甲.,.…,,二,一,甲.……‘一,.50 6.2.5 J2ME捕获摄像头..…_..……_...……_二甲甲,二甲甲.…_r_._,..一……,二甲....……“_二甲.…,.…+…甲…‘甲.‘二甲.".,+.',50 6.3开发与运行环境…,一甲.…甲_.…、二‘.甲二‘.…,.,'.…,…,,..…‘.一,二,.,'........・・....4・』・・・・・・,・・・・・・・・・・・,・・・・・・・・・・一52 6.4系统设计.,,…,,一,,二,二甲甲,,,......一,一甲一,'.…甲.…, ...一~.…,一‘一‘~......一甲.-..…,'.,..........……+系统流程,‘…,,……‘二_‘二,.……甲…甲…,甲甲.…甲甲__.,甲…、甲.…甲.".+…‘甲_…,……甲_…甲...……甲…,甲二甲二,,._二,二53 642模块调用关系._..……_...……‘.……,,,.…,‘…,'...……“…‘.…甲.…‘甲.…甲.…,..…甲.…甲..……,……,.甲.…‘二_54 6.5模块洋细设计.,甲.,,甲.,甲.甲二,.甲…甲甲..…,.~,.…卜.,.,,.……‘…,‘二,,一,.......一.一一‘.…‘…“..-...・.・一4.……,…图像捕获模块二,'..…甲…‘甲甲一‘._,甲甲二、,甲.…‘…_二,一,.…甲…,,'.‘甲甲.甲.,,.,甲,.甲甲一_,,甲__.甲二_.…_二,二甲.+甲.,.卜.图像处理模块…,…,,,.__..一_...……,……_.…_…_,...……_.................……,,.'.…甲甲…甲甲.…甲甲二甲甲...……56 6.53解码器模块‘.,'_“甲二‘.+._'.'.,卜_一甲“'.+,,,',,,..一‘.+.、..一,.,,,、一,一+……,.....……,,、.,一‘._…,二59 6.6测试结果甲.,二甲...……“二甲.…甲甲‘二甲甲.甲.,.~.,,,甲甲二,,二,.,甲..…,‘甲..…甲甲…,甲甲二,,一+....一‘一,一‘…‘…,'...一,二‘二,.60 6-7结论与展望..…_二_,…_.,_,.…_…甲__…_..…‘..……,甲.…甲_..…‘.,…‘一+…‘一甲…,二‘…甲甲,甲二+甲二‘二,.,..…,甲甲.…,.61参考文献.,,.…‘...一甲‘....……‘......-.....-.......……‘甲…、甲...…,...…、.,..…,….,二,,~.。
…,一,..…,.一二,……,一,.……62 致谢‘:.'.甲二‘二,…,,…,.…~…,甲,…,.,…,,甲.-,,一,,,,...…甲,.…,.,二,.~一,,…,.........一-……~一......'.一.......……‘...-.......一‘..64作者攻读学位期间发表的学术论文目录..…,'.....・・・・・・・・・・・・・・・・・・・・・・・・・・・・.’・,・..一・,・,・・・..・・・,,・・.-,・..、,・一65北京邮电大学硕士学位论文 二维条码识别系统的设计与实现第一章绪论本章主要介绍了论文的课题背景和二维条码技术的国内外发展现状以及作者在课题期间所作的工作及所取得的成果1,1课题背景条码技术至今已有60多年的历史从20世纪40年代的美国发起,7O-8O 年代一维条码在生产和生活的各个方面得到了广泛的应用,并极大的提高了生产率,但是一维条码本身的缺点―信息量小、依赖数据库等也日益显露出来80年代末发明了二维条形码,二维条码与一维条码相比具有容量高、密度高、纠错能力强等特点,因此得到广泛应用 而正由于二维码信息密度高,与一维条码相比识别技术更为复杂,所以二维条码的有效快速的识别成为一个研究领域。
OR码是由日本Denso公司于1994年9月制定的一种矩阵二维条码符号,它除具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图像等多种文字信息、保密防伪性强等优点外,还具有超高速响应、全方位识读、可离线应用的便携式数据库、能够有效地表示数字字母、汉字、图像等特点 QR码的尺寸小于相同密度的PDF417条码,专有的汉字模式更加适合我国应用近来,随着的普及和配置的不断提高,特别是摄像功能越来越强大,使用范围越来越广泛,摄像功能潜力开发越来越受到人们的关注其中,利用拍摄条形码获取信息进而实现某种服务的应用模式特别受到青睐在国内外,已经开始了通过拍照对物品条码识别的研究与应用二维码具有信息量大,纠错能力强,识读速度快,全方位识读等特点,可以印刷在报纸、杂志、广告、图书、包装以及个人名片等多种载体上,用户通过扫描二维码或输入二维码下面的号码即可实现快速上网,随时下载图文、音乐、视频、获取优惠券、参与抽奖、了解企业产品信息同时,还可以方便地用识别和存储名片、自动输入短信,获取公共服务(如天气预报),实现电子地图查询定位、阅读等多种功能随着3G的到来,二维码可以为视频、网上购物、网上支付等提供方便的入口。
条码识别应用为用户使用上网提供了极大便利,省去了输入较长地址的北京邮电人学硕卜学位论文 _二维条码识别系统的设计’J实现麻烦,同时也可直接进入自己想看的网页,节省S上网的费用此外,条码识别应用也为平面媒体、增值服务商和企业提供了一个与用户随时随地沟通的方式条码识别的上网应用旨在进一步为用户提供便捷、高质量的移动互联网服务,同时打造有中国特色的二维码产业链,为企业和行业应用开辟空间,中国移动也在大力推动)一商对条码识别软件进行内置二维码与菜单、搜索引擎并称为上网三大入口,可以让用户在任何地点、通过任何媒体、获取任何内容;同时通过这种平台服务,为媒体、企业、品牌创造价值我国的条码自动识别技术起步较晚,但是发展很快80年代以来,随着我国改革开放步伐的加大和经济的发展及技术的进步,在图书管理、邮件分拣、血库管理、海关报关等许多领域)!始应用条码技术,并取得了经验1988年,经国务院批准成立了“中国物品编码中心”,负责与国际物.I1III,编码协会的联系,组织、协调、发展我国的条码工作1991年和1997年我国分别以中国物品编码中心和中国自动识别行业协会名义加入了国际物品编码协会和国际自动识别制造商协会,促使我国条码自动识别技术的推广应用和自动识别装备的迅速发展。
在生产、仓储、交通运输、医疗等领域建立了一批条码应用系统1191目前我国己有数百家公司、研究所、企业、大专院校在从事条码自动识别技术的研究、)「发、生产、销售和系统建设条码白动识别技术装备产业在我国也正处于蓬勃的发展中但是,与国际发展状况相比,我国还有相当大的差距,同国内经济技术发展的需求也很不适应建立应用系统的物质基础一条码自动识别技术装备科研、)卜发、生产力量还相当薄弱.目前我国使用的条码自动识别技术装备大部分是依赖进口或进口零部件组装国内条码技术的发展需要在加强各种码制和技术装备标准化等基础方面做工作在积极学习国外先进技术,紧跟世界潮流的同时,也需要自力更生,开发适合我国的硬件和软件,避免在加入WTO后,国外产品垄断我国的市场积极发展,既与国际接轨,又拥有自己的技术优势,是我国条码相当长时期的发展方向由于识别设备采用的条件限制,二维条码识别存在如下困难:第一,图像质量问题由于光线条件的不确定性,摄像头拍摄的QR码图像光线背景将变得复杂,图像模糊是拍照识别二维条码的障碍之一第二,可用资源问题芯片运算能力较低、存储空间较小决定了其不能采用过于复杂的图像处理算法,否则无沦是速度还是精度都达不到算法所要求的效果。
北京邮电大学硕士学位论文 二维条码识别系统的设计与实现.2二维条形码简介二维条形码二维条码是用某种特定的几何图形按一定规律在平面分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的 ,'0',、"1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理,它其有条码技术的一些共性:每种码制有其特定的字符集:每个字符占有一定的宽度;具有一定的校验功能等同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点二维条码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息目前,根据二维条码实现原理、结构形状的差异,可分为堆积式或层叠式二维条码和棋盘式或矩阵式二维条码两大类型[21堆积式二维条码的编码原理建立在一维条码基础之上,按需要堆积成二行或多行它在编码设计、校验原理、识读方式等方面继承了一维条码的特点,识读、设备与条码印刷与一维条码技术兼容但由于行数的增加,行的鉴定、译码算法与软件不完全相同于 维条码有代表性的堆积式二维条码有PDF417, CODE 16K等矩阵式二维条码是在矩阵相应元素位置上,用点的出现表示二进制U1",点的不出现表示二进制的“0",点的排列组合确定了矩阵码所代表的意义。
矩阵码是建立在计算机图象处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制具有代表性的矩阵码如OR Code、 DATA MATRIX等1.2.2 QR Code快速晌应码OR Code是由日本Dens公司于1994年9月研制的一种矩阵式二维条码符号,它除具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图像等多种信息、保密防伪性强等优点外,还具有如下主要特点:尸比京邮电人学硕{学位论文 _维条码乒机识别系统的设计与实现图1-1 QRCode示意图(1)超高速识读从OR Code的英文名称Quick Response Code可以看出,超I' J速识读是OR 码区别于PDF4I7、 Data Matrix等二维码的主要特性由于在用CCD识读QR Code时,整OR码符号中信息的读取是通过OR Code符号的位置探测图形,用硬件来实现,因此,信息识读过程所需时倒很短,它具有超高速识读特点用 CCD二维条码识读设备,每秒可识读30个含有100个字符的OR Code符号;对于含有相同数据信息的PD F4 17条码符号,每秒仅能识读3个符号;对于Data Matrix矩阵码,每秒仅能识读2到3个符号。
QR Code的超高速识读特性使它能够广泛应用于工业自动化生产线管理等领域2)全方位识读OR Code具有全方位(360度)识读的特点,这是QR Code优于层叠式二维条码如PDF4I7条码的另一主要特点,由于PDF4 1.7码是将一维条码符号在行排高度上的截短来实现的,因此,它很难实现全方位识读,其识读方位角仅为110 度3)能够有效地表示汉字由于QR Code用特定的数据压缩模式表示中国汉字和日本汉字,它仅用13 位可表示一个汉字,而PDF417、 Data Matrix等二维条码没有特定的汉字表示模式,因此仅用字节表示模式来表示汉字,在用字节模式表示汉字时,需用16 bit(两个字节)表示一个汉字,因此OR Code比其它的二维条码表示汉字的效率提高 20%二维码应用模式与现状几维码技术是指以二维码标准为核心,将作为载体,而展月:的码制编码、译码、识别、被识别相结合的综合性技术二维码技术的研究始一」飞20世纪80年代末,目前二维码己经是一项非常成熟的技术,少}有许多国家开始应用北京邮电大学硕士学位论文 二维条码识别系统的设计与实现这项技术1)二维码应用主要包括以下几种形式移动支付:的支付一般是通过钱包来实现的,钱包可以当作现金、储蓄卡、保管柜钥匙、火车票等。
支付是二维码最典型的应用,二维码被广泛地应用于不同的支付方式中电子票务:电子票务也是二维码的典型应用,该应用需要结合售票单位的网站、售票信息发布平台共同完成消费者如果有购票的需求,可通过上网等方式查找相关的票务信息,然后可根据相关信息发短信至售票系统,再按提示进行支付支付完成后,售票系统会把电子票以二维码的形式发送到购票者中,完成购票流程二维码的识读应用:识读应用也是二维码的重要应用之一,主要用于平面介质上消费者可以利用照相内建的读码软件,轻轻对准平面杂志或是海报上的二维码一拍,就可以将二维码图形立即转化为文字,或是连接到相关网址,更方便地实现上网或内容下载2003年,日本电信运营商KDDI首先推出二维码业务比如,在一张 CD或者DVD光盘上,通过识别二维码来了解光盘的内容;在旅游景点配合OPS快速定位等其后不久,韩国与中国台湾也开始陆续推出自己的条码业务现在,在日本、韩国和中国台湾,条码己经随处可见除了杂志和报纸,二维条码还被印在名片、户外广告牌、优惠券和产品包装等介质之上在二维码的识读应用方面,韩国做得也比较成功,他们在大学的图书馆中就安装了读取二维码信息的读码器学生进入图书馆时,只需打开,调出上存储的二维码,然后将屏幕靠近读码器,便可将个人信息传到图书馆的电脑中进行身份识别,识别无误就可以进入图书馆,整个过程只需要几秒钟。
这种二维码识别方式己经替代了原先必须检验学生证的传统方式此外,图书馆借阅厅的电脑系统也与二维码读码器实现了连接学生只要将上用于身份识别的二维码扫入读码器,便可在旁边的电脑上查阅自己的图书借阅情况2)国内二维码应用情况自2OO5年5月中国移动将湖南分公司确定为二维码业务的试点单位以来,湖南移动已摸索出一套条码凭证业务发展的成功模式目前,湖南移动已成功开发并推出了“移动订票”、“电子VIP卡”等比较成熟的条码凭证业务在移动订票业务中,采用电子回执充当“电子票”,可以取消纸质票的人工配送环节对目标客户发送相关二维码电子票务信息,客户只要调出电影院发北京邮电大学硕!:学位论文 二维条码卜机识别系统的设计!j实现送给自己的电子回执短信,计二维码图形显示在屏幕的中央,发出“嘀”的一声后,机器就能自动把电影票打印出来,然后验票入场在“电子VIP卡”方面,湖南移动VIP卡用户到VIP服务场所后,只要出示上的电子vip卡经验证,就可享受VIP会员服务1.3本课题的主要成果及论文结构木课题源于实验室与企业合作开发的二维条形码项目课题最终实现的是二维条码编码器和二维条码识别软件两部分,其中编码软件运行在PC平台,二维条码识别软件运行在操作系统。
这两套软件共同组成了‘个闭环的系统:山编码软件在PC平台上生成二维条形码编码图样,这种图样可以印制在各种传播媒介上传播,上运行的解码软件可以在开放环境下(非确定光源,确定识读方向条件)对二维条形码编码进行识读,最终给出结果二维条码识别软件针对需求增加了上网的模块,用户将此软件安装在带有摄像头的上,轻轻对准平面杂志或是海报上的二维码一拍,就可以将二维码图形立即识别为相关网址,更方便地进行上网作者全程参与了该课题的研究与开发工作,在二维码编码器系统中负责RS 编码和BCH编码的程序开发在二维码识别软件开发过程中,重点负责对图像的预处理方法的研究与程序J[发及优化,针对平机Cpu、内存等资源受限的情况,作者在满足要求的情况下尽量降低图像处理的复杂度,对程序充分优化,最终满足了在平台资源受限条件下的条码识别的时间要求和准确度的要求作者在图像处理过程中的优化措施包括: 第一,将几值图像投影将图像旋转至水平位置时,由于仅选取二维条码的四个顶点进行投影运算,使程序大大降低了其处理的时问开销第二,通过两次进行图像二值化的方法,降低了对二值化闭值的选取的复杂度本论文分为以下六个部分:第一章上要介绍了论文的课题背景和二维条码技术的国内外发展现状以及作者在课题期问所作的工作及所取得的成果。
第二章详细介绍了QR Code的符号特性、条码结构及相关编码理论第三章介绍了在计算机上实现的第一版本和第四版本的OR Code编码系统的设计与实现,其开发系统平台为Windows XP,开发工具VC 6.Oc第四章探讨了面向的OR码图像识别所用到的关键技术,及作者所采取」七京邮电大学硕士学位论文 二维条码识别系统的设计,-J实现的降低图像处理复杂度的优化措施详细介绍了在平台上进行二维条码图像处理的方法,包括灰度化、二值化、图像裁剪、投影、图像旋转、中值滤波等第五章探讨了RS码译码流程和BCH码译码流程,介绍了QR Code的解码原理及相关理论,详细说明了其解码流程第六章研究了使用J2ME开发软件的方法,实现了基于平台的飞维条码识别系统的开发,并且给出测试结果北京ifll电人学硕I:学位论文 维条码p机识别系统的设计’:1实现第二章QR码的结构与编码理论2.1 QR码的符号特性与结构2.1.1 QR码基本特性每个OR码符号由正方形模块组成的一个正方形阵列构成,它山编码区域和包括寻像图形、分隔符、定位图形和校正图形在内的功能图形组成功能图形不用于数据编码符号的四周为空白区图2-1为OR Code版本7符号的结构图III0QR基本特性主要有以下五个方面: 1)编码字符集》 数字型数据(数字0一9);卜 字母数字型数据(数字O~9;大写字母A~Z:9个其他字符:space. $, %, *, +, 一,., /,: );》 8位字节型数据;》 日本汉字字符;》 中国汉字字符(GB 2312对应的汉字和非汉字字符)。
2)数据表示方法深色模块表示二进制I",浅色模块表示二进制“'Jo3)符号规格规格符号不包括空白区域,符号规格从21 x2 1模块到177x177模块(版本1到版本40,侮一版本比前一个版本每边增加4个模块)4)符号的数据字符数每种符5的数据字符数如下面所列(最人规格的符号一版本40- L):卜 数字数据7089个字符;卜 字母数字数据4296个字符:北京邮电大学硕士学位论文二维条码二r机识别系统的设计‘J实现价w拼洲 ic \ \位材探侧阳屯分麟符 功欣基形定付泪月云户”》 8位字节数据2953个字符:》 中国汉字数据1817个字符5)纠错能力》 L级:约可纠错7%的数据码字;》 M级:约可纠错15%的数据码字:卜 O级:约可纠错25%的数据码字;》 U级:约可纠错30%的数据码字2.12QR码附加特性1)结构链接结构链接是可选项目,允许把数据文件最多用16个QR码符号在逻辑上连续地表示以任意的顺序扫描,而原始数据能正确地重新连接起来2)掩模掩模是固有项目,可以使符号中深色与浅色模块的比例接近11,使因邻近模块的排列而影响高效译码的可能性降为最小,减小对译码的准确的影响3)扩充解释扩充解释是可选项目,这种方式使符号可以表示字符集以外的数据(如阿拉伯字符、古斯拉夫字符、希腊字母等),以及其他数据解释(如用一定压缩方式表示的数据)或者对行业特点的需要进行编码。
一― 一 二L_-亨只l万北京邮电人学硕l学位论文_维条码卜机识别系统的设计’,‘实现图2-1 OR码的结构图2.L3 QR码的结构每个QR码符号山正方形模块组成的一个正方形阵列构成,它的编码格式依次为:模式指示符、字符计数指示符、经各种规则压缩后的数据、填充位和其他信息,然后按照版本信息分割成不同的块,对每一块进行竺LJ错位计算并填充纠错码数据,按照不同的版本摆放数据,摆放位置探测图形、定位图形、校正图形格式信息、版本信息编码区域包括寻像图形、分隔符、定位图形和校正图形在内的功能图形组成,功能图形不用于数据编码,符号的四周为空白区,如图2-1所示以一『是OR图像结构中的符号信息Ill. I)符号版本和规格QR石马符号共有40种规格,分别为版本1、版本2,…,版本40版本I的规格为21模块x2 1模块,版本2的规格为25模块x25模块,依此类推,侮一版本比前一版本每一条边增加4个模块,直到版木40,其规格为177模块x 177模块不同的版本可以包含不同的信息量2)寻像图形寻像图形包括三个相同的位置探测图形,分别位于符号的左上角、右上角、左下角,如图2. 1所示每个位置探测图形可以看作是山3个重叠的同心正方形组成,它们分别为7x7个深色模块、5x5个浅色模块、3x3个深色模块。
如图2所示,位置探测图形的模块宽度比为1:i:3:1:1符号中其他地方遇到类似图形的可能性很小,因此可以在视场中迅速地识别可能的QR码符号识别组成寻像图形的3 个位置探测图形,从而明确地确定视场中条码符号的位置和旋转角度t:人 B CA: 3模块B:5模块C: 7模块图2-, 位置探测图形的结构北京邮电大学硕士学位论文 二维条码识别系统的设计与实现3)分割符在每个位置探测图形和编码区域之间有一个宽度为1个模块的分割符这样也便于从整个图像中找到位置探测图形,进而确定QR图像的具体位置4)定位图形水平和垂直定位图形分别为一个模块宽的一行和一列,由深色和浅色模块交替组成,开始和结尾都是深色模块水平定位图形位于符号上部的两个位置探测图形之间,在第6行垂直定位图形位于符号左侧的两个位置探测图形之间,在第6列它们的作用是确定符号的密度和版本,提供决定模块坐标的基准位置5)校正图形每个校正图形可以看作是3个重叠的同心正方形,由5x5个的深色模块,3x3 个的浅色模块以及位于中心的一个深色模块组成校正图形的位置数量视符号的版本号而定,版本2以上(含版本2)的符号均有校正图形对于摄像头拍摄的图像大多都有不同程度的失真,通过校正图形便于确定图像的失真程度,对分割单行条码具有很好的辅助功能。
6)编码区域编码区域包括表示数据码字、纠错码字、版本信息和格式信息的符号字符不同的版本符号根据规范,其中包含的信息量是不同的编码时,如果没有明确的版本规定,则自动使用满足信息量的最小版本7)空白区空白区为环绕在符号周围的4个模块宽的区域,其反色率应与浅色模块相同但是在实际情况中,条码的周围往往不是标准的空白区域,而会出现一些杂质背景或者条码破损8)版本信息如结构图所示的位置,在条码的两个特定的区域有版本信息,因为版本信息在译码时相当重要,所以图形中出现两次,提供信息冗余版本信息为18位,其中6位数据位,12位通过BCH(18,6)编码计算出来的纠错位9)格式信息格式信息如结构图所示,也是出现两次,提供信息冗余,包含了条码的纠错等级和掩码图形参考等信息,格式信息为15位,其中有5位数据位,10位用BCH北京邮电人学硕卜学泣论文 二维条码识别系统的设计’,实规(15, 5)编码计算得到的纠错位第1. 2数据位是符号的纠错等级,第3, 4. 5位是掩模图形参考2.2编码理论简介大多数的二维条码中的自动纠错技术采川差错控制技术中的ill德一索洛蒙 (Reed-Solomon)码,简称RS码RS码是多元BCH码的特殊子类,BCH码又属于可以纠正多个随机错误的循环码,而循环码是线形分组码的一个重要子类。
编码的分类按照编码规则的局限性可分为分组码和卷积码121若编码的规则仅仅局限在本码组之内,即本码组的监督元和本码组的信息元相关,则称这类码为分组码若本码组的监督元不仅和本码组的信息元相关,而且还和本码组相邻的前N-i个码组的信息元相关,则这类码称为卷积码按照编码规则可以用线性方程组来表示,则称为线性码,否则称为非线性码;按编码后每个码字的结构可分为系统码和非系统码系统码的每个码字中,前k 个码元和信息码组一致,而非系统码的码字没有这种结构上的特点:按纠正差错的类型可分为纠正随机错误码和纠正突发错误码;按:爪码字中的每个码元的取值可分为二元码或二进制码和多进制码线形分组码线性分组码是研究其它差错控制编码的基础,由于在数字通信和数字计算机中采用符号和1的二元码,所以我们只提到二元线性分组码[311)一致监督矩阵和一致监督方程编码就是给己知信息组按预定规则添加监督码元,以构成码字对于(n ,k)线性分组码,每个码字中的r(r=n-k)个监督元和信息元之间的关系可由以下线性方程组确定:h11C_1+h:ZCn_2+…hiC0=0;hZI C_1+h22Cn一2+…h ,, C0=0; (2.1)h', C。
1+h:,几_:+…h,几=0;1七京邮电大学硕士学位论文二维条码识别系统的设计与实现令上述方程组得系数矩阵为I-I,码字矩阵伟C,即:cii_2… co'2) 3)气石 2一 h11 h1Z 一 h10H一 h21 h,. … hZnho1 h2 h3 hr4;C一[cn_1可得到:HCT= U或HTC二0;对H各行实行初等变换,将后面r列化为单位子阵,于是有:' q11 q12,一 q111 1 04二 0-卜chi q2 " ' q211 0 "" 0 一[Q irj;qr1 q2"'q4 0 0 … 1把变换后的监督矩阵H成为监督矩阵的标准形式显然,H阵的每一行都代表一个监督方程,它表示与该行中1相对应的码元的模2和为00因此H的标准形式还说明了相应的监督元是由哪些信息元决定的2)线性分组码的生成矩阵在由(n, k)线性码构成的线性空间K的k维子空间中,一定存在k个线性独立的码字:g1, g2,…,g‘那么任何码字C都可以表示成这k个码字的合,即:4) 匀仁 份C=m_1g1+mk一之g:+…m0gk式中m1EGF(2),i=0, I,k- 1 将公式(2.4)写成矩阵形式得:glC一『mk一1其中C=[mkl m Ic-2一mk-2m。