关闭

关闭

封号提示

内容

首页 基于Android的二维码的生成与识别系统的设计与实现_马鸣.pdf

基于Android的二维码的生成与识别系统的设计与实现_马鸣.pdf

基于Android的二维码的生成与识别系统的设计与实现_马鸣.…

上传者: scott 2013-03-29 评分1 评论0 下载54 收藏0 阅读量93 暂无简介 简介 举报

简介:本文档为《基于Android的二维码的生成与识别系统的设计与实现_马鸣pdf》,可适用于手机软件领域,主题内容包含ComputerKnowledgeandTechnology电脑知识与技术人工智能及识别技术本栏目责任编辑:唐一东第卷第期(年月)基于Android符等。

ComputerKnowledgeandTechnology电脑知识与技术人工智能及识别技术本栏目责任编辑:唐一东第卷第期(年月)基于Android的二维码的生成与识别系统的设计与实现马鸣李海波(南阳理工学院河南南阳)摘要:随着二维码的广泛应用和Android智能手机的进一步普及该文介绍了一个通过Android平台下的摄像和绘图功能利用二维码的编码和解码原理通过Android手机对二维码的数据进行解析和编码实现对二维码生成和识别系统。该系统内容包括两部分:二维条码的生成系统设计和二维条码的识别系统设计。生成系统完成了从输入数据到生成相应二维码的功能识别系统完成对采集到的二维码符号进行译码还原出所携带信息的功能。关键词:二维码二维码生成二维码识别Android平台中图分类号:TP文献标识码:A文章编号:()DesignandRealizationoftheQRCodeGenerationandRecognitionSystemBasedonAndroidMAMing,LIHaibo(NanyangInstituteofTechnology,Nanyang,China)Abstract:AlongwiththewideapplicationofQRCodeandAndroidsmartphonesfurtherpopularityThispaperintroducesacameraanddrawingfunctionintheAndroidworkbenchUsingofQRCodeencodinganddecodingprinciple,throughtheAn⁃droidmobilephoneresolveandcodeplanarbarcodetorealizetheQRCodeidentificationandgeneratesystemThecontentofthisprojectincludesthedesignofcreationandrecognitionThecreationsystemcompletestheprocessfromtheinputdatatoQRCodeandtherecognitionsystemcompletestheprocessoftranslatingQRCodetorelevantinformationKeywords:QRCodeThegenerationofQRCodeTherecognitionofQRCodeTheAndroidPlatform一维条码自出现以来由于受信息容量的限制不得不依赖数据库的存在。在没有数据库和不联网的地方一维条码的使用受到了较大的限制。另外要用一维条码表示汉字的场合显得十分的不方便且效率低下。二维码的出现是为了解决一维条码无法解决的问题而产生。因而它具有高密度、高可靠性等特点所以可以用它表示数据文件(包括汉字文件)、图像等。二维码是大容量、高可靠性信息实现存储、携带并自动适读的最理想的方法。手机二维码的业务类型主要有两种:一是识读就是借助应用软件直接读出码上信息它可以衍生出上网浏览、电子购物等多种应用二是被读就是由商家向手机用户发送二维码信息通过设备识读可作身份识别、电子凭证等之用。系统相关技术分析Android系统架构Android是一种以Linux为基础的开放源代码操作系统主要使用于便携设备。Android的系统架构采用了分层的架构。android分为四个层分别是应用程序层、应用程序框架层、系统运行库层和linux内核层。随着Android的快速发展如今已允许开发者使用多种编程语言来开发Android应用程序而不再是以前只能使用Java开发Android应用程序的单一局面因而受到众多开发者的欢迎成为真正意义上的开放式操作系统。开发环境系统主要分为两个大的模块:二维码的生成和二维码的识别。二维码的生成主要就是基于Winnows上的开发工具Netbeans开发而同时又开发一个在Android平台下的二维码生成。而二维码的识别主要就是基于Android平台来开发主要就是运用AndroidSDK和Eclipse共同开发但是环境需要搭建。二维码的生成主要设计的是在电脑上运行的桌面程序。通过在电脑上开发一个Java程序来生成二维码。其开发环境主要如收稿日期:作者简介:马鸣(),男河南南阳人助教硕士主要从事《移动开发》、《C#语言程序设计》、《C#winform开发》、《ASPNET基础》、《ASPNET高级应用》等课程的教学工作李海波()男陕西宝鸡人助教硕士主要从事《C#语言程序设计》、《ASPNET技术基础》、《ASPNET高级编程》等课程的教学工作。Email:edufccccnetcnhttp:wwwdnzsnetcnTel:ISSNComputerKnowledgeandTechnology电脑知识与技术Vol,No,SeptemberComputerKnowledgeandTechnology电脑知识与技术本栏目责任编辑:唐一东人工智能及识别技术第卷第期(年月)表。表Windows平台上开发使用的环境需求名称开发工具优化工具开发语言运行环境测试环境平台及工具NetbeansPhotoshopJavaWindowsXPJDKWindowsXPJDK二维码的识别和生成是在Android平台上的开发的并使用EclipseIDE工具进行开发的。EclipseIDE安装ADT插件搭建了很好的Android开发平台方便与编程。至于识别的功能要用到摄像头虚拟机上面是没有摄像头的这就需要有真机进行二维码的识别测试。Android平台开发环境如下表:表Android平台开发使用的环境需求名称开发工具优化工具开发语言运行环境测试环境平台及工具Eclipse、AndroidSDK、测试机PhotoshopJavaAndroid平台Android平台系统的设计系统框架设计本系统框架结构主要分成生成和识别两大部分。识别功能主要就是对二维码和条形码的识别。主要就是通过手机的摄像头对二维码或者是条形码进行扫描然后把把扫描到的二维码或者是条形码送到后台进行解析如果解析成功后就不再进行扫描。如果解析不成功就会在进行扫描采集图像在传到后台解析直到能够识别图像为止。生成功能主要就是对二维码的生成。而生成这个功能可以在电脑上运行生成也可以在手机上运行生成。二维码的生成主要支持名片、短信、文本、电子邮件及网络书签的生成。当用户选择好多要生成的对象时就会把用户输入的信息送到后台通过调用解析包来生成还有相应信息的二维码。二维码的生成设计二维码的生成支持多种形式内容的二维码生成。所以用户要先进行选择要生成的类型当选择类型以后系统将转入到多选该类型的生成界面给用户用户将相应的信息填写完成点击生成二维码会跳转到生成界面显示生成的二维码。二维码的识别设计二维码的识别主要是通过对摄像头的调用启用多线程对摄像头进行快速的回调应用当一次回调的图像没有识别出来就进行下一次的回调直到识别出二维码为止。同时由于对与二维码的大小不同显示的模糊度不同等等原因会使摄像头不能很好的采集图像在这里要使摄像头能够进行自动对焦从而使识别更快的实现。当识别完成以后就对用户进行提醒对手机进行震动和播放声音播放完成显示识别出来的结果。系统的实现二维码生成的实现二维码的生成主要是靠官方相应的编码包将用户输入字符转换成二维数组然后根据二维码的编码规范使用绘图功能将二维码进行绘制。二维码的生成主要分为名片、短信、文本、电子邮件、网络书签的生成。需要有相应的框架使程序与用户进行交互使用户有选择自己想要生成的类型然后就是用户将自己想编辑的信息输入到系统内系统应该提供相应的交互界面给用户输入。该功能具体代码如下:publicvoidQREncode(StringstrEncoding,intqrcodeVersion){cswetakeutilQrcodetestQrcode=newcswetakeutilQrcode()testQrcodesetQrcodeErrorCorrect('M')testQrcodesetQrcodeEncodeMode('B')testQrcodesetQrcodeVersion(qrcodeVersion)ComputerKnowledgeandTechnology电脑知识与技术人工智能及识别技术本栏目责任编辑:唐一东第卷第期(年月)bytebytesEncoding=strEncodinggetBytes("")if(bytesEncodinglength>){booleanbEncoding=testQrcodecalQrcode(bytesEncoding)drawQRCode(bEncoding,getResources()getColor(Rdrawableblack))}}绘制条形码privatevoiddrawQRCode(booleanbRect,intcolorFill){intintPadding=CanvasmC=mSurfaceHolderlockCanvas()mCdrawColor(getResources()getColor(Rdrawablewhite))PaintmP=newPaint()mPsetStyle(PaintStyleFILL)mPsetColor(colorFill)mPsetStrokeWidth(F)for(inti=i<bRectlengthi){for(intj=j<bRectlengthj){if(bRectji){mCdrawRect(newRect(intPaddingj*,intPaddingi*,intPaddingj*,intPaddingi*),mP)}}}mSurfaceHolderunlockCanvasAndPost(mC)}二维码识别的实现系统在手机上实现图像的采集是重要的一步在Android平台上是使用Camera类来完成摄像头的调用和图像采集使用CameramCamera=Cameraopen()获得Camera的实例然后使用CameraParameters来设置获得图像的大小最后通过实现CameraPreview-Callback的接口onPreviewFrame(byte[]dataCameracamera)来获得摄像头的图像数据data。为能够较快地获得清晰的图像提高识别速度文中使用了自动对焦技术。另外还应该对对焦进行定时操作这就需要设置一个定时器对自动对焦进行定时调用。后台对摄像头传过来的图像数据data进行解码处理如果能够解析出来则上面的对焦调用摄像头回传图像数据调用等将暂停。如果解析不成功则继续轮回调用。节约解析的时间。后台对摄像头传过来的图像数据data进行解码处理如果能够解析出来则上面的对焦调用摄像头回传图像数据调用等将暂停。如果解析不成功则继续轮回调用。节约解析的时间。主要实现代码如下:publicvoidhandleMessage(Messagemessage){switch(messagewhat){caseRidautofocus:if(state==StatePREVIEW){CameraManagerget()requestAutoFocus(this,Ridautofocus)}breakcaseRidrestartpreview:Logd(TAG,"Gotrestartpreviewmessage")restartPreviewAndDecode()breakcaseRiddecodesucceeded:Logd(TAG,"Gotdecodesucceededmessage")state=StateSUCCESSBundlebundle=messagegetData()Bitmapbarcode=bundle==:(Bitmap)bundlegetParcelable(DecodeThreadBARCODEBITMAP)activityhandleDecode((Result)messageobj,barcode)ComputerKnowledgeandTechnology电脑知识与技术本栏目责任编辑:唐一东人工智能及识别技术第卷第期(年月)breakcaseRiddecodefailed:state=StatePREVIEWCameraManagerget()requestPreviewFrame(decodeThreadgetHandler(),Riddecode)breakcaseRidreturnscanresult:Logd(TAG,"Gotreturnscanresultmessage")activitysetResult(ActivityRESULTOK,(Intent)messageobj)activityfinish()breakcaseRidlaunchproductquery:Logd(TAG,"Gotproductquerymessage")Stringurl=(String)messageobjIntentintent=newIntent(IntentACTIONVIEW,Uriparse(url))intentaddFlags(IntentFLAGACTIVITYCLEARWHENTASKRESET)activitystartActivity(intent)break}}结束语本课题的研究目的是实现二维条码的生成与识别系统设计设计内容包括两部分:二维条码的生成系统设计和二维条码的识别系统设计。生成系统完成了从输入数据到生成相应二维码的功能识别系统完成对图像的自动采集和数据编码解析。参考文献:杨丰盛Android应用开发揭秘M北京:机械工业出版社,:刘宁钟,杨静宇基于傅里叶变换的二维条码识别J中国图像图形学报,,():肖翔,刘晓明,王云柯QR码图像的矫正与定位方法研究J计算机科学,,():谷晓琳,黄明,戚海英基于遗传算法的二维QR码图像识别J大连铁道学院学报,,():王文豪,张亚红,全银,等QRCode二维条码的图形识别技术J计算机技术与发展,,():梁凤梅快速识读QRCode码J电脑开发与应用,,():(上接第页)参考文献:郭齐胜,郅志刚装备评估概论M北京:国防工业出版社,宋广宁关于指挥信息系统软件研发的几点思考J中国人民解放军电子工程学院学报,():许树柏层次分析法原理M天津:天津大学出版社,:王富军,刘增良,刘振浩基于FuzzyAHP的指挥信息系统可信性评估模型研究J指挥控制与仿真,():ButnariuD,KlementEPTriangularnormbasedmeasuresandgameswithfuzzycoalitionsMKluwerAcademicPublishers,

职业精品

废旧物资处置管理办法.docx

学校固定资产管理制度.doc

机械合同范本.doc

显示屏广告发布合同范本.doc

用户评论

0/200
    暂无评论
上传我的资料

精彩专题

相关资料换一换

资料评价:

/ 4
所需积分:2 立即下载

意见
反馈

返回
顶部