本发明涉及指纹图像处理硬件电路技术领域,特别涉及一种用于形态学腐蚀滤波的硬件电路。
背景技术:
随着科技的飞速发展,身份识别技术在我们的生活和工作中扮演着举足轻重的地位,而指纹识别因其独特的优势从而被广泛应用于生物识别技术中。最开始的指纹识别系统都是采用软件实现的方式去处理采集到的原始指纹图像,这样会消耗巨大的时间。随着集成电路的发展,关于指纹识别技术硬件电路实现的研究也开始变得火热,指纹识别技术硬件实现由利于满足实时性的要求。
指纹识别中第一步就是对采集到的指纹图像进行预处理,预处理的作用就是将原始图像进行处理之后变成只有两种像素值且棱角分明的黑白两色图像。预处理步骤作为提取指纹关键特征点的前一步,其处理效果的好坏直接关系到整个指纹认证系统结果,所以合适的预处理算法至关重要。
一般常用的指纹预处理算法的流程为归一化、图像分割、图像滤波增强、二值化和细化。但是归一化步骤繁琐不利用硬件实现,故而采用直方图均衡化操作。待图像进行二值化操作之后,可能所得到的图像中的脊线宽度偏大,故而影响细化操作的质量。所以本发明在二值化之后提出了一种5*5的形态学腐蚀滤波方法。数学形态学的蓬勃发展,因为其能并行执行,易于硬件实现。目前,数学形态学已在计算机视觉、信号处理与图像处理以及模式识别方面得到了极为广泛的应用。通过腐蚀处理之后的指纹图像,不会影响原来的纹线走向,可以除掉无关紧要的粗细信息。
技术实现要素:
有鉴于此,本发明提出一种用于形态学腐蚀滤波的硬件电路。
一种用于形态学腐蚀滤波的硬件电路,其包括如下模块:
有限状态机fsm、第一写数据模块write_data1、第二写数据模块write_data2、第三写数据模块write_data3、第四写数据模块write_data4、操作模块operator、内存控制模块memorycontrol、第一先进先出队列fifo1、第二先进先出队列fifo2、第三先进先出队列fifo3、第四先进先出队列fifo4、静态随机存取存储器sram1;
所述fsm分别于write_data1、write_data2、write_data3、write_data4、operator电连接;memorycontrol同时与write_data1、write_data2、write_data3、write_data4、operator、fifo1、fifo2、fifo3、fifo4、sram1电连接;
所述fsm用于收到二值化模块完成信号之后,开启腐蚀模块使能信号,开始进行形态学滤波操作;
所述write_data1用于将sram1中第一行原始指纹图像数据缓存进fifo1中;
所述write_data2用于将sram1中第二行原始指纹图像数据缓存进fifo2中;
所述write_data3用于将sram1中第三行原始指纹图像数据缓存进fifo3中;
所述write_data4用于将sram1中第四行原始指纹图像数据缓存进fifo4中;
所述operator用于读取sram1、fifo1、fifo2、fifo3、fifo4中缓存的原始指纹图像数据,并与结构算子相与进行计算,完成原始指纹图像数据预处理操作。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
所述sram1的位宽数据为64位;所述fifo1、fifo2、fifo3、fifo4的位宽数据均为8位,深度为256。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
所述write_data1将sram1中第一行原始指纹图像数据缓存进fifo1中包括:
将sram1中的一个原始指纹图像数据从高位到低位依次以8位位宽缓存进入fifo1,读取一行数据并写入到fifo1之后,进行地址加1操作,再次完成读取sram1操作,重复进行直到读取完第一行原始指纹图像数据。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
所述operator读取的sram1、fifo1、fifo2、fifo3、fifo4中缓存的原始指纹图像数据具体为:
所述operator将依次读取的sram1、fifo1、fifo2、fifo3、fifo4中缓存的原始指纹图像数据存储在operator的5*5寄存器组中。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
所述operator将5*5寄存器组中缓存的原始指纹图像数据与结构算子相与进行计算,完成原始指纹图像数据预处理操作包括:
所述operator将5*5寄存器组数据与5*5结构算子相与进行计算,若符合预设条件,则保留该中心点的进行下一个窗口滑动;若不符合条件,则将中心点数据改为0,即保留该地址值,待一整行指纹图像数据完成操作之后,将要改变的点的值重新写入sram1中。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
待一整行指纹图像数据完成操作之后,将要改变的点的值重新写入sram1中之后还包括:
在完成一次5*5窗口计算之后,以菊花式链接的形式,将fifo1、fifo2、fifo3、fifo4以及读取的sram1中的值中读取1个8位位宽数据缓存进入5*5寄存器组,进行下一次与算子相与操作;直到完成一行图像数据操作之后,再又缓存一行数据进入fifo4,此时将原来的fifo4的数据缓存进入fifo3,原来fifo3的数据缓存进入fifo2,原来fifo2的数据缓存进入fifo1,然后选取5*5数据进行操作,以此重复执行,直到完成整幅原始指纹图像的操作。
实施本发明提供的用于形态学腐蚀滤波的硬件电路与现有技术相比具有以下有益效果:提供sram1,作为内部的sram1与外部的数据采集电路进行连接,存储采集来的原始指纹图像数据;同时提供一个5*5的寄存器组用来对数据进行算法要求的腐蚀运算;提供一个control来控制自适应滤波过程的开始、停止;本发明在控制模块中采用有限状态机的方式,减少了状态转换的时间,再加上硬件电路本身的特点,可以有效的减少图像腐蚀操作的运算时间。
附图说明
图1是本发明实施例的形态学滤波的结构算子;
图2是本发明实施例的用于形态学腐蚀滤波的硬件电路的总体模块设计图。
具体实施方式
如图2,所示一种用于形态学腐蚀滤波的硬件电路,其包括如下模块:
有限状态机fsm、第一写数据模块write_data1、第二写数据模块write_data2、第三写数据模块write_data3、第四写数据模块write_data4、操作模块operator、内存控制模块memorycontrol、第一先进先出队列fifo1、第二先进先出队列fifo2、第三先进先出队列fifo3、第四先进先出队列fifo4、静态随机存取存储器sram1;
所述fsm分别于write_data1、write_data2、write_data3、write_data4、operator电连接;memorycontrol同时与write_data1、write_data2、write_data3、write_data4、operator、fifo1、fifo2、fifo3、fifo4、sram1电连接;
所述fsm用于收到二值化模块完成信号之后,开启腐蚀模块使能信号,开始进行形态学滤波操作;
所述write_data1用于将sram1中第一行原始指纹图像数据缓存进fifo1中;
所述write_data2用于将sram1中第二行原始指纹图像数据缓存进fifo2中;
所述write_data3用于将sram1中第三行原始指纹图像数据缓存进fifo3中;
所述write_data4用于将sram1中第四行原始指纹图像数据缓存进fifo4中;
所述operator用于读取sram1、fifo1、fifo2、fifo3、fifo4中缓存的原始指纹图像数据,并与结构算子相与进行计算,完成原始指纹图像数据预处理操作。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
所述sram1的位宽数据为64位;所述fifo1、fifo2、fifo3、fifo4的位宽数据均为8位,深度为256。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
所述write_data1将sram1中第一行原始指纹图像数据缓存进fifo1中包括:
将sram1中的一个原始指纹图像数据从高位到低位依次以8位位宽缓存进入fifo1,读取一行数据并写入到fifo1之后,进行地址加1操作,再次完成读取sram1操作,重复进行直到读取完第一行原始指纹图像数据。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
所述operator读取的sram1、fifo1、fifo2、fifo3、fifo4中缓存的原始指纹图像数据具体为:
所述operator将依次读取的sram1、fifo1、fifo2、fifo3、fifo4中缓存的原始指纹图像数据存储在operator的5*5寄存器组中。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
所述operator将5*5寄存器组中缓存的原始指纹图像数据与结构算子相与进行计算,完成原始指纹图像数据预处理操作包括:
所述operator将5*5寄存器组数据与5*5结构算子相与进行计算,若符合预设条件,则保留该中心点的进行下一个窗口滑动;若不符合条件,则将中心点数据改为0,即保留该地址值,待一整行指纹图像数据完成操作之后,将要改变的点的值重新写入sram1中。
结构算子的内容如图1所示。
在本发明所述的用于形态学腐蚀滤波的硬件电路中,
待一整行指纹图像数据完成操作之后,将要改变的点的值重新写入sram1中之后还包括:
在完成一次5*5窗口计算之后,以菊花式链接的形式,将fifo1、fifo2、fifo3、fifo4以及读取的sram1中的值中读取1个8位位宽数据缓存进入5*5寄存器组,进行下一次与算子相与操作;直到完成一行图像数据操作之后,再又缓存一行数据进入fifo4,此时将原来的fifo4的数据缓存进入fifo3,原来fifo3的数据缓存进入fifo2,原来fifo2的数据缓存进入fifo1,然后选取5*5数据进行操作,以此重复执行,直到完成整幅原始指纹图像的操作。
实施本发明提供的用于形态学腐蚀滤波的硬件电路与现有技术相比具有以下有益效果:提供sram1,作为内部的sram1与外部的数据采集电路进行连接,存储采集来的原始指纹图像数据;同时提供一个5*5的寄存器组用来对数据进行算法要求的腐蚀运算;提供一个control来控制自适应滤波过程的开始、停止;本发明在控制模块中采用有限状态机的方式,减少了状态转换的时间,再加上硬件电路本身的特点,可以有效的减少图像腐蚀操作的运算时间。本发明的目的在于提供一种快速处理二值化之后的指纹图像、为图像细化步骤操作提供更高准确性操作。
以下通过一具体实施例对本发明实施例原理进行解释:
针对于现有现有方法对指纹预处理中二值化步骤之后得到的指纹图像一些缺陷,本发明的目的在于提供一种快速处理二值化之后的指纹图像、为图像细化步骤操作提供更高准确性操作的用于形态学腐蚀滤波的硬件电路。
如图1、2所示,当预处理模块中的顶层模块状态机中收到二值化模块完成信号之后,开启腐蚀模块使能信号,开始进行形态学滤波操作。
先将sram1中的第一行指纹原始图像通过write_data1模块缓存进入fifo1中,因为sram中的位宽数据是64位,而fifo1的数据位宽为8位,所以sram1中的一个数据需要从高位到低位依次以8位位宽缓存进入fifo1,读取一行数据并写入到fifo1之后,进行地址加1操作,再次完成读取sram操作,如此进行,直到读取完第一行原始指纹图像数据。
如上操作相似,再将第二行第三行和第四行数据分别缓存进入fifo2、fifo3和fifo4。与将write_data1模块进行复用相比,本发明直接采用功能与其类似的模板直接进行存储,尽管增加了面积开销,但是可以在进行第一行数据读写的时候同时并行执行其他三行数据的写入,这样节约了不少时间。
读取完四行数据之后,接着地址值再开始读取sram的数据,依次数据一个数据,随后分别将fifo1、fifo2、fifo3和fifo4读取5个数据进入operator模块中的5*5寄存器组中,且将刚才读取的sram中的高位依次以8位位宽数据缓存5个进入刚才讲述的寄存器组中,形成一个5*5的寄存器组数据。
将这5*5的寄存器组数据与图1中的5*5结构算子相与进行计算,若符合条件,则保留该中心点的进行下一个窗口滑动,若不符合条件,则将该中心点数据改为0,即保留该地址值,待一整行指纹图像数据完成操作之后,将要改变的点的值重新写入sram1中。如前面所述,完成一次5*5窗口计算之后,以菊花式链接的形式,将fifo1、fifo2、fifo3、fifo4以及读取的sram中的值中读取1个8位位宽数据缓存进入5*5寄存器组,进行下一次与算子相与操作;直到完成一行图像数据操作之后,再又缓存一行数据进入fifo4,此时将原来的fifo4的数据缓存进入fifo3,原来fifo3的数据缓存进入fifo2,原来fifo2的数据缓存进入fifo1,然后选取5*5数据进行操作,以此类推,直到完成整幅图像的操作。
待处理的指纹图像采集进入,然后直方图均衡化、图像增强、图像二值化、形态学滤波和细化步骤。
本发明所采用的指纹是256*256像素的图像,所以要包含一个相对位宽的sram用来存储输入进来的数据,本发明采用8196×64的sram存储模式。
本发明利用top_control控制各个步骤进行。要利用状态机的模式来控制,先完成直方图均衡化步骤,随后完成图像增强步骤,依此类推完成最后的细化步骤。
利用5*5的正方形规格来进行滤波功能,采用形态学滤波中的腐蚀算法,通过结构元素滑动平移与指纹图像进行与操作,将中间点的像素值保留或改变后,使前景图像区域变小,前景图像内部的背景区域被放大。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。