520 likes | 699 Views
指纹识别预处理. DSP 的实现. 电子信息工程 05 级 2 班:殷剑. 目录. 第一章 硬件 1.1 FPC1010 指纹传感器子卡 1.2 TMS320VC5510 DSK 第二章 软件 2.1 CCS 第三章 算法 3.1 图像增强 3.2 图像二值化 3.3 图像细化. 第一章 硬件. 1.1 FPC1010 指纹传感器子卡 1.1.1 关键特征 200 x 152 像素电容式指纹传感器 3.3V 电压供电 模式选择开关 用户选择开关 6 个状态 LEDs.
E N D
指纹识别预处理 DSP的实现 电子信息工程05级2班:殷剑
目录 • 第一章 硬件 1.1FPC1010指纹传感器子卡 1.2TMS320VC5510 DSK • 第二章 软件 2.1 CCS • 第三章 算法 3.1 图像增强 3.2 图像二值化 3.3 图像细化
第一章 硬件 1.1FPC1010指纹传感器子卡 1.1.1关键特征 200 x 152像素电容式指纹传感器 3.3V电压供电 模式选择开关 用户选择开关 6个状态LEDs 图1-1-1 FPC1010指纹传感器实物图
图1-1-3 FPC1010指纹传感器子卡的功能结构图 图1-1-2 FPC1010指纹传感器子卡俯视图
1.1.2 系统配置 • 断掉所有电源,如图1-1-4安装 • 配置模式选择开关 • 上电 图1-1-4 FPC1010指纹传感器子卡安装图 图1-1-4 FPC1010指纹传感器子卡安装图
1.1.2.2 用户选择开关 用户选择开关有两个选项:“Enroll”和“Verify”,用 于注册新的指纹和在数据库中进行指纹的验证。 1.1.2.1 模式选择开关 图1-1-5 模式选择开关配置图 图1-1-6 引脚路由图
图1-1-7 CEAn和CEBn映射图 图1-1-8 目标DSP内存映射地址图
1.1.2.3 LED 图1-1-9 LED图
1.1.3 指纹采集 这部分描述的是如何在传感器上放置手指以得到准确,高质量 的指纹。这点对后面指纹的“Enroll”和“Verify”非常重要。 1.1.3.1 要点 每次将手指放到传感器上时,必须考虑以下三点: • 手指的布局应该是每次更适宜被执行相同方式的同样位置 • 图像应该包含尽可能许多指纹核心区域 • 压力适中 1.1.3.2 采集指纹演示 1)手指角度 如图1-1-10 2)手指滚动 如图1-1-11 3)手指平移 如图1-1-12 4)手指旋转 如图1-1-13
图1-1-10手指角度图 图1-1-11手指滚动图 图1-1-13手指旋转图 图1-1-12手指平移图
1.2TMS320VC5510 DSK 图1-2-1TMS320VC5510 DSK 套件
1.2.1关键特征 • 带有一片工作在时钟频率200MHz下的5510 DSP • 一个AIC23立体声编码器 • 8 MB的SDRAM • 512 KB的稳定Flash存储器 • 4个用户可访问LEDs和DIP开关 • 通过配置CPLD上的寄存器来设置开发板上的软件 • 可通过跳线选择导入模式 • 为子板使用的标准扩展器 • 通过与主机USB接口的JTAG仿真器或外部的仿真器进行 JATG仿真 • 单电压供电(+5V) 1.2.2 物理规格 VC5510 DSK的是一个8.25×4.5英寸(210 x 115mm)多层开发板, 此板需要+5V的电压供电。
1.2.3 Cx55与C54x的区别 1.2.4 CPU结构 C55xDSP的CPU结构功能框图如下:
1.2.4.1 总线 由图1-2-7可知,与CPU相连的有12条总线: • 3条16 bits数据读-数据总线(BB、CB、DB) • 3条24 bits数据读-地址总线(BAB、CAB、DAB) • 2条16 bits数据读-数据总线(EB、FB) • 2条24 bits数据读-地址总线(EAB、FAB) • 1条32 bits程序读-数据总线(PB) • 1条24 bits程序读-地址总线(PAB)
1.2.4.2 指令缓冲单元(I单元) I单元的功能是从存储器中取出指令送到CPU。结构如下图: 图1-2-8 指令缓冲单元结构图
1.2.4.3 程序流单元(P单元) P单元的功能是控制DSP程序执行流程。结构如下图: 图1-2-9 程序流单元结构图
1.2.4.4 地址数据流单元(A单元) A单元的功能是作为数据存取管理程序,对数据读出和写入总线进行 控制。结构如下图: 图1-2-10 地址数据流单元结构图
1.2.4.5 数据计算单元(D单元) D单元的功能是进行数据处理。结构如下图: 图1-2-10 数据计算单元结构图
1.2.5 存储器 C55x采用了改进的哈佛结构,具有统一的程序和数据空间。所 有16M存储器是以程序或数据空间的形式提供。程序空间是用来存 储指令而数据空间则用作通用存储器和CPU存储器的映射寄存器。 图1-2-11TMS320VC5510 DSK存储映射图
图1-2-12 程序空间和数据空间的存储映射变换图
第二章 软件 2.1CCS TI公司的DSP集成开发环境CCS(Code Composer Studio)是一 个基于Windows的DSP开发平台,可以加速和提高程序员创建和测试 实时嵌入式信号处理系统的开发过程,从而缩短将产品推向市场所 需要的时间。 CCS主要包含以下功能: • 集成可视化代码编辑界面,可直接编写C、汇编、.H文件、CMD文件。 • 集成代码生成工具,包括汇编器、优化C编辑器、连接器等。 • 基本调试工具,如查看寄存器、存储器、反汇编窗口等,支持C源代码级调试。 • 支持多DSP调试。 • 断点工具。包括硬件断点、软件断点、条件断点等
探针工具,可用于算法仿真、数据监视等。 • 分析工具,可用于评估代码执行的效率。 • 数据的图形显示工具。 • 提供GEL工具。 • 支持REDX (Real Time Data Exchange) 技术,可在不中断目标系统运行的情况下,实现DSP与其他用于程序的数据交换。 • 提供DSP/BIOS工具。
第三章 算法 3.1图像增强 每当一副图像从一种形式变到另一种形式,由于多种因素的影 响,输出图像的质量或多或少地有所降低或退化。图像增强的目的 是采用一系列技术去改善图像的视觉效果或将图像转换成一种更适 合于人眼观察和机器自动分析的形式。 3.1.1图像增强方法的分类 • 空间域处理 1)局部运算 2)点运算 • 频域处理
3.1.2图像增强的几种方法 1.直方图均衡 用灰度变换函数对输入图像直方图进行修正,使修正后的图像 直方图趋向均匀分布,从而使图像灰度级的动态范围增大,达到改 善图像质量的目的。处理效果如图3-1-1和3-1-2。 histeq.c
图3-1-2 处理前后直方图对比图 图3-1-1 处理前后图像对比图
3.1.2.2 中值滤波 此方法是能有效地抑制图像中噪声的非线性信号处理技术。 3.1.2.3 锐化 锐化是加强图像轮廓和边缘的一种方法。 3.1.2.4 平滑 平滑抑制或消除虚假的物体轮廓或边缘这类噪声的一种方法。
3.2图像二值化 3.2.1图像二值化概述(略) 3.2.2图像二值化原理 所谓图像的二值化是指通过设定阈值把灰度图像变成仅用两个值 分别表示图像的目标和背景的二值图像。对于指纹图像,我们可以 将其看作是脊线和谷线两种区域,指纹图像的二值化就是将这两种 区域分割开,并以像素值0来量化脊线区域,以像素值255量化谷线 区域,由此得到的图像就是指纹的二值化图像。 图像二值化可根据下列的阈值处理:
3.2.3图像二值化的方法 3.2.3.1全局固定阈值法 全局固定阈值法是指在整幅图像范围内用同一阈值来进行二值化 处理的方法。 固定阈值法算法极其简单,只需要通过主观的判断设定其阈值 即可。但是,这种方法有很大的局限性,首先就得有图像的先验知 识,才好把握其阈值,还得通过多次的比较才能确定。而且对应残 缺或灰度不均匀的指纹图像,其处理效果很不理想。处理效果如图 3-2-1。 1
3.2.3.2局部平均阈值法 局部平均阈值法是指在一幅图像进行划分为M*N个子块,然后对 每个子块的像素值和求平均,平均值即为阈值,然后对其进行二值 化处理的方法。 局部平均阈值法的算法特点: • 相对简单容易实现 • 处理的图像效果比较理想 • 边界容易出现“黑块”现象。 处理效果如图3-2-2。 2
3.2.3.3全局自适应阈值法 全局自适应阈值法是指在整幅图像内用类判别分析法自动选择 阈值,然后用该阈值进行二值化处理的方法。 它的基本思想是:以最佳门限将图像灰度直方图分割成两部分 ,使两部分类间方差取最大值(即分离性最大),并将其所对应的 像素值作为最佳阈值 。 全局自适应阈值法的算法相对比较复杂,但是处理仍然高效, 但也有其局限性。这种方法在灰度直方图中不具有双峰性的情况下 也可以计算出阈值点,但是不一定是肉眼所能看到的最佳分离点。 在图像中,当与对象物相比,背景的面积很大的情况下,(如指纹 图像中的四个角。)用这种方法所得到的阈值T,可能会产生信息的 丢失。还有一个缺点就是对有的指纹会出现“融合”,甚至是“黑 化”的现象。这为后续的细化处理过程造成影响。 处理效果如图3-2-3。 3
3.2.3.4局部自适应阈值法 局部自适应阈值法是在全局自适应阈值法的基础上改进的算法。 仍然采取类判别分析法自动选择阈值,与之不同的是融合了分块的 思想。有效的解决了多峰性的问题,阈值的选择更具合理性。(前 提是分块不得太小。分得太小的话,将失去直方图统计的意义,会 出现“黑块”的现象。)在对图像的处理过程中,基本解决了“黑 化”现象,只有极少或没有“融合”现象。但是指纹图像中四个角 信息容易丢失的问题,没有得到很好的解决。处理效果如图3-2-4。 4 otsu.c
3.2.3.5局部平均阈值改进法 局部平均阈值改进法顾名思义是在局部平均阈值法的基础上改 进而成的,成功避免了边界出现的“黑块”现象,也不会有“融合 ”现象的发生。 它的算法也相对简单易实现。基本原理是:分块求出的阈值与 整体阈值做比较,取较小的阈值为最终阈值。 具体步骤如下: • 求整幅图像的阈值S。 • 将图像划分为M*N块,求每一块的阈值S’。 • 比较S与S’的大小,最终阈值T=min{S, S’}。 • 以阈值T对图像进行二值化处理。 处理效果如图3-2-5。 5
3.2.3.6五种二值化算法效果对比 图3-2-5 局部平均阈值改进法对比图
3.3图像细化 3.3.1图像细化概述(略) 3.3.2图像细化原理 图像细化技术把二值图像中具有一定宽度的线条状区域变成一条 薄线(即只有一个像素宽度)。图像细化大大的压缩了原始图像的 数据量,并保持其形状的基本拓扑结构不变,从而为下一步特征点 提取打下基础。
3.3.3图像细化的方法 3.3.3.1 Hilditch细化算法 该算法适用于0和1的二值图像。针对细化图像,每次扫描删除 图像上目标的轮廓象素,直至细化处理完成。所得的骨架形态是8连 接的。缺点是会产生毛刺且细化不彻底。处理效果如图3-3-1。 hilditch.c 图3-3-1Hilditch 细化算法对比图
pavlidis.c 3.3.3.2 Pavlidis细化算法 该算法为异步细化算法,是通过并行与串行混合处理来实现细化 的。它用位运算进行特定模式的匹配,所得的骨架形态为8连接。适 用于0和1的二值图像。缺点是会产生桥接。处理效果如图3-3-2。 图3-3-1Pavlidis 细化算法对比图
rosenfeld.c 3.3.3.3 Rosenfeld细化算法 该算法是一种并行细化的算法。所得的骨架形态为8连接。适用于0 和1的二值图像。缺点是会产生桥接和空白区域。 处理效果如图3-3-3。 图3-3-1Rosenfeld 细化算法对比图