- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 1
二维条码QRCode编码原理及实现
摘要:在二维码编码的实现过程中,分析了QRCode二维条码的结构、编码步骤、编码原理和Reed-Solomon算法,并以数字模式为实例按照QRCode编码原理直观的描述了实现二维码QRCode的编码、纠错等功能。采用VC++的编程环境,通过对二维码编码程序反复测试,实现了二维码QRCode的编码程序设计。
关键词:QRCode;二维码;编码;VC++;纠错
中图分类号:TP319文献标识码:A文章编号:1009-3044(2013)12-2904-05
条码是采用二进制概念的一种可印刷机器语言,具体地就是以“1”和“0”表示编码的特定单元组合,以排列规则的图形符号表示数据。条码技术是在20世纪70年代初快速发展并得到广泛应用的一门技术,早期的条码称为一维条码,仅仅只是一种商品的标识,不含商品的任何描述。随着现代高新技术和资料自动收集技术的发展,最初的一维条码技术已不能满足人们的需求。于是在1987年DavidAllais博士提出了Code49的二维码[1],这实际是把一维条码的高度截短并按行堆积的一种多行连续型长度可变条码。如今常用的二维码有:PDF417码、QRCode码、DataMatrix码等等。
1二维码QRCode编码原理
1.1QRCode简述
1994年9月日本Denso公司开发了一种矩阵式二维条码符号,即QRCode(QuickResponseCode)快速响应矩阵码。QRCode除具有一维条码及其它二维条码所具有的优点外,还具有识读速度快、数据密度大、占用空间小的优势。QRCode基本结构如图1所示。
其中,位置探测图形、位置探测图形分隔符、定位图形:用于对二维码的定位,对每个QR码来说,位置都是固定存在的,只是大小规格会有所差异;
校正图形:规格确定,校正图形的数量和位置也就确定了;
格式信息:表示改二维码的纠错级别,分为L、M、Q、H;
版本信息:即二维码的规格,QR码符号共有40种规格的矩阵(一般为黑白色),从21×21(版本1)如图2,到177×177(版本40),每一版本符号比前一版本的每边增加4个模块。
数据和纠错码字:实际保存的二维码信息,和纠错码字(用于修正二维码损坏带来的错误)。
1.2QRCode编码
1.2.1QRCode编码步骤
QRCode编码的主要步骤如下:
1)数据分析:确定编码的字符类型,按相应的字符集转换成符号字符;选择纠错等级,在规格一定的条件下,纠错等级越高其真实数据的容量越小。
2)数据编码:将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。其实知道这个数据码字序列就知道了二维码的数据内容。
3)纠错编码:按需要将上面的码字序列分块,并根据纠错等级和分块的码字,产生纠错码字,并把纠错码字加入到数据码字序列后面,成为一个新的序列。
4)构造最终数据信息:在规格确定的条件下,将上面产生的序列按次序放入分块中。
5)构造矩阵:将探测图形、分隔符、定位图形、校正图形和码字模块放入矩阵中。
6)掩摸:将掩摸图形用于符号的编码区域,使得二维码图形中的深色和浅色(黑色和白色)区域能够比率最优的分布,提高阅读的可靠性。
7)格式和版本信息:生成格式和版本信息放入相应区域内。
1.2.2Reed-Solomon算法
1960年Reed和Solomon共同提出了一种纠正随机错误和突发错误的编码,及Reed-Solomon(简称RS)码。RS码是循环码的一种,在伽罗华域GF(2m)中对数据位进行编码。若a∈GF(2m)对于纠正r个错误符号的RS码生成多项式[2]可表示为:
g(x)=(x+a)(x+a2)(x+a3)……(x+a2r)(1)
若原始信息的多项式为:m(x)=(a0+a1x+a2x2+……+ak-1xk-1),进行RS编码后的表达式[2]为:
d(x)=x2rm(x)+x2rm(x)modg(x)(2)
其中:x2rm(x)是原始数据码;x2rm(x)modg(x)是纠错码字部分。
1.2.3编码实例
为了能使QRCode生成有个直观了解,下面举例进行说明。
例如:以这8个字符为例,采用数字模式,编码一个版本号为1-M纠错等级的QRCode。
1)将输入字符分为3个一组,剩下的2个或1个一组,且将每一组都转换为10位或7位二进制数;
012:0000001100
345:0101011001
67:1000011
得到二进制序列为:000000110001010110011000011
2)将模式指示符和字符数依次放到上述序列前
您可能关注的文档
- 对水利水电工程质量监督存在问题的探讨.doc
- 对水利橡胶坝应用的思考与实践.doc
- 对搜索引擎服务商竞价排名的法律规制.doc
- 对特种设备检验机构发展探索.doc
- 对提高初中学生英语书面表达能力的几点认识.doc
- 对完善高校专项资金监督机制的思考.doc
- 对微机型继电保护技术的认识.doc
- 对我国公路工程施工中路面填隙碎石关键技术再探.doc
- 对我国货币供给内生性与外生性问题的再探讨.doc
- 对我国建筑企业安全管理模式的探讨.doc
- 某县纪委监委开展“校园餐”突出问题专项整治工作汇报22.docx
- 中小学校园食品安全与膳食经费管理专项整治工作自查报告66.docx
- 某县委常委、宣传部部长年度民主生活会“四个带头”个人对照检查发言材料.docx
- XX县委领导班子年度述职述廉报告3.docx
- 某县纪委关于校园餐问题整治工作落实情况的报告.docx
- 中小学校园食品安全与膳食经费管理专项整治工作自查报告22.docx
- 某县税务局党委领导班子年度民主生活会“四个带头”对照检查材料.docx
- 某县委书记在县委常委班子年度民主生活会专题学习会上的讲话.docx
- 某县纪委校园餐问题整治工作落实情况的报告.docx
- 某区委副书记、区长年度民主生活会对照检查材料.docx
文档评论(0)