当前位置:文档之家› 答辩-二维码生成与识别系统的设计与实现----解码器的设计与实现共18页文档

答辩-二维码生成与识别系统的设计与实现----解码器的设计与实现共18页文档


论文的结构和主要内容
第一部分 绪论,介绍了本文课题的背景和意义。 第二部分 二维码的编码规则。 第三部分 二维码识别系统的总体框架 第四部分 二维码图像预处理模块的设计和实现 第五部分 二维码解码模块的设计与实现 第六部分 系统的调试,运行和测试
系统需求分析
本系统是实现二维码的编码与译码。首先根据二维码的编码规则 生成二维码,然后采集二维码,将采集的二维码图像郊游解码器 进行解码。 二维码可以包含许多信息,最常见的是一些产品信息。当然还可 以包含一个链接地址;一个短信内容;一个后台应用程序等。本 解码器主要实现下面几个功能: 1.显示产品信息 如果二维码包含的是这一类信息,就直接显示出来。 2.跳转链接地址 如果二维码的信息是一个链接地址,那么本软件就调用相应的浏 览器去打开这个链接地址。 3.发送短信 如果二维码的信息是一跳短信息,那么本软件就调用发短信的程 序去发送这个短信。
二维码解码模块算法 流程如右图所示。
二维码解码模块的设计与实现
译码 下面主要针对数字模式给出二维码的译码过程。
(1)首先得到数字个数n(对于版本1-H)即得到第5-15位的 数 据,如果n>=3执行(2),否则执行(3)。
(2)接着取10位数据流,转换成10进制得到3个数字str,保 存在content中,content+=str;并令n=n-3.如 n>=3,继续执行(2),否则执行(3)。
二维码生成与识别系统的设计与实现 --二维码的解码器
指导老师:杜俊俐
系统的背景及意义
背景 一维条码是由一组粗细不同,黑白相同的,条,空及相对应的字符(数字
字母)组成的条形符号,只是在一个方向(一般是水平方向)表达信息, 在垂直方向不表达任何信息,其一定的高度一般是为了便于阅读器的对准。 但是一维条形码存储的数据容量较小(30个字符左右),只能包含字母和 数字,条码尺寸较大(空间利用率很低)并且一旦损坏就不能识别。二维 条形码是在一维条形码的基础上发展起来的,是用某种特定的几何图形按 一定的规律在平面上分布的条,空相见的图形来记录数据符号信息,克服 了一维码的缺点。并且由于二维码的信息密度高,存储量大,纠错能力强, 而且其本身具有一定的防伪功能而得到迅速发展。国外的二维码技术已经 处于应用阶段,并且已研制了性能较好的二维码识别系统。而我国虽也研 制出了用于识别二维码的系统,但和国外相比还是有一定的差距的。 意义 由于二维码这种新兴的自动识别技术有其他自动识别技术无法比拟的优势, 它一出现就受到的很高的重视。本文研究的解码技术主要针对的是QR码。 QR码是由日本Denso公司于1994年9月研制的一种矩阵二维码符号,它除 具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉 字及图象多种文字信息、保密防伪性强等优点外,还具有如下主要特点: 普通的一维条码只能在横向位置表示大约 20 为的字母或数字信息,无纠 错功能,使用时候需要后台数据库的支持,而二维条码是横向纵向都存有 信息,可以放入字母、数字、汉字、照片、指纹等大量信息,相当一个可 移动的数据库。如果用一维条码与二维条码表示同样的信息,QR 二维码 占用的空间只是条码1/11 的面积。二维码已广泛应用与社会的各个系统, 如商品信息获取,网站跳转,广告推送,手机电商,防伪追溯,优惠促销, 会员管理,手机支付等,因此研究二维码的识别系统具有很重要的意义。
(3)如果n=2 ,取接下来的7为数据流,转换成10进制得到2 个数字str,保存在content中,content+=str;否则执行 (4)。
(4)如果n=1 ,取接下来的4为数据流,转换成10进制得到1 个数字str,保存在content中,content+=str;否则执行 (5)。
(5)结束。
图像灰度化 将拍摄的彩色图像根据转换公式转换成灰度图像.
图像去噪 拍摄的图像可能含有噪点,需对图像用中值滤波算法对图 像进行 去噪处理。
图像二值化 因为二维码是由黑 白模块组成的, 本身分割较为明显 , 所以二维 码的图像分割通常采用二值化方法 , 二值化方法具有速度快,容 易实现等优点 。 二值化方法是通过选取阈值 , 然后用阈值来对 图像中每个像素进行判断 , 如果灰度值大于该阈值 , 则用灰度值 的最大值替换该像素值 ; 相反, 若果灰度值小于 阈值 , 则用灰度 值的最小值替换该像素值 。
图像预处理模块的设计与实现
二值化算法过程就是求解阈 值 的过程 , 根据阈值值选取 范围的不同二值化算法又可 以分为全局阈值值算法和局 部阈值算法。本文采用的是 局部阈值进行图像二值化。 右图是图像预处理的流程。
二维码解码模块的设计与实现
QR码解码模块的功能 架构如右图。
二维码解码模块的设计与实现
系统需求分析
系统的功能需求流程图 如右图所示。
二维码识别系统总体流程实现规划
二维码识别系统模块之间以及系统总体算法的实现规划, 各模块之间以及系统总体算法的流程,如下图所示。
二维码识别系统模块之间以及系统总体算法的实现规划,各模块之间以及 系统总体算法的流程
图像预处理模块的设计与实现
二维码图像预处理可以分为3个部分: 彩色图像的灰度化利用中值 滤波进行图像平滑以及利用灰度图像二值化技术分割图像。
系统的调试、运行与测试
系统开发过程中的问题与解决方法 1. 关于寻像图形的寻找
在扫描图像的时候有些像素点不在图像图像中,可是也在 一定程度上满足1:1:3:1:1,原因就在于对这个比例误差 范围的规定。如果误差过大,会出现很多不满足的线段; 如果误差过小,有些寻像图像线段又找不到,所以必须寻 找合适的误差范围。经过反复测试发现误差在0.2-0.37之 间具有较好的效果. 2.加载静态库 由于要应用OpenCV的jar包,所以要将OpenCV的库文 件加载到程序中。由ቤተ መጻሕፍቲ ባይዱ开始对java加载静态库文件不是很 了解,走了不是弯路。其实回头想想也不是很难,只要了 解其原理就很容易实现。这里,加载OpenCV库文件步骤 如下。首先在新建的android项目文件夹libs中在新建一 个armeabi文件夹,将OpenCV库文件放在此文件夹中 。最后在程序初始化时候用System.loadLibrary()函 数加载库文件即可。
相关主题