文档详情

二维码生成与识别.doc

发布:2016-11-04约3.34千字共16页下载文档
文本预览下载声明
南京航空航天大学 课程设计 题 目 二维码的生成及识别 小组成员: 何俊豪 韩怀晓 晋晓飞 瞿诗华 薛莉 二〇一五年十一月 第一章 QR码简介 QR码是由日本Denso公司与1994年制定出来的一种矩阵二维码符号,它除了具有信息容量大、可靠性高、可表示汉字及图像信息、保密性强等优点外,还具有超高速响应、全方位识别等特点。 QR码符号是由正方形的细小模块构成,分为功能区和编码区。功能图形包括位置探测图形、分隔符、定位图形、校正图形、格式信息、版本信息等,编码区域包括数据编码块和纠错码图形。普通QR码基本图形及区域功能对照图如图1.1所示。 图1.1 QR码基本结构 1.1 QR码的密度标识图形 位于识符之间的黑白相间的条纹,用红色线标注的,这个区域可以用于确定QR码符号的像素方块的密度(即一个像素的大小) 图 QR码密度标识图形 1.2 位置探测图形 位置探测图形由三个重叠的同心正方形构成,如图1.3所示。通过探测位置探测图形可以迅速的判断出QR码符号的大致位置。 图 QR码探测图形 二维码定位就是找到二维码符号的位置探测图形,对有明显条码特征的区域进行定位,然后根据图形结构特征值对不同的条码符号进行进一步的处理。通过QR码的定位图形,可以得到左上角位置探测图形的边界点和左下角位置探测图形的边界点如图1.4(a)所示,因此可以采用鲁棒性较好的算法拟合条码左边框,然后通过直线拟合得到条码的上边框直线。在此基础上构建直角三角形,寻找出图形中心,如图1.4(b)所示,并可以得到第四个交点,如图1.4(c)所示。 (a)确定左边界和上边界 (b)确定探测图形中心 (c)确定第四个交点 图 条码图像初步定位流程 1.3 版本信息 QR符号共有种规格,版本1的规格为21模块×21模块,版本2为25模块×25模块,以此类推,每一版本符号比前一版本每边增加4个模块,直到版本40,规格为177模块×177模块。最高版本40可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。 图1.5 版本信息图形 1. 纠错码 第二章 QR码编码规则介绍 将输入的数据转变为一个位流,如果最开始的模式指示符不是默认的,其前面要用ECI标头,如果以默认的开始,位流的开头为第一个模式的指示符,如表 所示,该表定义了不同模式下的模式指示符。 表2.1 模式指示符 模式 指示符 ECI 0111 数字 0001 字母数字 0010 8位字节 0100 日本汉字 1000 中国汉字 1101 结构链接 0011 FNCI 0101(第一位置) 1001(第二位置) 终止符(信息结尾) 0000 表2.2 字版本 数字模式 字母数字模式 8位字节模式 中国汉字模式 1~9 9 8 8 10~26 12 11 16 10 27~40 14 13 16 12 2.1 数字模式编码实现 将输入的数据从左至右每三位转化成一个10位的二进制数,剩余的一位或者两位数据分别转化成4位或7位二进制数。然后在转换后的二进制数据前加上模式指示符和字符计数指示符。例如输入数据编码步骤如图所示。 图2.1 数字2.2 字母模式编码实现 字母模式编码规则与数字模式编码规则类似,不过首先要根据对应的将字符转化为相应的数值,再将每两个字母分为一组,前面字符的值乘以与第二个字符的值相加,所得的结果转换为位二进制数 2.3 中国汉字模式编码实现 GB2312标准规定的汉字字符为双字节表示。QR的汉字编码模式将16位的转换为13位二进制字符序列,提高了编码效率。编码具体步骤 将(1)的结果乘以0x60; 将第二字节值减去0xA1; 将(2)的值加上(3)的值; 将结果转化成13位二进制。 2.4 纠错编码 2.5 Zxing简介 Zing是一个开放源码的,用Java实现的多种格式的条码图像处理库,它包含了联系到其他语言的端口Zxing生成相应的二维码码以及解码。 生成二维码的编码技术是指基于给定内容生成二维条码图片,Zxing可以对生成的二维码的图片格式、各项参数以及二维码类型进行设置,生成的图片包含给定的内容,当使用识别设备进行扫描时,能够读出给定的内容。 使用Zxing进行编码的步骤主要如下:首先,将所需的Zing类库中的包导入工程;其次对需要生成二维条码的给定内容进行编码方式处理,防止在显示中文时出现乱码问题,并指定所生成二维条
显示全部
相似文档