- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二维码生成与-识别
南京航空航天大学
课程设计
题 目
二维码的生成及识别
小组成员:
何俊豪 韩怀晓 晋晓飞
瞿诗华 薛莉
二〇一五年十一月
第一章 QR码简介
QR码是由日本Denso公司与1994年制定出来的一种矩阵二维码符号,它除了具有信息容量大、可靠性高、可表示汉字及图像信息、保密性强等优点外,还具有超高速响应、全方位识别等特点。
QR码符号是由正方形的细小模块构成,分为功能区和编码区。功能图形包括位置探测图形、分隔符、定位图形、校正图形、格式信息、版本信息等,编码区域包括数据编码块和纠错码图形。普通QR码基本图形及区域功能对照图如图1.1所示。
图1.1 QR码基本结构
1.1 QR码的密度标识图形
位于两个“回”字标识符之间的黑白相间的条纹,用红色线标注的,这个区域可以用于确定QR码符号的像素方块的密度(即一个像素的大小),标识识别模块如图1.2所示。
图1.2 QR码密度标识图形
1.2 位置探测图形
位置探测图形由三个重叠的同心正方形构成,如图1.3所示。通过探测位置探测图形可以迅速的从背景图像中判断出QR码符号的大致位置。
图1.3 QR码探测图形
二维码定位就是找到二维码符号的位置探测图形,对有明显条码特征的区域进行定位,然后根据图形结构特征值对不同的条码符号进行进一步的处理。通过QR码的定位图形,可以得到左上角位置探测图形的边界点和左下角位置探测图形的边界点如图1.4(a)所示,因此可以采用鲁棒性较好的算法拟合条码左边框,然后通过直线拟合得到条码的上边框直线。在此基础上构建直角三角形,寻找出图形中心,如图1.4(b)所示,并可以得到第四个交点,如图1.4(c)所示。
(a)确定左边界和上边界 (b)确定探测图形中心 (c)确定第四个交点
图1.4 条码图像初步定位流程
1.3 版本信息
QR码符号共有40种规格,版本1的规格为21模块×21模块,版本2为25模块×25模块,以此类推,每一版本符号比前一版本每边增加4个模块,直到版本40,规格为177模块×177模块。QR码的版本信息图形在整个二维码图像中的位置如图1.5所示,QR码最高版本40可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。
图1.5 版本信息图形
1.4 纠错码
QR码具有“纠错能力”,即使在使用过程中遇到污损、折叠等现象,也可以自动恢复数据。这一“纠错能力”具备四个级别,级别越高,纠错能力越高,但是数据量也会增加,编码尺寸也会变大。QR码各级别纠错码纠错能力如表1.1所示。
表1.1 纠错码级别纠错能力对照表
QR码的纠错能力
级别L
约7%
级别M
约15%
级别Q
约25%
级别H
约30%
第二章 QR码编码规则介绍
将输入的数据转变为一个位流,如果最开始的模式指示符不是默认的,其前面要用ECI标头,如果以默认的开始,位流的开头为第一个模式的指示符,如表2.1 所示,该表定义了不同模式下的模式指示符。表2.2定义了不同模式和符号版本下的字符计数指示符的长度。
表2.1 模式指示符
模式
指示符
ECI
0111
数字
0001
字母数字
0010
8位字节
0100
日本汉字
1000
中国汉字
1101
结构链接
0011
FNCI
0101(第一位置)
1001(第二位置)
终止符(信息结尾)
0000
表2.2 字符计数指示符的位数
版本
数字模式
字母数字模式
8位字节模式
中国汉字模式
1~9
10
9
8
8
10~26
12
11
16
10
27~40
14
13
16
12
2.1 数字模式编码实现
将输入的数据从左至右每三位转化成一个10位的二进制数,剩余的一位或者两位数据分别转化成4位或7位二进制数。然后在转换后的二进制数据前加上模式指示符和字符计数指示符。例如输入数据编码步骤如图2.1所示。
图2.1 数字模式编码流程
2.2 字母模式编码实现
字母模式编码规则与数字模式编码规则类似,不过首先要根据对应的字母模式编码转换表2.3将字符转化为相应的数值,再将每两个字母分为一组,前面字符的值乘以与第二个字符的值相加,所得的结果转换为位二进制数。
表2.3 字母模式编码转换表
字符
值
字符
值
字符
值
字符
值
字符
值
字符
值
字符
值
字符
值
0
0
6
6
C
12
I
18
O
24
U
30
SP
36
.
42
1
1
7
7
D
13
J
19
P
25
V
31
$
37
/
43
2
2
8
8
E
14
K
20
Q
26
W
32
%
38
:
44
3
3
9
9
F
15
L
文档评论(0)