指纹图像的预处理:目的是去除指纹图像中的噪音,将其转化为一幅清晰的点线图,便于提取正确的指纹特征。预处理影响指纹识别的效果,具有重要的意义。它分四步进行,即灰度滤波、二值化、二值去噪、细化。 对图像细化后,采用细节点模反提取出指纹图像的脊线末梢和脊线分支点的位置,将指纹认证问题转化成为点模式匹配问题。建档时将特征位置点坐标转化为极坐标后存入数据库,作为建档模板。指纹比对时,采用同样的方法,得到比对模板。由于要考虑指纹的平移和旋转(对极坐标只考虑旋转),对每个关键点A,在指纹图像上寻找两个与其最后的关键点R、S,把A、R、S点的类型(末梢或分支点)分别纪录为nType1、nType2、nType3;把连接点A与点R、点 A与点S、点R与点S的3条虚拟线段所跨越的脊线数分别记为nCrossNum1、nCrossNum2、nCrossNum3。如果这两点满足一定茶杯条件,则认为点A与点B初匹配成功,如此可选择出最好的3组对应点,计算出比对模板相对建档模板的旋转角度,将比对模板矫正后,再进行细节点的精细匹配,根据隶属函数可计算两个指纹的相似度。如大于某个阈值,则认为是同一指纹。 2 系统的定制 2.1 选择嵌入式操作系统 随着微电子技术的进步,芯片的制造成本和销售价格都大大降低了,而功能和内部支持的端口却大大扩展了,16位和32位嵌入式处理器逐渐成为电子产品设计的主流。为了缩短产品设计周期和运行时间,使工作更稳定、更可靠和更高效并实现需要的复杂功能,需要运行于嵌入式处理器上的嵌入式操作系统,才能形成完整的系统平台。当前嵌入式操作系统包括Microsoft Embedded NT 4.0、Microsoft Windows CE、Nucleus PLUS、pSOSystem等。由于指纹识别对系统计算能力要求较高,需要具有强大的管理功能,并不需要硬实时功能,在实际开发中选用 Microsoft Embedded NT 4.0嵌入式操作系统,它具有操作系统的完善功能和强大的TCP/IP网络功能;开发环境可选用Visual C++ 6.0并支持组件对象模型、MFC、ATL等。经过实验验证,可满足设计要求。 2.2 系统硬件选择及开发 系统硬件框图见图2。