二维条形码扫描仪毕业设计论文(编辑修改稿)内容摘要:

、大小可变的特点。 二维条码作为一种全新的自动识别和信息载体技术,其经济性和可靠性正被越来越多的人们所了解和认知。 因此,我们要进一步研究二维条形码扫描仪扫描二维码。 系统功能需求 设计 Android 二维条形码扫描仪我们应当确定这个系统要完成哪些动作,即对目标系统提出完整,准确,清晰,具体的要求。 具体来说,在开发过程中,要熟悉 QRcode 二维码解码和图像处理的方法。 具体需 求如下: 13 1> 相机预览需求 此二维码识别系统必须能够运用手机上的照相机设计瞄准框,让 user 对准条形码才能获得二维码的图像。 2> 图像处理和拍照解码需求 我们用照相机拍照之后,图片保存在手机缓存中,可以截取图片对它进行处理,同时需要对二维码进行解码,在解码的时候,从手机缓存中调去图片解码,缓存中的图片删除。 3> 调用浏览器功能 当二维码隐藏的一个网站信息 站,所以需要一个手机浏览器功能。 4> 调用手机拨打电话功能 当发现为 TEL:规范,则调用手机拨打 电话。 5> 解读图像的功能 如果二维码是一个静态图像,那么我们则需要对静态图片译码,取得译码之后的字符串,识别其条形码类型,解读图像。 14 系统功能结构图 系统结构图是对软件系统结构的总体设计的图形显示,如图所示为总体的系统功能结构,它包括相机预览,相机解码和关闭相机三个部分,同时相机解码包括调用浏览器,调用拨打电话和显示文本。 系统用例图 1 系统用户用例图 用例图就是由主角,用例以及它们之间的关系构成的 图。 该图说明了用例模型中的关系。 通过上面对系统的分析即可的得到系统的用例图,如图所示: Android 二维码扫描识别 相机 预览 相机解码 关闭相机 调用浏览器 调用拨打电话 显示文本 15 技术需求 Android 二维码扫描系统具体的几个技术要求如下: 1 照相机实现技术 在了解了 Android 开发的过程之后需要知道 Android 怎样进行照相。 Android 应用提供了 Camera 来控制拍照,使用 Camera 进行拍照需要按照如下步骤进行: 调用 Camera 的 open()方法打开照相机。 调用 Camera 和 getParameters()方法获取拍照参数。 方法返回一个 对象。 调用 对象方法设置相机参数。 调用 Camera 的 setParameters(),并将 对象作为参数传入,这样即可对相机的拍照参数进行控制。 调用 Camera 的 starPreview()方法开始预览取景,在预览取景之前需要调用 Camera 的 setPreviewDisplay( SurfaceHolder 16 holder)方法设置使用哪一个 SurfaceView 显示取景图片。 调用 Camera 的 takePicture()方法进行拍照。 2 二维码图片处理技术 首先二维码图片是图片的一种,当拍摄下来时需要将该图片送往解码函数解码,因此需要获取预览中图片,在这里用的是bitmap 这个类。 3 二维码解码技术 将预览画面中的二维码图片送到我们的解码函数对二维码进行解码,因此需要应用 android 另外的一个 JAR 包,这个系统主要是对二维码的一种 QRcode 进行解码。 性能需求 Android 二维码的扫描识别系统性能方面的要求主要体现在一下几个方面: 本系统需要对二维码进行准确迅速的识别,所以对系统的时间要求更为严格。 软件界面直观、简介,人机交互性强。 17 3 系统总体设计 系统总体设计目标 经过可行性研究和需求分析阶段的工作,已经清楚系统必须完成的工作,下面的工作应该是决定“如何做”的问题。 概要设计的基本目的就是“概括地说系统应该如何实现”。 另一方面的主要工作是设计软件的结构,即确定系统都由哪些模块组成及模块之间的相互关系。 系统概要设计 概要设计的主要任务是设计软件结构和数据结构。 设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接 口及人机界面等。 数据结构设计包括数据特征的描述、确定数据的结构特性。 显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。 总体设计就是系统模块结构设计。 Android 二维码扫描识别系统需要调用我们 Android 手机的照相机,通过 onPictureTaken 函数二维码图片处理成位图,而且将位图在 imageview 中显示出来,然后再对位图进行译码,按照QRcode 二维码生成的方式解码成字符型。 如果二维码隐藏信息是一个网址那么调用浏览器访问该网站,如果二维码隐藏的信息是一个电话号码,那么调用手机拨打电话功能 ,如果该二维码隐藏的信息是普通的文本信息,那么显示出文本信息即可,若不是QRcode 不做任何操作。 18 系统功能模块设计 系统总体功能有以下几个方面: 相机预览功能; 关闭相机功能; 拍照解码; 调用浏览器:如果二维码信息隐藏的是以“ : //”开头的网址,那么手机便调用默认浏览器浏览该网址。 调用拨打电话功能:如果二维码信息隐藏的是以“ TEL:”或者是“ wtai:”开头的电话号码,那么手机直接调用拨打电话功能。 显示文本信息:如果二维码信息只是包含一些文本信息,那么直接显示。 拍照解码功 能模块 在整个系统模块中最重要的模块是拍照解码功能,因此把这个模块单独分析,将它的功能进行分析如图所示。 19 4 系统详细设计 系统流程图 系统流程图是描绘系统物理模型的传统工具。 本次毕业设计的流程图答题属于顺序流程,首先初始化相机,然后拍照截取图片,对图片处理的过程中要判断字符串类型,然后根据不同类型调用不同功能。 本系统流程图如图所示。 初始化相机 拍照截取图片 图片处理并译码 相机重置 判断字符串类型 结束 调用浏览器 调用拨打电话 显示文本信息 开始 20 图片处理过程 QRcode 二维码是按照一定规则以矩阵的形式生成的,所以拍照截取到图片之后需要 译码字节数组,将字节数组译码成位图,并将位图显示在 imageview 上,然后通过 decodeQRImage 函数将此位图送往系统自带的译码函数译码成字符串,最后判断取出的字符串是否符合 OMIA 所规范的规则。 图片处理过程如下图: 相机预览 拍照截取 QRCODE二维码图片 译码字节数组成位图 通过 decodeQRimage函数将位图译码成字符串 判断字符串类型 调用浏览器 显示文本信息 调用拨打电话 21 界面设计 界面设计是人与机器之间传递和交换信息的媒介,一个好的界面是很重要的。 它。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。