二维码生成与识别.doc

上传人:大米 文档编号:551170064 上传时间:2024-03-24 格式:DOC 页数:14 大小:934.54KB
返回 下载 相关 举报
二维码生成与识别.doc_第1页
第1页 / 共14页
二维码生成与识别.doc_第2页
第2页 / 共14页
二维码生成与识别.doc_第3页
第3页 / 共14页
二维码生成与识别.doc_第4页
第4页 / 共14页
二维码生成与识别.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《二维码生成与识别.doc》由会员分享,可在线阅读,更多相关《二维码生成与识别.doc(14页珍藏版)》请在金锄头文库上搜索。

1、二维码生成与识别 南京航空航天大学课程设计题 目二维码的生成及识别小组成员: 何俊豪 韩怀晓 晋晓飞 瞿诗华 薛莉二一五年十一月第一章 QR码简介QR码是由日本Denso公司与1994年制定出来的一种矩阵二维码符号,它除了具有信息容量大、可靠性高、可表示汉字及图像信息、保密性强等优点外,还具有超高速响应、全方位识别等特点.QR码符号是由正方形的细小模块构成,分为功能区和编码区.功能图形包括位置探测图形、分隔符、定位图形、校正图形、格式信息、版本信息等,编码区域包括数据编码块和纠错码图形。普通QR码基本图形及区域功能对照图如图1.1所示。图1.1 QR码基本结构1。1 QR码的密度标识图形位于两

2、个“回”字标识符之间的黑白相间的条纹,用红色线标注的,这个区域可以用于确定QR码符号的像素方块的密度(即一个像素的大小),标识识别模块如图1。2所示。图1.2 QR码密度标识图形1。2 位置探测图形位置探测图形由三个重叠的同心正方形构成,如图1。3所示。通过探测位置探测图形可以迅速的从背景图像中判断出QR码符号的大致位置。图1.3 QR码探测图形二维码定位就是找到二维码符号的位置探测图形,对有明显条码特征的区域进行定位,然后根据图形结构特征值对不同的条码符号进行进一步的处理。通过QR码的定位图形,可以得到左上角位置探测图形的边界点和左下角位置探测图形的边界点如图1。4(a)所示,因此可以采用鲁

3、棒性较好的算法拟合条码左边框,然后通过直线拟合得到条码的上边框直线。在此基础上构建直角三角形,寻找出图形中心,如图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个数字或110

4、8个字节,或500多个汉字,比普通条码信息容量约高几十倍。图1。5 版本信息图形1。4 纠错码QR码具有“纠错能力”,即使在使用过程中遇到污损、折叠等现象,也可以自动恢复数据。这一“纠错能力”具备四个级别,级别越高,纠错能力越高,但是数据量也会增加,编码尺寸也会变大.QR码各级别纠错码纠错能力如表1。1所示。表1.1 纠错码级别纠错能力对照表QR码的纠错能力级别L约7%级别M约15级别Q约25%级别H约30%第二章 QR码编码规则介绍将输入的数据转变为一个位流,如果最开始的模式指示符不是默认的,其前面要用ECI标头,如果以默认的开始,位流的开头为第一个模式的指示符,如表2.1 所示,该表定义了

5、不同模式下的模式指示符。表2.2定义了不同模式和符号版本下的字符计数指示符的长度。表2.1 模式指示符模式指示符ECI0111数字0001字母数字00108位字节0100日本汉字1000中国汉字1101结构链接0011FNCI0101(第一位置)1001(第二位置)终止符(信息结尾)0000表2。2 字符计数指示符的位数版本数字模式字母数字模式8位字节模式中国汉字模式19109881026121116102740141316122。1 数字模式编码实现将输入的数据从左至右每三位转化成一个10位的二进制数,剩余的一位或者两位数据分别转化成4位或7位二进制数。然后在转换后的二进制数据前加上模式指示

6、符和字符计数指示符.例如输入数据:88899966,编码步骤如图2。1所示。图2.1 数字模式编码流程2。2 字母模式编码实现字母模式编码规则与数字模式编码规则类似,不过首先要根据对应的字母模式编码转换表2.3将字符转化为相应的数值,再将每两个字母分为一组,前面字符的值乘以与第二个字符的值相加,所得的结果转换为位二进制数.表2。3 字母模式编码转换表字符值字符值字符值字符值字符值字符值字符值字符值0066C12I18O24U30SP36.421177D13J19P25V31$37/432288E14K20Q26W3238:443399F15L21R27X333944A10G16M22S28Y3

7、4+4055B11H17N23T29Z35412.3 中国汉字模式编码实现GB2312标准规定的汉字字符为双字节表示.QR的汉字编码模式将16位的转换为13位二进制字符序列,提高了编码效率。编码具体步骤:(1) 将第一字节值减去0xA6;(2) 将(1)的结果乘以0x60;(3) 将第二字节值减去0xA1;(4) 将(2)的值加上(3)的值;(5) 将结果转化成13位二进制。2。4 纠错编码按需要将码字序列分块,并根据纠错等级和分块的码字,产生纠错码字,并把纠错码字加入到数据码字序列后面,成为一个新的序列。在二维码规格和纠错等级确定的情况下,其实它所能容纳的码字总数和纠错码字数也就确定了.纠错

8、码主要通过里德所罗门纠错算法算出来,例如:版本10,纠错等级时H时,总共能容纳346个码字,其中224个纠错码字。就是说二维码区域中大约1/3的码字时冗余的。对于这224个纠错码字,它能够纠正112个替代错误(如黑白颠倒)或者224个据读错误(无法读到或者无法译码)。在规格确定的条件下,将原先产生的序列按次序放如分块中,按规定把数据分块,然后对每一块进行计算,得出相应的纠错码字区块,把纠错码字区块按顺序构成一个序列,添加到原先的数据码字序列后面,如图2。2所示。 图2.2 二维码矩阵构造2.5 Zxing简介Zxing是一个开放源码的,用Java实现的多种格式一维或者二维的条码图像处理库,它包

9、含了联系到其他语言的端口,通常使用Zxing生成相应的二维码码以及解码。生成二维码的编码技术是指基于给定内容生成二维条码图片,Zxing可以对生成的二维码的图片格式、各项参数以及二维码类型进行设置,生成的图片包含给定的内容,当使用识别设备进行扫描时,能够读出给定的内容。使用Zxing进行编码的步骤主要如下:首先,将所需的Zxing类库中的包导入工程;其次,对需要生成二维条码的给定内容进行编码方式处理,防止在显示中文时出现乱码问题,并指定所生成二维条码图片的路径、名称和文件格式;然后,找到Zxing中二维码QR码所对应的编码类QR-CodeWriter,调用encode方法生成给定内容对应的比特

10、矩阵;最后将比特矩阵转化为制定的图片格式。第三章 处理流程及结果演示3.1 处理流程二维码处理流程如图3.1所示,若已有二维码图像,直接读取该图像,在此基础上完成解码识别等过程,用户也可按照自己的意愿在文本框里输入汉字或数值等内容,调用Zxing,生成对应的二维码图像。后对图像进行灰度化、加噪平滑、二值化、旋转校正、畸变校正等预处理,并在此基础上再次调用Zxing完成解码识别的过程。图3.1 二维码生成及处理流程图3。2 界面设计 本实验设计界面如图3。2所示,界面可实现功能:打开一幅二维码图像,对该图像进行灰度化、加噪平滑、二值化、旋转校正、畸变校正等预处理,并在这些过程的基础上完成对二维码

11、图像的解码过程.还可以对用户自身想要的文字或者网址进行二维码图形的制作,并完成解码显示。 图3.2 界面设计3。3 预处理及其结果演示通过读取图像打开待处理原始二维码图像,并显示该二维码图像如图3。3 所示。根据待识别图像各自特点施以不同的预处理手段。图3.3 原始QR图像3。3.1 灰度化处理通常情况下,使用数码相机等摄像设备获取的QR码是彩色的,和灰度图像相比,彩色图像含有的信息量较大,所占存储空间更多,将彩色图像转化成灰度图像是为了减少存储空间,降低运算量。灰度化处理后图像如图3.4所示。图3.4 灰度化处理图像3。3。2 平滑处理对图像加入椒盐噪声,然后采用中值滤波对图像进行平滑滤波处

12、理,加噪及平滑处理后图像分别如图3。5(a)和(b)所示. (a)加噪图像 (b)平滑图像图3.5 加噪平滑处理3.3.3 二值化处理标准的二维码图像是由黑白两种小的模块组合而成的,灰度化之后需对图像进行二值化处理,以便数据的压缩、特征的突出以及图形的识别。图像二值化的方法是通过预先设定的一个阈值,将灰度图像分为小于这个阈值和大于这个阈值的两部分,通过阈值的选取可以将图像的背景区和条码符号分开,本文采用自适应阈值法对图像进行二值化处理。自适应阈值法的基本原理是采用某一假定的灰度值t将图像的灰度分为两组,当两组的类间方差最大时,此灰度值就是二值化的最佳阈值,二值化处理结果如图3.6所示。图3.6

13、 二值化处理3。3。4 旋转校正在二维码图像采集的过程之中,由于拍摄角度的问题,会导致图像产生一定的旋转畸变,本文采取霍夫变换的方法对此情况进行校正,旋转校正前后的图像如图3。7所示. 图3。7 原图(左)以及旋转校正后的图像(右)在旋转校正之前,需要对图像做边缘检测。本实验使用的边缘检测算子为“canny”算子,“canny”算子可寻找图像梯度的局部最大值,且不易受噪声干扰,能够很好地检测出弱边缘,边缘检测结果如图3。8所示。图3.8 边缘检测采取霍夫变换的方法对图像进行旋转校正,主要是在图像空间和参数空间建立起一个“线点”之间的对应关系,每条曲线表示一个点,Hough变换统计所有变化的峰值

14、,并标记,得到4个顶点,如图3。9所示。图3。9 Hough空间显示图使用Hough变换检测线段,标出线段以及线段的起始和端点,得到每条线段的斜率,并计算倾斜角度值,最后将图像中的线条与点显示出来,如图3。10所示。图3。10 直线标识图像图像的坐标原点默认为平面的左上角,根据得到的角度值,将图像按照角度进行旋转,便能够完成对图像的旋转校正。3。3。5 畸变矫正可能会由于角度的问题,导致图像产生几何形变,使原来的QR码呈现不规则的四边形,从而影响二维码信息的正确提取。使用双线性插值法将不规则则的四边形区域通过一定的映射关系变为QR码标准正方形,从而方便了对二维码信息的提取.畸变校正前后如图3。10所示。 图3。10 原

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号