- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式linux指纹识别系统探究和实现
基于嵌入式linux指纹识别系统探究和实现 【摘 要】将指纹识别技术与嵌入式系统相结合可以使指纹识别系统摆脱空间与环境的限制,更加广泛的适用于各种场合的需要。系统硬件平台采用基于ARM9架构的S3C2410嵌入式平台。本文对指纹图像预处理、特征值提取和指纹匹配算法进行了改进。实测结果表明,本系统可以稳定的运行在ARM平台上,对指纹识别技术在嵌入式平台应用具有很大参考价值。
【关键词】嵌入式;Linux;指纹识别;MiniGUI
0.引言
计算机的发展使指纹识别技术得到高速发展。目前指纹识别系统的发展以嵌入式系统为主,嵌入式指纹识别系统需要构建可靠的嵌入式平台,而且由于资源有限,对指纹识别算法要求较高。嵌入式指纹识别系统体积小、灵活性高、操作简单,能够很好的满足实际需要。与其它生物识别技术相比,指纹具有较高的稳定性、独特性。指纹绝对可以通过每个指纹的细节特征进行区分。
1.指纹识别系统设计方案
本系统以S3C2410微处理器为核心,外围扩展了SDRAM、RAM芯片、FLASH芯片、RTL8019AS网卡芯片。S3C2410的通用IO口与液晶显示屏、键盘相连,完成与用户的交互操作,构成了了本系统的硬件开发板。指纹采集模块采用的是Veridicom公司的FPS200指纹传感器模块,并通过USB接口与开发板相连,实现数据指令的传送,从而在开发板上完成指纹的获取、预处理、提取特征值、特征值对比等功能。系统机构框架见图1。
操作系统启动后对FPS200指纹模块进行初始化,然后通过USB将采集到的指纹图像传送到ARM开发板上,应用程序对读入的指纹图像进行处理并,最后进行指纹的匹配。
2.嵌入式linux开发平台搭建与实现
2.1嵌入式系统概述
嵌入式操作系统(Embedded Operating System,简称EOS)负责嵌入式系统的全部资源的分配和调度工作,管理任务和并发操作,为开发人员提供统一的接口和硬件抽象。嵌入式操作系统除具备任务调度、中断处理、文件操作等一般操作系统所具有的最基本功能外,还具有小巧、稳定可靠、可移植性好、可扩展性好、具有强大的网络功能及硬件支持等优点。
2.2嵌入式Linux交叉编译环境的搭建
交叉编译需要一个高性能的宿主机,用来编译应用开发的源程序,然后可以生成目标平台的可执行程序。建立交叉编译环境需要完成两件事:宿主机的选择和交叉编译环境的建立。
2.2.1宿主机的选择
嵌入式Linux开发的宿主机可以选择安装Linux操作系统的主机或是装有Linux虚拟机的主机。本文选择Fedora12作为宿主机的操作系统,Linux宿主机与目标机通过两种方式进行连接:(1)网络方式,通过TFTP和NFS服务;(2)串口方式minicom。
2.2.2交叉编译环境的建立
交叉编译就是在一个平台上编译生成可在另一个平台上执行的程序。平台是指体系结构(Architecture)和操作系统(Operating System)。为了Linux的应用程序的开发,构建一个多体系结构的交叉编译环境是非常必要的。
2.5设备驱动程序移植
在Linux系统下将设备分为三类:字符设备,块设备和网络设备。字符设备驱动程序与访问普通文件一样,需要至少实现open、close、read和write等方法,但是普通文件可以前后移动的访问,字符设备通常只能顺序访问。块设备与字符设备类似,块设备上可以容纳文件系统。但是块设备和字符设备在内核中数据的管理方式不同,内核与驱动程序之间的软件接口也不同。
Linux设备驱动的移植分为两种,一种是内核已经支持的硬件,这些设备驱动移植比较简单,只需在内核配置时加入该设备,并添加相应的初始化代码即可。另一种是内核不支持的硬件,首先要编写相应的驱动程序,然后通过交叉编译生成驱动模块文件,在应用程序使用该驱动时加载驱动模块。与U-Boot的移植一样,Linux内核也需要对K9F1208U0B NAND Flash、RTL8019AS网卡进行驱动的移植,而且内核中还要加入LCD、触摸屏和USB驱动的移植。
2.6根文件系统的设计
嵌入式Linux可以支持的多种文件系统,最常用的是Cramfs、YAFFS、JFFS等。
3.指纹识别算法研究
指纹识别算法是将采集到的指纹与指纹模板进行对比,判断它们是否为同一枚手指。目前的指纹识别过程如图3所示。系统从指纹传感器获得原始指纹图像,首先要对采集的图像进行预处理,将噪声等无用信息去除,并且将有用信息加强。其次对处理后的图像提取特征,获得能够区分指纹的唯一性特征。注册指纹是把得到的指纹加入到指纹库中。最后对指纹匹配,通常为了节省查找时间,会将指纹数
文档评论(0)