基于android的二维码生成与识别系统的设计与实现内容摘要:
决的信心 ,我相信在后面的编码和实现中 ,我会通过很好的利用网络资源和自己学习的积累对克服存在的问题的。 需求分析 经过前面章节内容的介绍 ,在本章中将对二维码的生成和识别的需求分析进行 阐述。 主要包括系统需求概述、系统需求分析、系统的可行性分析。 系统需求描述 现在二维码是越来越流行 ,当然人们对二维码也越来越感兴趣。 出于对二维码的好奇 ,很多人都开始研究二维码。 人们不断的提问 ,二维码到底是怎么生成和识别的呢 ?我想很多的人都不知其中的原理。 而在本论文中主要介绍的就是二维码的生成和识别。 对于二维码的生成与识别提出如下需求 : 二维码的生成要能够生成包含一定信息的二维码 ,生成后的二维码能够被二维码的识别软件很好的识别出来。 同时二维码的生成能够支持多种功能信息的生成。 二维码的识别要能够很好的 识别出来一些二维码的中多包含的信息 ,在识别的过程中能够对各种二维码进行识别 ,也包括条形码。 系统需求分析 系统总体需求如下图所示 : 图 3?1 系统总体需求图 本论文是基于 Android 平台 ,设计开发一款识别与生成二维码的软件 (能兼容的识别条形码 ),很重要的一点就是本系统是基于 Android 手机上面的摄像头来对二维码的识别的 ,所以要使用二维码的识别功能便需要 Android 手机或者是平板 ,带有摄像头。 系统总体功能业务可以描述为以下几点 : 一个友好的欢迎界面 功能的选择 (识别功能 ,生成功能 ) 能对二维 码 (包括条形码 )识别解析 能够生成用户所需的二维码 系统需求说明 根据系统的主要需求进行分析 ,总结功能需求做如下说明 : 实现对二维码的生成功能。 主要就是能够正确的生成客户需要的二维码 ,就是说能够正确无误的将用户的输入信息转换成二维码。 经过分析 ,要实现最常用的功能 ,即名片的生成、短信的生成、文本的生成、电子邮件的生成、网络书签的生成。 实现对二维码的是识别功能。 主要就是系统要能够识别二维码 (包括条形码 ),并能够对二维码 (包括条形码 )进行正确的解析。 然后把所解析出来的信息以文字的信息输出来。 生 成和识别的过程中 ,速度要快。 不能是用户等待很久才生成和识别出来 ,这样一方面说明该系统是失败的 ,另一方面会对浪费用户的时间 ,造成不可估量的后果。 系统的可行性分析 以前我们进入超市买东西 ,都知道商品上面是有条形码的 ,我们也知道 ,条形码的识别机器是像红外线的东西 ,我们在信息的时代下 ,手机的发展越来越广阔 ,我们中国人平均一个人就有一个半手机 ,随着智能手机的流行 ,手机更是发展红火 ,特别是 Android系列的智能手机发展更为广阔 ,随着 Android手机的流行到现在 ,Android 手机已经很普遍了 ,据调查显示 Android 手机的市场占有率达到 60%以上 ,二维码的流行的到来 ,是人们特别的感兴趣 ,那么结合 Android 手机和二维码的流行 ,应该有一个方便与二者之间的软件来使之得到双赢 ,手机上面有摄像头 ,是不是能够通过摄像头来进行二维码的识别呢 ?答案是肯定的 ,所以 ,基于Android 系统的二维码的识别与生成软件系统是可行的 ,并且是很有市场需求的。 经过上述需求的分析和现在手机上的一些二维码扫描的出现 ,本论文中提到的各项系统功能的实现是可行的 ,在后续章节中将于一一介绍。 系统设计 根据上面章节中系统的需求描述 ,本章将进行系统的设计。 系统设计主要从提供的整体到各个功能部分的设计入手 ,本节中将分为 :系统框架设计 、二维码生成设计、二维码识别生成。 系统框架设计 本系统框架结构主要分成生成和识别两大部分 ,针对二维码的生成部分 ,我感觉不仅仅要局限于 Android 手机 ,也可以编写一个可以在电脑上生成二维码的软件 ,这样大家使用起来会更加的方便 ,至于识别方面 ,在电脑上也完全可以实现 ,可以调用系统的摄像头进行识别。 而本课题主要是基于 Android 平台 ,所以在Android 平台上二维码的识别主要就是调用 Android 的摄像头模块 ,对摄像头进行对焦 ,回 传图像信息 ,对图像信息进行识别等。 生成模块主要是应用了 Android的绘图功能 ,将二维码进行绘制。 其中识别的判断是系统自动完成的 ,而生成的判断是根据用户的选择会进行相应的显示和生成功能。 系统功能结构如下图所示 : 图 4?1 系统功能模块图 该系统的识别模块方面主要是通过 Android 手持设备上的摄像头进行图像采集 ,经过系统的分析识别 ,来进行二维码 (包括条形码 )的辨别功能。 生成方面的内容相对多 ,包括名片的生成 ,短信的生成 ,文本的生成 ,电子邮件的生成 ,网络书签的生成。 生成功能主要就是对二维码的生成。 而生成这个功 能可以在电脑上运行生成 ,也可以在手机上运行生成。 二维码的生成主要支持名片、短信、文本、电子邮件及网络书签的生成。 当用户选择好多要生成的对象时 ,就会把用户输入的信息送到后台 ,通过调用解析包 ,来生成还有相应信息的二维码。 识别功能主要就是对二维码和条形码的识别。 主要就是通过手机的摄像头对二维码或者是条形码进行扫描 ,然后把把扫描到的二维码或者是条形码送到后台进行解析 ,如果解析成功后 ,就不再进行扫描。 如果解析不成功 ,就会在进行扫描采集图像 ,在传到后台解析 ,直到能够识别图像为止。 二维码生成 二维码的生成 ,支持多种形 式内容的二维码生成。 所以用户要先进行选择要生成的类型 ,当选择类型以后 ,系统将转入到多选该类型的生成界面给用户 ,用户将相应的信息填写完成 ,点击生成二维码 ,会跳转到生成界面 ,显示生成的二维码。 二维码生成详细流程设计如下图所示 : 图 4?2 二维码生成功能流程图 二维码的识别 二维码生成主要是通过对摄像头的调用 ,启用多线程 ,对摄像头进行快速的回调应用 ,当一次回调的图像没有识别出来就进行下一次的回调 ,直到识别出二维码为止。 同时由于对与二维码的大小不同 ,显示的模糊度不同等等原因 ,会使摄像头不能很好的采集图像 ,在这里要使摄像头能够进行自动对焦 ,从而使识别更快的实现。 当识别完成以后就对用户进行提醒 ,对手机进行震动和播放声音 ,播放完成 ,显示识别出来的结果。 二维码生成部分的功能流程图详细如下图所示 : 图 4?3 二维码识别功能流程图 到此系统的基本设计已经完成 ,下一步将进行系统的代码的书写。 编码与实现 打开软件显示软件的 logo 和版本版权信息。 然后就是功能的选择界面 ,包括生成和识别两个功能 ,选择识别功能系统便会进入识别状态 ,将手机摄像头对准要识别的二维码或者是条形码 ,手机便开始识别 ,当识别结束 ,手机会发出声音和震动提示。 生成方面 ,选择相应的生成选项填充内容 ,点击生成按钮 ,系统便能生成相应的二维码 ,当输入字符过长超过二维码的容量时会显示一个超出容量的图片。 系统流程设计如下 : 图 5?1 系统总体流程图 根据上一章中的设计 ,本章中将进行系统的编码和实现 ,主要分为三大部分 ,识别功能的实现、生成功能的实 现、系统总体的实现 ,下面将对其逐一进行介绍。 识别模块的实现 二维码的识别功能主要体现在后台的处理 ,调用摄像头 ,打开摄像头进行扫描。 将摄像头扫描的数据传给后台 ,然后后台对扫描来的图像进行处理 ,进行识别。 识别成功就将识别出来的内容显示出来 ,识别不成功就继续识别。 二维码识别的功能实现 系统在手机上实现图像的采集是重要的一步 ,在 Android 平台上 ,是使用Camera 类来完成摄像头的调用和图像采集 使用 Camera mCamera Camera. open 获得 Camera 的实例 ,然后使用 来设置获得图像的大小 ,最后通过实现 Camera. PreviewCallback 的接口 onPreviewFrame byte[] data, Camera camera 来获得摄像头的图像数据 data。 为能够较快地获得清晰的图像 ,提高识别速度 ,文中使用了自动对焦技术。 另外还应该对对焦进行定时操作 ,这就需要设置一个定时器对自动对焦进行定时调用。 后台对摄像头传过来的图像数据 dat。基于android的二维码生成与识别系统的设计与实现
相关推荐
取得到的数据后,通过把数据经过一系列的解析、转换传送加载到界面给予友好的展示给用户,应用系统设计的简略流程图如图 32 所示: 新闻平台互联网新闻设置加载互联网数据展示互联网新闻本地新闻加载本地数据展示新闻列表展示新闻内容 图 32 应用系统简略流程图 设计数据源到自定义页面组件上展示总体设计框架,把服务器端传送过来数据经过处理、转化成需要的一定数据类型后
它占用的资源非常低。 它能够支持 Windows/Linux/U nix 等主流的操作系统,同时能够跟很多程序语言相结合,比如 php, Java 等,还有 ODBC 接口,同样比起 Mysql, PostgreSQL 来讲,它的处理速度比它们都快。 它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有 250KB 但支持数据库大小至 2TB。 它虽然很小巧,但是支持的
在连接数据库之前必须保证 SQL Server 2020 是采用 SQL Server 身份验证方式而不是 windows 身份验证方式。 如果在安装时选用了后者,则重新设置如下 : 1. 打开 SQL Server 2020, 右击最上面的服务器,选择属性 —— 安全性,在右边框中选择 SQL Server 和 Windows 身份验证模式,如 图 22 所示 ,最后点确定。 图 22
vice、 Content Provider 四部分组成,但并不是每一个 Android 应用程序都必须由这四部分组成。 在应用程序中使用时,需要在配置文件 中进行配置。 这个配置文件是每个 Android 应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。 (Activity)组件 Activity 是 Android 的核心类,该类的全名是。 Activity 相当于
┊ ┊ ┊ ┊ ┊ ┊ 表示变量间的数量关系 )、相关分析 (用相关系数来度量变量间的相关程度 )、差异分析 (从样本统计量的值得出差异来确定总体参数之间是否存在差异 )等。 (7) 模糊集 方法 即利用模糊集合理论对实际问题进行模糊评判、模糊决策、 模糊模式识别 和模糊聚类分析。 系统的复杂性越高,模糊强一般集合理论是用隶属度来刻画模糊事物的亦此亦彼性的。 李德毅 等人在传统 模糊理论
t /*=NULL*/) : CDialog(CDenglu::IDD, pParent) { //{{AFX_DATA_INIT(CDenglu) 24 m_password = _T()。 m_username = _T()。 //}}AFX_DATA_INIT (RGB(160,180,220))。 } 其中 m_brush为 CBrush 类型成员变量。 最后控件颜色的改变 在