ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:383.64KB ,
资源ID:16961722      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16961722.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于轨迹识别的安卓屏保程序设计Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于轨迹识别的安卓屏保程序设计Word文档下载推荐.docx

1、摘 要 随着计算机的广泛运用,手机市场的迅速发展,各种隐私保护方式也在网上广为流传,已经渐渐成为人们生活中必不可少的一部分。各种解锁软件也紧跟着发展起来。开发一种占用手机资源少,界面简单,人性化操作,保密功能强的解锁软件具有重要的现实意义。基于轨迹识别的九宫格安卓屏幕保护软件是在eclipse开发平台的基础上,运用java语言进行设计的。首先在屏幕保护界面上创建分布匀称的九个点,每个点包含若干像素。用若干个顺序连接的点来记录用户设置的手势轨迹密码,只有当用户手势轨迹所经过的若干个点的图像和走势与设置的密码完全一致时才能解锁,用户才能获得进一步操作的权限;否则,用户只能停留在解锁界面,无法进行其

2、他操作。通过多次在不同安卓手机上进行程序测试,九宫格解锁屏保软件具有良好的用户体验度。不仅操作简便,而且密码设计的多样性为用户提供了强大的密保功能。关键词:轨迹识别;屏幕保护;九宫格解锁 AbstractWith the widespread use of computers and the rapid development of mobile phone markets, a variety of privacy protection methods are widely circulated online, gradually becoming an indispensable part

3、 of usual life. Various unlocking software are also developed following the tendency. So developing a kind of unlocking software that occupies less phone resources has a simple interface, user-friendly operation and powerful security function is practically significant.Based on trajectory recognitio

4、n, android squared screen saver software is developed by java language on the platform of eclipse. Firstly, creating nine points symmetrically distributed on the screen saver interface, which point contains several pixels. The users gesture password is set by several sequentially connected points to

5、 record the track. Only when the picture and trend of gesture trajectory which through a number of identical points is completely similar with the set password, the user can obtain the permission for further operation; otherwise the user just stay at the unlock screen and cannot perform other operat

6、ions.Tested on different android phones, squared unlock screensaver software provides good user experience. Besides simple operation, it also provides users with a powerful security protection function through the diversity of cipher design.Key words: trajectory recognition; screen saver; squared un

7、lock目 录第1章 绪论 11.1 研究目的及意义 11.2国内外研究现状 1第2章 基于轨迹识别的屏保程序设计 42.1 浅论九宫格轨迹识别算法 42.2用户功能需求分析 52.3系统总体设计 72.4输入模块详细设计 92.5 密码存储模块详细设计 122.6 轨迹密码比对模块详细设计 132.7 轨迹显示模块详细设计 14第3章 基于轨迹识别的安卓屏保程序实现 163.1 Android应用的构成和工作机制介绍 163.2. 九宫格视图模块实现 173.3输入模块实现 183.4显示模块实现 183.5密码存储模块实现 193.6密码比对模块实现 203.7程序界面设计 203.8配置

8、AndroidManifest.Xml 22第4章 总结和展望 23参考文献 24致 谢 25第1章 绪论1.1 研究目的及意义安卓系统是谷歌于2007年公布的开放式源代码手机系统,它的开放性优于其它封闭式的手机系统,是真正意义上的开放性移动设备平台,任何人都可以根据自己的喜好将手机系统中的所有功能重新编写。安卓系统由于其开放性,也会随之产生一系列安全和隐私问题。于是各种解锁软件也紧跟着发展起来,但是很多屏幕保护软件盲目追求界面美观、功能庞大,对用户的手机造成了很多资源浪费,如内存占用率过高、解锁手续复杂等,给用户带来了许多不便。对于大多数普通用户,许多额外功能形同虚设,在日常操作中几乎不会用

9、到。想要综合解决这个问题,可在手机上安装安全软件或仅仅具有识别作用的屏幕保护程序。现在的屏幕保护程序多种多样,大部分只是单纯地为了防止误操作。而基于轨迹识别的屏保程序则增添了一项新的隐私保护功能。通过采集手指在屏幕上的轨迹,可自行设计独特的图案,在其他人不知其图案的前提下,可防止他人解锁手机,保护用户个人隐私。九宫格图案解锁程序是基于轨迹识别的屏保程序中占用手机资源少、界面最简洁的密保软件。研究目的在于通过设计基于轨迹识别的九宫格解锁程序,并将其应用在开放式的安卓系统中,通过简洁方便、占用手机资源少、人性化的解锁操作,达到保护用户个人隐私的目的。轨迹识别是将在手写设备上书写时产生的有序轨迹信息

10、化转化为字符串密码的过程,实际上是手写轨迹的坐标序列到字符串密码的一个映射过程,是人机交互最自然、最方便的手段之一。基于轨迹识别的屏保程序,利用了轨迹识别解锁的原理,给手机隐私安装上了一扇防盗门,只有轨迹匹配时,用户才能通过该保护程序的验证,获得继续操作手机的权限。九宫格解锁软件在程序界面上创建了能记录用户轨迹的九个点分布匀称。用户使用手机时,打开程序的第一界面就是一个大大的九宫格。只有用户输入与原先设置的初始轨迹一样的手势轨迹才能离开此界面,做进一步操作。1.2国内外研究现状1.2.1国外研究现状 手势识别技术在国外很早开始研究,最早的相关技术是基于数据手套的,它是由Grimes于1983年

11、在贝尔实验室完成的,6年后,数据手套技术更进一步,Sturam能通过手指各种特征的检测实现对虚拟物体的控制。20世纪90年代,随着计算机技术的快速发展,手势识别技术也突飞猛进,90年代初,富士通在实验室中己经可以识别46种手部的形态,接着M. Shah等人通过数据手套输入7种不同手势,能够让系统做出7种不同的控制动作。随后两年,Starne:应用该技术准确的识别了美国式手语中由40个单词任意匹配形成的短句;同样Mohammed等人也使用该技术能比较准确的识别由95个单词任意匹配的句子队而台大的Liang运用此技术比较准确的识别了台湾地区Gesture boob中250个基础单词;同时,Xu等人

12、成功将手势识别技术应用于机器人中实现了智能控制;1997年,K.Grobel等人将图像处理技术应用到手势识别中,把视频图像作为输入而非数据手套,能够比较准确的识别视频图像中的262个单词,为手势识别技术的实现方法上提供了新的参考;1999年,V ogler等人结合上述两种手势识别技术,比较准确的识别了美国式手语中的53个单词。 进入21世纪,手势识别技术的研究已经有了很多突破,而且已经广泛应用在各个行业,并有一些基于手势识别的产品出现。国际上已经成功研究了多种模式的人机交互系统。如索尼公司在2003夏天推出了一个叫做EyeToy的游戏外设,它能用摄像头捕捉用户影像信息,并对用户动作进行手势识别

13、,从而达到游戏的互动控制。几个月后,一家在美国Michigan州的科技公司推出一个能用于天气预报的手势软件,天气播报员在播报天气时如果想要呈现出生动的天气效果,可通过改变手指动作向该系统传达特定指令。2005年,三星公司发布了一款名为ESGH-E758且包含手势识别技术的手机,它内置动作感应器,如果想要打电话、玩游戏、拍照,可以晃动手势就能完成而无需按键。类似这款手机,NOKIA也推出了具有相似功能的E77,用户只需定义相关手势动作,就可以通过手势完成特定的功能。2009年MIT研发出一款新型液晶传感器可控制电视实现基本操作,它无需遥控器,也无需触摸屏幕,只需要通过手势来遥控电视机进行改变音量

14、与换台。1.2.2国内研究现状我国手势识别技术起步稍晚,也是从数据手套技术开始的,1995年高文教授提出计算机智能接口的框架;4年后,吴江琴等人将人工神经网络与隐马尔科夫模型相结合的方法用于数据手套技术中,能够比较准确的识别中文手语中单词和句子.一年后,马继涌等人也在数据手套技术的基础上,结合动态高斯混合模型,能够准确识别中文手语中的274个单词。2000年,任海滨提出了基于DTW的手势识别算法,该方法能准确的识别12种手势,2年后,他运用图像处理技术通过对运动模型的分析,提出一种动态图像分割的手势识别方法。最近中科院计研所利用数据手套技术并针对手语动作建立运动模型,在经过多年的努力后,获得了

15、比较不错的手语数据库。2011年4月,腾讯公司将手势识别技术应用于幻灯片的放映,推出了QQ手势达人for PPT的应用插件(仅支持Office2007 ),如图1-4,该软件是一款通过普通摄像头来进行手势控制的体感软件,它抛弃键盘和鼠标,完全由手势控制PPT的演示,且简单易学,三步操作手势(手掌、变拳、移动),就可以提供PPT启动播放,上翻页、下翻页、结束播放等四个常用手势命令。吴江琴、高文在仔细研究ANN-HMM混合方法后,成功的开发出了具有18个传感器的Cyber-Glover型号数据手套的中国手语识别系统。而在计算机单目视觉下的动态手势识别方面,2000年,清华大学的祝远新、徐光裕等对有

16、关连续动态手势的识别进行了研究,他们通过融合手势的皮肤颜色信息和运动信息,成功对复杂背景下的动态手势进行了分割。2008年9月,中国科学院计算技术研究所手语识别与合成课题组历时8年,开发出了先进的手语识别与合成技术,该技术基于运动跟踪原理,使用2只数据手套以及3个六自由度位置的跟踪器,通过记录下每个手语词在真实人体演示时的运动数据,从而建立手语词初始的运动数据库。在成功建立手语词运动数据库之后,再对数据库里的手语词的运动数据进行编辑和微调,最后就得到了高质量的手语词的运动数据库。第2章 基于轨迹识别的屏保程序设计2.1 浅论九宫格轨迹识别算法2.1.1 算法原理在屏幕固定位置设置九个大小一致的

17、圆圈。用户的手势轨迹每经过一个圆圈,就将该圆圈的圆心位置记录下来,不经过圆圈则不记录,若经过的圆圈是上一个已经记录了圆心位置的的圆圈也不记录。手势轨迹一般是连续的经过一个圆圈的,不连续记录相同的圆心是为了去重。将记录的所有圆心位置保存为一个字符串。该字符串就是轨迹识别码。九宫格轨迹识别通过比较轨迹识别码是否一样来判断两条轨迹是否相同。2.1.2 算法精度分析通过该算法得到的一个轨迹识别码可以表示无数种可能性的轨迹。但是一条轨迹只有一个轨迹识别码。这里将轨迹近似化,标准化了。如图2.1所示,三个不同的手势轨迹对应同一个轨迹码(0,3,6,7)。图2.1轨迹图很显然,九宫格轨迹识别算法轨迹识别算法

18、误差非常之大。该算法将一个平面圆近似化成了一个点。提高九宫格轨迹识别算法准确率的方法有两种。第一种方法:增加屏幕上固定圆圈的数量。用极值法思想考虑,当屏幕上的固定圆圈数量与屏幕像素一样多的时候(此时圆圈半径为0),该算法误差就为0了。第二种方法:尽量把九个圆圈均匀的固定在屏幕上。这种方法的理论基础来源于人的书写习惯,人们总是倾向于将文字书写得匀称,这样书写会更美观。人们在使用手机时,也会有这种习惯。所以均匀分布九个圆圈能记录更多的圆心位置。2.1.3 选取算法参数设计九宫格自定义视图用提高九宫格轨迹识别算法准确率的用提高九宫格轨迹识别算法准确率的第一种算法看似能完美实现轨迹0误差识别。但是实际

19、中是不可能的。当屏幕中的圆圈数量太多的时候,安卓手机系统无法承载如此多的存储与计算负荷。而且记录的轨迹识别码是用户需要记住的,轨迹识别码太长,一旦用户无法记住,用户会面临自己都无法解锁的尴尬局面。该屏保程序设计中,我们使用第二种方法来提高轨迹识别的正确率。事实经验得出结论,九个圆圈的基于轨迹识别的屏幕保护程序是最受人们欢迎的。如图2.2所示,设计一个宽度占满整个屏幕区域的正方形九宫格。图2.2 九宫格视图下面通过计算来得到视图定义的相关参数:(1) 取得屏幕的宽w,高h;r(2) 得到圆圈r=w/3/2;得到中心圆圈的圆心位置o4(w/2,h/2);(3) 设置x= w/2 ;y=h/2;(4

20、) 得到到所有圆圈圆心数据o0(x-r,y-r), o1(x,y-r), o2(x+r,y-r), o3(x-r,y) , o5(x+r,y) , o6(x-r,y+r) , o7(x,y+r) , o8(x+r,y+r) 。2.2用户功能需求分析一般基于轨迹识别的安卓屏幕保护程序设计的目的就是一个,那就是为了让用户的手机不能被其他人使用。而用户自身有一个设置密码的方式,用户自身设置的密码要能被系统永久保存,以便用户验证密码是比对两次设置的密码是否相同。所以安卓屏幕保护程序设计的基本功能有三个,即设置轨迹密码功能,解锁功能,修改轨迹密码功能。本次基于轨迹识别的安卓屏幕保护程序设计的开发工作是一

21、项研究性的工作,所以设计本程序也只需要实现用户的设置轨迹密码功能,解锁功能和修改轨迹密码功能。总用例图如图2.3所示。图2.3总用例图解锁的时候,有输入密码功能,有可能轨迹密码输入错误,于是得有重新输入密码功能。解锁用例图如图2.4所示。图2.4 用户解锁用例图在设置轨迹密码时候,有输入轨迹密码功能,有可能用户对已绘制的密码不满意,于是有重新输入轨迹密码功能,设置的密码必须保存起来,所有有保存轨迹密码功能。设置轨迹密码用例图2.5所示。图2.5 绘制轨迹密码用例图在修改轨迹密码的时候,有输入轨迹密码功能,当旧轨迹密码验证不正确,必须重新输入旧轨迹密码,所以有重新输入轨迹密码功能。对设置的新轨迹

22、密码不满意时,也得重新输入新轨迹密码。修改后的新轨迹密码得保存起来,所以有轨迹密码存储功能。修改轨迹密码用例图如图2.6所示。图2.6 修改密用例图2.3系统总体设计 通过软件功能分析可知本软件需要实现用户的三个功能。分别为手势密码设置功能,手势密码验证功能,以及修改密码功能。为了完成手势密码设置功能,手势密码验证功能,以及修改密码功能,需要设计三个界面,方便用户操作。它们分别为密码设置界面,登陆验证界面以及主界面。三个界面之间能互相跳转。图2.7展示了该屏幕保护设计的系统流程图。图2.7 系统流程图在系统的密码设置界面创建一个按钮“重新绘制”,点击该按钮,用户就可以从该界面的九宫格视图中重新

23、绘制轨迹图。轨迹图设置好后,点击保存按钮,该轨迹会保存为一个轨迹识别码,该轨迹识别码被存放在静态文件中,用不丢失。系统主界面设置一个按钮“重置密码”。点击此按钮直接跳转到密码验证界面,轨迹密码验证成功后,程序跳转到密码设置界面。从系统流程图中可以得到各界面之间的跳转关系如图2.8所示。图2.8 界面跳转关系图 系统总体设计中的各个模块可以分为轨迹输入模块,轨迹存储模块,以及轨迹对比验证模块。考虑到用户体验效果,本设计添加一个轨迹显示模块,将用户所经过的大致轨迹显示出来。轨迹输入由用户从九宫格视图中输入,用户绘制轨迹时系统将输入的轨迹记录下来。此处记录的是轨迹顺序经过的九宫格圆圈的圆心。再将所有

24、圆心的索引号转化为一个字符串。密码存储模块让系统记住用户先前所设置的九宫格密码,改密码必须被保永久存储起来,方便系统的调用。首先程序捕获到的手势轨迹所经过的点集的索引转化为字符串。然后将该字符串保存到静态文件中。轨迹显示模块显示手势轨迹所经过的点和线。将即时捕捉到的用户轨迹索引序号保存为动态字符串。将该动态字符串数与用户存储的密码字符串进行比对,若两者一致,则程序解锁。2.4输入模块详细设计图2.9展示的是输入模块的工作流程图。在密码验证界面,用户手指接触屏幕,移动,或提起通过event.getAction()函数能得到。该输入模块将用户手势轨迹所经的九宫格圆圈的圆心点用spoints数组临时

25、保存起来。图2.9 输入模块流程图event.getAction()函数能够返回用户接触屏幕时的状态。我们需要用到用户手势的三个状态。其中包括点下,移动和提起。为了实现输入密码的功能。得创建一个点类,这个点类有以下属性point(x,y,p,index).其中x,y是这个点在屏幕上的位置,创建点时获得;p为这个点的状态0/1,默认为0;index是这个点的标签,默认为0。创建spoints数组来存储被选择的point点类。创建mpoints33数组来依次存储九宫格视图中九个圆圈的中心位置。创建check()函数来判断点是否在九宫格圆圈图片上,check函数的判断过程如流程图2.10所示。 图2

26、.10判断流程判断该点是否是上一记录点的方法如流程图2.11所示。调用ArrayList.size方法能或得spoints数组的大小。调用ArrayList.get方法能得到spoints数组中特定位置的点。所以得到spoints数组最后的点的索引值方法为sPoints.get(sPoints.size() - 1)。图2.11是否同一点判断流程调用ArrayList 的add()法可以直接在sPoints数组后面添加点元素。2.5 密码存储模块详细设计按下密码设置界面的“保存”按钮,系统将sPoints数组中所有点的index转化为字符串。再通过SharedPreferences函数将数据存

27、储到静态xml文件中。密码存储的简要流程图如图2.12所示。图2.12存储模块设计流程中的第二步在输入模块里已经完成。系统捕获到的所有点被存在sPoints数组中。该模块中得创建一个StringBuffer()类型的中间变量sf,该变量可以存储和操作字符串。定义一个StringBuffer()类型来完成密码的字符串转化。遍历spoints点集,将依次将spoints中的点的索引存储到字符串sf中。接下来的工作就是将该字符串保存到静态文件中了。将spoints中的所有点的索引保存为sf字符串的流程图2.13所示。图2.13 转化为字符串流程图Sf调用StringBuffer()的append方法

28、能添加数据到sf字符串的结尾变成一个新的字符串。使用Shared Preferences保存数据,能将数据存入到xml文件中。此处用调用Context对象的getSharedPreferences()方法。使创建一个SharedPreferences.Editor对象,调用SharedPreferences.Editor对象的putstring函数来实现存储字符串到“password”中。这样索引字符串就以以间值对的形式存储到静态xml中。2.6 轨迹密码比对模块详细设计当用户输入完轨迹密码,即用户手指提起,离开屏幕,系统的输入模块将用户轨迹所经过的九宫格圆圈图片的圆心点用spoints数组记

29、录起来。调用密码存储模块的字符串转化模块将spoints数组记录的所有点的索引转化为字符串。将该字符串与用户存储的密码字符串进行比对,若两者一致,则程序解锁,程序可进一步操作。若不一致,则解锁失败,用户继续解锁。图2.14展示了轨迹密码模块工作的流程。图2.14密码比对模块流程流程中的第二步由输入模块完成,第三步可以通过调用密码存储模块的字符串转化模块实现,所以这里无需再进行设计。由于密码存储的时候是通过Shared Preferences完成的,所以获取用户已设置的密码字符串可以通过get()方法完成。两者的对比由字符串的比较方法equals完成。当equals返回值为true时,密码解锁成

30、功,反之,解锁失败。2.7 轨迹显示模块详细设计当用户绘制轨迹时,系统将用户绘制的大致轨迹显示出来。轨迹的显示可以分为两部分,圆圈图片的显示和线的显示。显示圆圈图片时,需要用到圆心点的state参数。点的state参数设置的默认值为0,当该点被轨迹经过,即spoints数组记录了该点,该点的state参数就被设置为1。这样的话,程序只需判断圆圈圆心点的state就能判断该圆圈该画成什么状态。圆圈图片显示判断的流程图如图2.15所示。九个圆圈图片都得依图2.15来判断。图片的显示可以调用drawBitmap方法来完成。连线的显示包含两个方面,分别为圆圈图片中心点到圆圈图片中心点的显示和圆圈图片圆心点到普通像素点的显示圆圈图片中心点到圆圈图片中心点的显示用递归法来完成。即第一个被选中的圆圈图片中心点与第二个被选择的圆圈图片中心点相连,第二个被选择圆圈图片中心点与第三个被选择圆圈图片中心点相连,直到连到最后一个被选择九宫格点。圆圈图片中心点到圆圈图片中心点的显示与圆圈图片中心点连接普通像素点都是直接调用drawLine函数完成。图2.15 判

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1