微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式虹膜图像采集及预处理

嵌入式虹膜图像采集及预处理

时间:05-18 来源:互联网 点击:

    1. 的,此处两个增量寄存器都被设置为4。

      *pPPI0_FRAME = 625; 在PPI被设置成ITU-656输入模式下,该寄存器用于保存每帧的数据线路数。

      (5)read接口函数。在该函数中初始化PPI控制寄存器和DMA配置寄存器及DMA地址寄存器。

      *pDMA1_0_START_ADDR = buf;

      *pDMA1_0_CONFIG = 0x109B;

      *pPPI0_CONTROL = 0x01C5;

      设置好寄存器后,使进程进入睡眠队列,等待DMA结束产生的中断将其唤醒。

      数据缓冲区在用户区定义,因一帧数据大小确定,所以在用户应用程序中定义的数据存储区大小指定为625*1728B。通过调用函数时传递指针的方式通知数据缓冲区的位置。在该函数中不再使用copy_to_user()函数,此方式节省了内存空间,对于嵌入式应用来说意义重大。事实上每次DMA开始传送的头4个字节总是被忽略掉的,这4个字节是第一个活动视频开始(EAV)代码。即需要的一帧图像数据比实际传送的要少4个字节,但是为了数据处理的方便,仍将数据缓存区定义为完整一帧图像的大小,这样数据缓存区的最后4个字节是下一帧图像的EAV代码。到此,虹膜图像采集的驱动程序基本完成,可以看出,驱动程序与应用程序联系紧密,这也反应了嵌入式系统的一个特点,面向应用,专用性极强。

      3 图像数据的预处理

      在用户程序中,定义二维数组buf[625][1728]作为图像数据的数据缓冲区,然后通过标准系统调用获取一帧虹膜视频图像数据。虹膜视频图像数据是以ITU-656模式输入的,一帧图像分为奇场和偶场,且原始数据中还有颜色信息、消隐信息和控制字等,因此要获得一幅虹膜图像还需对原始数据进行预处理。提取原始数据中的所有亮度信息,并把两个场的数据有规则的合并到一起,然后按照BMP的图像数据存放顺序重新排列,添加相应的文件头生成灰度BMP图像文件。

      BMP文件是Windows保存图像的一种通用位图文件格式,自带颜色信息,调色板管理非常容易,在数字图像处理方面占有重要的地位。

      BMP文件大体上分成如下4个部分,位图文件头+位图信息头+调色板+图像数据。

      (1)第一部分为位图文件头,长度固定,为l4个字节。

      (2)第二部分为位图信息头,长度固定,为40个字节。

      (3)第三部分为调色板。需要注意的是真彩色图不需要调色板,它们的位图信息头后面直接是图像数据。而其他位图,包括本文所讨论的8位位图,都需要调色板。

      (4)第四部分就是实际的图像数据。

      在实际调试过程中还要注意字节对齐问题。比如位图文件头长度固定为l4个字节,但若不注意字节对齐,定义后的结构体实际大小为16个字节,因此定义位图文件头时用__attribute__((packed)),使该结构体长度为14个字节。

      4 结论

      本文简略概述了Blackfin561处理器的DMA相关寄存器,叙述了在uClinux下PPI接口的驱动程序实现过程及功能,对BMP文件格式进行了简要介绍。所有代码已经在BF561的嵌入式uClinux平台上调试通过,符合设计要求。

      本文作者创新点:完成了嵌入式系统上的虹膜图像采集及预处理。在目前国内虹膜识别产业仍处于起步阶段的情况下,本文就虹膜识别技术的实用化做了重要研究,具有重要的实用价值。

      下图是实验中拍到的两幅图片

      参考文献

      [1]杨瑞亚,肖璋嵌入式uClinux内核启动过程分析与设计[J].中文核心期刊《微计算机信息》(嵌入式与SOC )2005 年第21 卷第8-2 期32-33

      [2]ADSP-BF561 Blackfin Hardware Preliminar.pdf [EB/OL]. /upload/eWebUpload/200705/20070510112235534.pdf

      Analog Devices Ine.02/2005.

      [3]陈峰.Blackfin系列DSP原理与系统设计[M].北京:电子工业出版社,2004. 61-72

      [4]JONATHAN CORBET,ALESSANDRO RUBINI,GREG KROAH-HARTMAN.《LINUX DEVICE DRIVERS》[M].东南大学出版社,2005.1-70,258-287

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

    网站地图

    Top