微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > TMS320VC5410 CCS 2.2上实现指纹预处理的嵌入式应用研究

TMS320VC5410 CCS 2.2上实现指纹预处理的嵌入式应用研究

时间:08-02 来源:互联网 点击:
迭代阀值二值化

指纹图像经过极值滤波、平滑滤波、拉氏锐化滤波、平滑滤波后,图像的噪声大多数已经被消除;为特征点提取提供了基础。为了提取特征点,需对指纹图像进行分割。本文采取阀值分割。在本次设计中,采取了迭代阀值的方法。在迭代阀值运算中:

1)设定初始阀值T ,如令T=127(灰度级)。把指纹图像的平均灰度值分为两组R 1、R2 ;
2)计算着两组的平均灰度值u1,u2;
3)进而重新设定新的灰度阀值T 。新的T 定义为:T=(u1+u2)/2;
4)依据该T 对指纹图像进行阀值分割。

实验结果表明该方法自适应的阀值对指纹图像进行二值化处理比设定固定阀值更有普遍意义,取得不错的效果,证明该方法是有效和可行的。

指纹图像在CCS 2.2 上的输入与输出

在设计中采用DSP TMS320VC5410 集成开发环境CCS2.2 对指纹识别算法进行了模拟验证。用指纹成像FPS200 采集一幅指纹图像,为*bmp 格式,如finger.bmp 指纹图像。该指纹图像的数据上面添加一个DSP COFF 文件的文件头。因为对于一幅152 ×152的指纹图像, 共占用23104=0x5A40 个字节。而DSP 上的存储单元是以字(16 位)的存储结果。所以该指纹图像的长度应该为0x2D20 个字。

1)添加COFF 文件的文件头完毕后,以文件名finger.out 保存,*.out 文件为TI 的公共目标文件。利用CCS 中的File-Load Data 可以将finger.out 的指纹图像放到DSP 的相应内存中去,本次设计中将finger.out 存放于DSP 的数据存储空间。

2)指纹图像的显示可利用CCS 2.2 中的Image 菜单,通过设置相关选项可以观察处理前的图像与处理后的图像。

指纹预处理算法用C 语言实现,同时核心的卷积迭代运算采用DSP 汇编进行,整个软件系统处理采用混合编程实现。由于在CCS 2.2 上模拟调试时间较长,为了达到脱机的目的,调试通过后,在VC5410P EVM 上进行了实时测试。整个系统的结构如图2 所示。

实际指纹图像预处理的评估结果

依据上述指纹识别预处理算法,通过CCS2.2 的模拟仿真和EVM 实时评估,得到实际指纹图像预处理的时间为0.18"0.3s,需要DSP CPU 资源为约30000MIPS。与Oxford 公司指纹芯片A336FP 比较,节约了约20000MIPS 的CPU 指令周期资源,实现了指纹识别预处理的DSP 嵌入式研究,达到了DSP处理指纹图像的应用目的。结果如图3 所示。



图2 嵌入式指纹识别系统的DSP 结构

(a) 原始指纹(b) 极值滤波后指纹(c) 第一次平滑后指纹
(d) 拉氏锐化后指纹(e) 第二次平滑后指纹(f) 迭代阀值二值化后指纹


图3 实际指纹预处理的DSP 结果

结论

本文针对DSP 的TMS320VC5410快速,高效的特点,采取了DSP集成开发环境CCS2.2对指纹图像进行预处理。在指纹的预处理中,由于DSP 10ns的指令周期使改进的极值滤波、平滑滤波卷积核对指纹图像进行一次、二次平滑实时处理成为可能,而迭代二值化的运算充分利用了DSP五级流水线操作。同时,在DSP C5000 EVM 上的实验测试结果与Oxford的A336FP指纹芯片结果比较,表明该方法能有效的处理指纹图像的加性噪声,随机噪声,达到了利用DSP对指纹图像进行预处理的研究目的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top