二维码生成与识别.docx

上传人:b****3 文档编号:3850133 上传时间:2022-11-25 格式:DOCX 页数:30 大小:1.65MB
下载 相关 举报
二维码生成与识别.docx_第1页
第1页 / 共30页
二维码生成与识别.docx_第2页
第2页 / 共30页
二维码生成与识别.docx_第3页
第3页 / 共30页
二维码生成与识别.docx_第4页
第4页 / 共30页
二维码生成与识别.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

二维码生成与识别.docx

《二维码生成与识别.docx》由会员分享,可在线阅读,更多相关《二维码生成与识别.docx(30页珍藏版)》请在冰豆网上搜索。

二维码生成与识别.docx

二维码生成与识别

 

河南农业大学

本科生毕业论文

题目二维码生成与识别技术研究

学院理学院

专业班级电子信息科学与技术10级

(2)班

学生姓名孙佳

指导教师李宝方

 

撰写日期:

2014年5月15日

二维码生成与识别技术研究

孙佳

摘要

随着二维码的日益普及,二维码的应用正在迅速扩大,条码及条码技术逐渐渗透到人们的生活中,把人们从繁琐和重复的工作中全面解脱出来,本文试从二维码的起源、编码原理、技术标准、阐述二维码技术的发展及应用。

本课题研究的是二维码的生成与识别。

在二维码系统中包含有两部分:

二维码的生成系统和二维码的识别系统。

生成系统完成了从输入数据到生成相应二维码的功能,识别系统完成对采集到的二维码符号进行译码还原出所携带信息的功能。

文章最后还检测了整个设计系统,并且对二维码的安全使用提出建议。

关键词:

二维码;编码原理;技术标准;应用;二维码的生成;二维码的识别

:

 

TheresearchofgenerationandrecognitionofTwo-dimensionalcode

SUN-Jia

Abstract

Withtheincreasingpopularityofthetwodimensionalbarcode,twodimensionalbarcodeapplicationsareexpandedrapidly,barcodeandbarcodetechnologypermeatesgraduallytopeople'slife,peoplefromtrivialandrepetitivework,thispapertriestocomprehensiveliberationfromtheorigin,twodimensionalbarcodeprinciple,technicalstandards,andtwodimensionalbarcodeapplicationsaspects,twodimensionalbarcodetechnologydevelopmentandapplication.

Thisresearchisthegenerationandrecognitionofthetwo-dimensionalcodes.Firstly,Thesystemofthetwo-dimensionalcodecontainstwoparts:

thesystemofthetwo-dimensionalcodeandtherecognitionsystemofthetwo-dimensionalcode.Thegenerationsystemcompletestheprocessfrominputtingdatatocorrespondingtwo-dimensionalcode,thefunctionoftherecognitionsystemistocompletethedecodingofthecollected,andthentorestoretheinformationcarriedbythetwo-dimensionalcodesymbolthathasbeendecoded.Finally,thearticledetectsthewholedesignsystem,andPutforwardtheproposalsaboutsafeusingofthetwo-dimensionalcode.

KeyWords:

Twodimensionalbarcode;Encodingprint;thegenerationoftwo-dimensionalcode;therecognitionoftwo-dimensionalcode

目录

1绪论1

1.1二维码的特点及研究意义1

1.2二维码在国内外的应用及普及1

1.3本课题的研究内容3

2几种常见二维码4

2.1QRcode码简介4

2.2PDH417码简介5

2.3DataMatrix码简介6

3二维码系统研究实现8

3.1二维码系统的框架设计8

3.2二维码的生成研究8

3.2.1数据编码8

3.2.2纠错编码9

3.2.3构造最终数据信息9

3.2.4掩摸10

3.3二维码生成实现11

3.3二维码的识别研究14

3.3.1图像的二值化处理14

3.3.2图形的定位扫描15

3.3.3译码16

3.5二维码识别实现16

4二维码生成识别测试19

4.1生成二维码测试19

4.1.1字母信息的生成测试19

4.1.2数字信息的生成测试20

4.1.3汉字信息的生成测试21

4.1.4字符信息的生成测试22

4.2扫描二维码测试23

4.2.1字母信息的解析.23

4.2.2数字信息的解析24

4.2.3汉字信息解析25

4.2.4字符信息的解析25

4.3结果分析26

5二维码的安全运用27

6总结与展望28

参考文献29

 

1绪论

1.1二维码的特点及研究意义

二维条码(二维码)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的。

二维码是DOI,数字对象唯一识别符)的一种。

在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理。

在许多种类的二维条码中,常用的码制有:

DataMatrix,maxicode,Aztec,QRCode,,PDF417,Ultracode,等,QR.Code码是1994年由日本DW公司发明[1]。

QR即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。

QR码最常见于日本、韩国;并为目前日本最流行的二维空间玛条。

但二维码的安全性也正备受挑战,带有恶意软件和病毒正成为二维码普及道路上的绊脚石。

发展与防范二维码的滥用正成为一个亟待解决的问题。

每种有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。

同时还具有对不同行的信息自动识别功能及处理图形旋转变化等特点。

二维码是一种比一维码更高级的条码格式。

一维码只能在一个方向(一般是水平方向)上表达信息,而二维码在水平和垂直方向都可以存储信息。

一维码只能由数字和字母组成,而二维码能存储汉字、数字和图片等信息,因此二维码的应用领域要广得多。

图1.1二维条码结构

因此,二维码的研究具有光明前景

1.2二维码在国内外的应用及普及

我国对二维码技术的研究开始于1993年,中国物品编码中心对几种常用的二维码PDF417、QRCode、DataMatrix、MaxiCode、Code49、Code16K、CodeOne的技术规范进行了翻译和跟踪研究。

随着我国市场经济的不断完善和信息技术的迅速发展,国内对二维码这一新技术的需求与日俱增。

中国物品编码中心在原国家质量技术监督局和国家有关部门的大力支持下,对二维码技术的研究不断深入。

在消化国外相关技术资料的基础上,制定了两个二维码的国家标准:

二维码网格矩阵码和二维码紧密矩阵码,从而大大促进了我国具有自主知识产权技术的二维码的研发。

目前我国二维码的应用主要在以下几个方面:

(1)医疗卡:

我国的医疗卫生事业在近几年来取得了令人瞩目的发展,很多中型以上的医院都采用了计算机管理并且大跨步地向着网络化的方向发展。

但是想要与国际水平接轨,各大医院还需要调整发展步伐,改善管理机制,提高自身的业务水平和管理水平,从而提高经济效益,增强竞争力。

想要达到这些目标,二维码是不可或缺的必要武器。

(2)身份证:

我国经济在改革开放以来得到了快速的发展,城市和农村之间人口流动频繁。

特别是近几年利用假身份证进行犯罪的现象屡屡发生,国家的相关部门和公共财产收到了严重破坏。

传统居民身份证缺乏机器识别功能,许多关键部门无法对身份证进行有效登记和验证,限制了公安部门的打击力度。

因此,使用二维码提高现有居民身份证的防伪性能,是提高公安部门执法力度的一个十分积极有效的方法。

(3)医用化验单:

为了更好地发挥医疗投资效用,改善医疗管理,提高医疗服务质量,就要使用二维条码技术来减少错误,更准确地配药。

通过正确地识别病人,从而快速获取病例档案来进行各项检查,提高对病人的临床护理质量。

(4)移动订票:

中国早在2005年由翼码信息推出第一张电子电影票开始,传统形式的票券就朝着电子票的形式转变,传统的物流信息也转变成了电子流。

不仅节省了成本,还大大地提高了效率[2]。

综上所述,可见二维码的技术已经在我国得到比较广泛的应用,但是相对与二维码发展比较早的国家,如日本,美国,我国仍显得有很多的不足,因此,我国以不断引进,消化,吸收国外的二维码技术,同时加以创新,同时尽力推广二维码,使二维码技术在我国能得到更加广泛的应用,从而方便人们的生活。

国外对二维码技术的研究始于20世纪80年代末,在二维码符号表示技术研究方面已研制出多种码制,常见的有PDF417、QRCode、Code49、Code16K、CodeOne等。

这些二维码的信息密度都比传统的一维码有了较大提高,如PDF417的信息密度是一维码CodeC39的20多倍。

在二维码标准化研究方面,国际自动识别制造商协会(AIM)、美国标准化协会(ANSI)已完成了PDF417、QRCode、Code49、Code16K、CodeOne等码制的符号标准。

国际标准技术委员会国际电工委员会还成立了条码自动识别技术委员会(ISO/IEC/JTC1/SC31),已制定了QRCode的国际标准(ISO/IEC18004:

2000)《自动识别与数据采集技术—条码符号技术规范—QR码》),起草了PDF417、Code16K、DataMatrix、MaxiCode等二维码的ISO/IEC标准草案。

[3]在二维码设备开发研制、生产方面,美国、日本等国的设备制造商生产的识读设备、符号生成设备,已广泛应用于各类二维码应用系统。

二维码作为一种全新的信息存储、传递和识别技术,自诞生之日起就得到了世界上许多国家的关注。

美国、德国、日本等国家,不仅已将二维码技术应用于公安、外交、军事等部门对各类证件的管理,而且也将二维码应用于海关、税务等部门对各类报表和票据的管理,商业、交通运输等部门对商品及货物运输的管理、邮政部门对邮政包裹的管理、工业生产领域对工业生产线的自动化管理。

1.3本课题的研究内容

本课题是为了了解条码的发展史,二维码的应用前景,同时了解几种常见二维码码型,同时主要对QRCode生成识别方法进行研究,以使读者对二维码产生系统的了解,激发读者对二维码的兴趣,并投入到二维码的研发中,使二维码能在我国得到更广阔的应用,同时使我们的生活更加便利。

2几种常见二维码

2.1QRcode码简介

QR码是一种矩阵码,或二维空间的条码,1994年由日本Denso-Wave公司发明。

QR是英文QuickResponse的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。

QR码常见於日本,并为目前日本最流行的二维空间条码。

QR码比普通条码可储存更多资料,亦无需像普通条码般在扫描时需直线对准扫描器。

QR码呈正方形,只有黑白两色。

在4个角落的其中3个,印有较小,像「回」字的正方图案。

这3个是供解码软件作定位用的图案,使用者无需对准或特意匹配,无论以任何扫描。

图2.1QR码

日本QR码的标准JISX0510在1999年1月发布,而对应的ISO国际标准ISO/IEC18004,则在2000年6月获得批准。

根据DensoWave公司的网站资料,QR码是属於开放式的标准,QR码的规格公开,而由DensoWave公司持有的专利权益,则不会被执行。

(1)特点:

符号规格:

21×21模块(版本1)-177×177模块(版本40)(每一规格:

每边增加4个模块)

(2)数据类型与容量·:

数字数据:

7,089个字符;字母数据;4,296个字符;字母数据:

4,296个字符

(3)纠错能力:

L级:

约可纠错7%的数据码字·。

M级:

约可纠错15%的数据码字·。

Q级:

约可纠错25%的数据码字。

H级:

约可纠错30%的数据字节。

(4)版本:

QRCode符号共有40种规格,分别为版本1、版本2„„版本40。

版本1的规格为21模块×21模块,版本2为25模块×25模块,以此类推,每一版本符号比前一版本每边增加4个模块,直到版本40,规格为177模块×177模块。

其中最高版本40可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。

由于其高密度编码,信息容量大,所以被广泛采用[4]。

2.2PDH417码简介

PDF417二维条码是一种高密度、高信息含量的便携式数据文件,是实现证件及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读的理想手段。

PDF417条码可表示数字、字母或二进制数据,也可表示汉字。

一个PDF417条码最多可容纳1850个字符或1108个字节的二进制数据,如果只表示数字则可容纳2710个数字。

PDF417的纠错能力分为9级,级别越高,纠正能力越强。

由于这种纠错功能,使得污损的417条码也可以正确读出。

我国已制定了PDF417码的国家标准。

图2.2PDF417码

由于一维条码的信息容量很小,如商品上的条码仅能容纳几位或者几十位阿拉伯数字或字母,商品的详细描述只能依赖数据库提供,离开了预先建立的数据库,一维条码的使用就受到了局限。

基于这个原因,人们迫切希望发明一种新的码制,除具备一维条码的优点外,同时还有信息容量大、可靠性高、保密防伪性强等优点。

为了满足人们的这种需求,美国讯宝公司经过几年的努力,于1991年正式推出名为PDF417的二维条码,简称为PDF417条码,即“便携式数据文件”。

特点:

(1)信息容量大:

除可以表示字母、数字、ASCII字符外,还能表达二进制数。

为了使得编码更加紧凑,提高信息密度,PDF417在编码时有三种格式:

扩展的字母数字压缩格式可容纳1850个字符;

二进制/ASCII格式可容纳1108个字节;

数字压缩格式可容纳2710个数字。

(2)错误纠正能力:

一维条形码通常具有校验功能以防止错读,一旦条形码发生污损将被拒读。

而二维条形码不仅能防止错误,而且能纠正错误,即使条形码部分损坏,也能将正确的信息还原出来。

PDF417的纠错能力依错误纠正码字数的不同分为0~8共9级,级别越高,纠正码字数越多,纠正能力越强,条形码也越大。

当纠正等级为8时,即使条形码污损50%被读出

(3)印制要求不高普通打印设备均可打印,传真件也能阅读。

(4)可用多种阅读设备阅读PDF417码可用带光栅的激光阅读器,线性及面扫描的图像式阅读器阅读。

(5)尺寸可调以适应不同的打印空间。

(6)码制公开已形成国际标准,我国也已制定了417码的国标。

2.3DataMatrix码简介

DataMatrix原名Datacode,由美国国际资料公司(InternationalDataMatrix,简称IDMatrix)于1989年发明。

DataMatrix又可分为ECC000-140与ECC200两种类型,ECC000-140具有多种不同等级的错误纠正功能,而ECC200则透过Reed-Solomon演算法产生多项式计算出错误纠正码,其尺寸可以依需求印成不同大小,但采用的错误纠正码应与尺寸配合,由于其演算法较为容易,且尺寸较有弹性,故一般以ECC200较为普遍。

特点:

DataMatrix二维条码的外观是一个由许多小方格所组成的正方形或长方形符号,其资讯的储存是以浅色与深色方格的排列组合,以二位元码(Binary-code)方式来编码,故电脑可直接读取其资料内容,而不需要如传统一维条码的符号对映表(CharacterLook-upTable)。

深色代表“1”,浅色代表“0”,再利用成串(String)的浅色与深色方格来描述特殊的字元资讯,这些字串再列成一个完成的矩阵式码,形成DataMatrix二维条码码,再以不同的印表机印在不同材质表面上。

由于DataMatrix二维条码只需要读取资料的20%即可精确辨读,因此很适合应用在条码容易受损的场所,例如印在暴露于高热、化学清洁剂、机械剥蚀等特殊环境的零件上[5]。

DataMatrix二维条码的尺寸可任意调整,最大可到14平方英寸,最小可到0.0002平方英寸,这个尺寸也是目前一维与二维条码中最小的。

另一方面,大多数的条码的大小与编入的资料量有绝对的关系,但是DataMatrix二维条码的尺寸与其编入的资料量却是相互独立的,因此它的尺寸比较有弹性。

此外DataMatrix二维条码码还具有以下特性:

(1)可编码字元集包括全部的ASCII字元及扩充ASCII字元,共256个字元

(2)条码大小(不包括空白区):

10×10~144×144

(3)资料容量:

2235个文数字资料,1556个8位元资料,3116个数字资料 

(4)错误纠正:

透过Reed-Solomon演算法产生多项式计算获得错误纠正码。

不同尺寸宜采用不同数量的错误纠正码。

(5)定位图形:

定位图形是资料区域的一个周界,为一个模组宽度。

其中两条邻边为暗实线,主要用于限定物理尺寸;定位和符号失真。

另两条邻边由交替的深色和浅色模组组成,主要用于限定符号的单元结构,但也能帮助确定物理尺寸及失真。

(6)符号尺寸:

ECC000-140符号有奇数行与奇数列。

符号外观为一方形矩阵,尺寸从9×9至49×49,不包括空白区。

这些符号可透过右上角深色方格识别出来。

ECC200符号有偶数行与偶数列。

有些符号是正方形,尺寸从10×10至144×144,不包括空白区。

有些是长方形,尺寸从8×18至16×48,不包括空白区。

所有的ECC200符号都可以透过右上角浅色方格识别出来[6]。

图2.3DataMatrix图形图2.4DataMatrix定位图形

 

3二维码系统研究实现

3.1二维码系统的框架设计

本课题主要是针对QRCode的产生和识别流程进行研究,主要分为生成和识别两大部分。

生成部分主要就是对二维码的生成。

而生成这个功能可以在电脑上运行生成,如eclipse,也可以在手机上运行生成。

二维码的生成主要支持名片、短信、文本、电子邮件及网络书签的生成。

当用户选择好多要生成的对象时,就会把用户输入的信息送到后台,通过调用解析包,来生成还有相应信息的二维码。

识别部分主要就是对二维码识别。

这可功能也可以在电脑上运行成功,也可以在手机上运行,本次研究主要在电脑上运行,在电脑上运行同样需要eclipse等软件,通过一定的源程序对二维码图形进行解析识别,支持字母,数字,汉字等信息

3.2二维码的生成研究

3.2.1数据编码

将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。

其实知道这个数据码字序列就知道了二维码的数据内容。

数据可以按照一种模式进行编码,以便进行更高效的解码,例如:

对数据:

01234567编码(版本1-H),1)分组:

012345672)转成二进制:

012→0000001100345→010101100167→10000113)转成序列:

0000001100010101100110000114)字符数转成二进制:

8→00000010005)加入模式指示符(上图数字)0001:

00010000001000000000110001010110011000011对于字母、中文、日文等只是分组的方式、模式等内容有所区别。

基本方法是一致的[7]

表3.1QR码容量表

表3.2指标图

3.2.2纠错编码

按需要将上面的码字序列分块,并根据纠错等级和分块的码字,产生纠错码字,并把纠错码字加入到数据码字序列后面,成为一个新的序列。

在二维码规格和纠错等级确定的情况下,其实它所能容纳的码字总数和纠错码字数也就确定了,比如:

版本10,纠错等级时H时,总共能容纳346个码字,其中224个纠错码字。

就是说二维码区域中大约1/3的码字时冗余的。

对于这224个纠错码字,它能够纠正112个替代错误(如黑白颠倒)或者224个据读错误(无法读到或者无法译码),这样纠错容量为:

112/346=32.4%[8]

图3.1纠错水平图

3.2.3构造最终数据信息

在规格确定的条件下,将上面产生的序列按次序放如分块中,按规定把数据分块,然后对每一块进行计算,得出相应的纠错码字区块,把纠错码字区块按顺序构成一个序列,添加到原先的数据码字序列后面。

如:

D1,D12,D23,D35,D2,D13,D24,D36,...D11,D22,D33,D45,D34,D46,E1,E23,E45,E67,E2,E24,E46,E68,...构造矩阵:

将探测图形、分隔符、定位图形、校正图形和码字模块放入矩阵中。

图3.2QR码结构图

3.2.4掩摸

将掩摸图形用于符号的编码区域,使得二维码图形中的深色和浅色(黑色和白色)区域能够比率最优的分布。

一个算法,不研究了,有兴趣的同学可以继续。

格式和版本信息:

生成格式和版本信息放入相应区域内。

版本7-40都包含了版本信息,没有版本信息的全为0。

二维码上两个位置包含了版本信息,它们是冗余的。

版本信息共18位,6X3的矩阵,其中6位时数据为,如版本号8,数据位的信息时001000,后面的12位是纠错位。

至此,二维码的编码流程基本完成了,下面就来实践一下吧,当然不用自己再去编写上面的算法了,使用三方包zxing就可以了编码:

publicstaticvoidencode(Stringcontent,Stringformat,StringfilePath){try{Hashtablehints=newHashtable();//设置编码类型hints.put(EncodeHintType.CHARACTER_SET,DEFAULT_ENCODING);//编码BitMatrixbitMatrix=newQRCodeWriter().encode(content,BarcodeFormat.QR_CODE,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT,hints);//输出到文件,也可以输出到流Filefile=newFile(filePath);MatrixToImageWriter.writeToFile(bitMatrix,format,file);}catch(IOExceptione){e.printStackTrace();}catch(WriterExceptione1){e1.printStackTrace();}}解码:

BufferedImageimage=ImageIO.read(file);//读取文件Lumin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1