本發(fā)明涉及指紋圖像處理硬件電路技術(shù)領(lǐng)域,特別涉及一種用于形態(tài)學(xué)腐蝕濾波的硬件電路。
背景技術(shù):
隨著科技的飛速發(fā)展,身份識(shí)別技術(shù)在我們的生活和工作中扮演著舉足輕重的地位,而指紋識(shí)別因其獨(dú)特的優(yōu)勢從而被廣泛應(yīng)用于生物識(shí)別技術(shù)中。最開始的指紋識(shí)別系統(tǒng)都是采用軟件實(shí)現(xiàn)的方式去處理采集到的原始指紋圖像,這樣會(huì)消耗巨大的時(shí)間。隨著集成電路的發(fā)展,關(guān)于指紋識(shí)別技術(shù)硬件電路實(shí)現(xiàn)的研究也開始變得火熱,指紋識(shí)別技術(shù)硬件實(shí)現(xiàn)由利于滿足實(shí)時(shí)性的要求。
指紋識(shí)別中第一步就是對采集到的指紋圖像進(jìn)行預(yù)處理,預(yù)處理的作用就是將原始圖像進(jìn)行處理之后變成只有兩種像素值且棱角分明的黑白兩色圖像。預(yù)處理步驟作為提取指紋關(guān)鍵特征點(diǎn)的前一步,其處理效果的好壞直接關(guān)系到整個(gè)指紋認(rèn)證系統(tǒng)結(jié)果,所以合適的預(yù)處理算法至關(guān)重要。
一般常用的指紋預(yù)處理算法的流程為歸一化、圖像分割、圖像濾波增強(qiáng)、二值化和細(xì)化。但是歸一化步驟繁瑣不利用硬件實(shí)現(xiàn),故而采用直方圖均衡化操作。待圖像進(jìn)行二值化操作之后,可能所得到的圖像中的脊線寬度偏大,故而影響細(xì)化操作的質(zhì)量。所以本發(fā)明在二值化之后提出了一種5*5的形態(tài)學(xué)腐蝕濾波方法。數(shù)學(xué)形態(tài)學(xué)的蓬勃發(fā)展,因?yàn)槠淠懿⑿袌?zhí)行,易于硬件實(shí)現(xiàn)。目前,數(shù)學(xué)形態(tài)學(xué)已在計(jì)算機(jī)視覺、信號(hào)處理與圖像處理以及模式識(shí)別方面得到了極為廣泛的應(yīng)用。通過腐蝕處理之后的指紋圖像,不會(huì)影響原來的紋線走向,可以除掉無關(guān)緊要的粗細(xì)信息。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提出一種用于形態(tài)學(xué)腐蝕濾波的硬件電路。
一種用于形態(tài)學(xué)腐蝕濾波的硬件電路,其包括如下模塊:
有限狀態(tài)機(jī)fsm、第一寫數(shù)據(jù)模塊write_data1、第二寫數(shù)據(jù)模塊write_data2、第三寫數(shù)據(jù)模塊write_data3、第四寫數(shù)據(jù)模塊write_data4、操作模塊operator、內(nèi)存控制模塊memorycontrol、第一先進(jìn)先出隊(duì)列fifo1、第二先進(jìn)先出隊(duì)列fifo2、第三先進(jìn)先出隊(duì)列fifo3、第四先進(jìn)先出隊(duì)列fifo4、靜態(tài)隨機(jī)存取存儲(chǔ)器sram1;
所述fsm分別于write_data1、write_data2、write_data3、write_data4、operator電連接;memorycontrol同時(shí)與write_data1、write_data2、write_data3、write_data4、operator、fifo1、fifo2、fifo3、fifo4、sram1電連接;
所述fsm用于收到二值化模塊完成信號(hào)之后,開啟腐蝕模塊使能信號(hào),開始進(jìn)行形態(tài)學(xué)濾波操作;
所述write_data1用于將sram1中第一行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo1中;
所述write_data2用于將sram1中第二行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo2中;
所述write_data3用于將sram1中第三行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo3中;
所述write_data4用于將sram1中第四行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo4中;
所述operator用于讀取sram1、fifo1、fifo2、fifo3、fifo4中緩存的原始指紋圖像數(shù)據(jù),并與結(jié)構(gòu)算子相與進(jìn)行計(jì)算,完成原始指紋圖像數(shù)據(jù)預(yù)處理操作。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
所述sram1的位寬數(shù)據(jù)為64位;所述fifo1、fifo2、fifo3、fifo4的位寬數(shù)據(jù)均為8位,深度為256。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
所述write_data1將sram1中第一行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo1中包括:
將sram1中的一個(gè)原始指紋圖像數(shù)據(jù)從高位到低位依次以8位位寬緩存進(jìn)入fifo1,讀取一行數(shù)據(jù)并寫入到fifo1之后,進(jìn)行地址加1操作,再次完成讀取sram1操作,重復(fù)進(jìn)行直到讀取完第一行原始指紋圖像數(shù)據(jù)。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
所述operator讀取的sram1、fifo1、fifo2、fifo3、fifo4中緩存的原始指紋圖像數(shù)據(jù)具體為:
所述operator將依次讀取的sram1、fifo1、fifo2、fifo3、fifo4中緩存的原始指紋圖像數(shù)據(jù)存儲(chǔ)在operator的5*5寄存器組中。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
所述operator將5*5寄存器組中緩存的原始指紋圖像數(shù)據(jù)與結(jié)構(gòu)算子相與進(jìn)行計(jì)算,完成原始指紋圖像數(shù)據(jù)預(yù)處理操作包括:
所述operator將5*5寄存器組數(shù)據(jù)與5*5結(jié)構(gòu)算子相與進(jìn)行計(jì)算,若符合預(yù)設(shè)條件,則保留該中心點(diǎn)的進(jìn)行下一個(gè)窗口滑動(dòng);若不符合條件,則將中心點(diǎn)數(shù)據(jù)改為0,即保留該地址值,待一整行指紋圖像數(shù)據(jù)完成操作之后,將要改變的點(diǎn)的值重新寫入sram1中。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
待一整行指紋圖像數(shù)據(jù)完成操作之后,將要改變的點(diǎn)的值重新寫入sram1中之后還包括:
在完成一次5*5窗口計(jì)算之后,以菊花式鏈接的形式,將fifo1、fifo2、fifo3、fifo4以及讀取的sram1中的值中讀取1個(gè)8位位寬數(shù)據(jù)緩存進(jìn)入5*5寄存器組,進(jìn)行下一次與算子相與操作;直到完成一行圖像數(shù)據(jù)操作之后,再又緩存一行數(shù)據(jù)進(jìn)入fifo4,此時(shí)將原來的fifo4的數(shù)據(jù)緩存進(jìn)入fifo3,原來fifo3的數(shù)據(jù)緩存進(jìn)入fifo2,原來fifo2的數(shù)據(jù)緩存進(jìn)入fifo1,然后選取5*5數(shù)據(jù)進(jìn)行操作,以此重復(fù)執(zhí)行,直到完成整幅原始指紋圖像的操作。
實(shí)施本發(fā)明提供的用于形態(tài)學(xué)腐蝕濾波的硬件電路與現(xiàn)有技術(shù)相比具有以下有益效果:提供sram1,作為內(nèi)部的sram1與外部的數(shù)據(jù)采集電路進(jìn)行連接,存儲(chǔ)采集來的原始指紋圖像數(shù)據(jù);同時(shí)提供一個(gè)5*5的寄存器組用來對數(shù)據(jù)進(jìn)行算法要求的腐蝕運(yùn)算;提供一個(gè)control來控制自適應(yīng)濾波過程的開始、停止;本發(fā)明在控制模塊中采用有限狀態(tài)機(jī)的方式,減少了狀態(tài)轉(zhuǎn)換的時(shí)間,再加上硬件電路本身的特點(diǎn),可以有效的減少圖像腐蝕操作的運(yùn)算時(shí)間。
附圖說明
圖1是本發(fā)明實(shí)施例的形態(tài)學(xué)濾波的結(jié)構(gòu)算子;
圖2是本發(fā)明實(shí)施例的用于形態(tài)學(xué)腐蝕濾波的硬件電路的總體模塊設(shè)計(jì)圖。
具體實(shí)施方式
如圖2,所示一種用于形態(tài)學(xué)腐蝕濾波的硬件電路,其包括如下模塊:
有限狀態(tài)機(jī)fsm、第一寫數(shù)據(jù)模塊write_data1、第二寫數(shù)據(jù)模塊write_data2、第三寫數(shù)據(jù)模塊write_data3、第四寫數(shù)據(jù)模塊write_data4、操作模塊operator、內(nèi)存控制模塊memorycontrol、第一先進(jìn)先出隊(duì)列fifo1、第二先進(jìn)先出隊(duì)列fifo2、第三先進(jìn)先出隊(duì)列fifo3、第四先進(jìn)先出隊(duì)列fifo4、靜態(tài)隨機(jī)存取存儲(chǔ)器sram1;
所述fsm分別于write_data1、write_data2、write_data3、write_data4、operator電連接;memorycontrol同時(shí)與write_data1、write_data2、write_data3、write_data4、operator、fifo1、fifo2、fifo3、fifo4、sram1電連接;
所述fsm用于收到二值化模塊完成信號(hào)之后,開啟腐蝕模塊使能信號(hào),開始進(jìn)行形態(tài)學(xué)濾波操作;
所述write_data1用于將sram1中第一行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo1中;
所述write_data2用于將sram1中第二行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo2中;
所述write_data3用于將sram1中第三行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo3中;
所述write_data4用于將sram1中第四行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo4中;
所述operator用于讀取sram1、fifo1、fifo2、fifo3、fifo4中緩存的原始指紋圖像數(shù)據(jù),并與結(jié)構(gòu)算子相與進(jìn)行計(jì)算,完成原始指紋圖像數(shù)據(jù)預(yù)處理操作。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
所述sram1的位寬數(shù)據(jù)為64位;所述fifo1、fifo2、fifo3、fifo4的位寬數(shù)據(jù)均為8位,深度為256。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
所述write_data1將sram1中第一行原始指紋圖像數(shù)據(jù)緩存進(jìn)fifo1中包括:
將sram1中的一個(gè)原始指紋圖像數(shù)據(jù)從高位到低位依次以8位位寬緩存進(jìn)入fifo1,讀取一行數(shù)據(jù)并寫入到fifo1之后,進(jìn)行地址加1操作,再次完成讀取sram1操作,重復(fù)進(jìn)行直到讀取完第一行原始指紋圖像數(shù)據(jù)。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
所述operator讀取的sram1、fifo1、fifo2、fifo3、fifo4中緩存的原始指紋圖像數(shù)據(jù)具體為:
所述operator將依次讀取的sram1、fifo1、fifo2、fifo3、fifo4中緩存的原始指紋圖像數(shù)據(jù)存儲(chǔ)在operator的5*5寄存器組中。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
所述operator將5*5寄存器組中緩存的原始指紋圖像數(shù)據(jù)與結(jié)構(gòu)算子相與進(jìn)行計(jì)算,完成原始指紋圖像數(shù)據(jù)預(yù)處理操作包括:
所述operator將5*5寄存器組數(shù)據(jù)與5*5結(jié)構(gòu)算子相與進(jìn)行計(jì)算,若符合預(yù)設(shè)條件,則保留該中心點(diǎn)的進(jìn)行下一個(gè)窗口滑動(dòng);若不符合條件,則將中心點(diǎn)數(shù)據(jù)改為0,即保留該地址值,待一整行指紋圖像數(shù)據(jù)完成操作之后,將要改變的點(diǎn)的值重新寫入sram1中。
結(jié)構(gòu)算子的內(nèi)容如圖1所示。
在本發(fā)明所述的用于形態(tài)學(xué)腐蝕濾波的硬件電路中,
待一整行指紋圖像數(shù)據(jù)完成操作之后,將要改變的點(diǎn)的值重新寫入sram1中之后還包括:
在完成一次5*5窗口計(jì)算之后,以菊花式鏈接的形式,將fifo1、fifo2、fifo3、fifo4以及讀取的sram1中的值中讀取1個(gè)8位位寬數(shù)據(jù)緩存進(jìn)入5*5寄存器組,進(jìn)行下一次與算子相與操作;直到完成一行圖像數(shù)據(jù)操作之后,再又緩存一行數(shù)據(jù)進(jìn)入fifo4,此時(shí)將原來的fifo4的數(shù)據(jù)緩存進(jìn)入fifo3,原來fifo3的數(shù)據(jù)緩存進(jìn)入fifo2,原來fifo2的數(shù)據(jù)緩存進(jìn)入fifo1,然后選取5*5數(shù)據(jù)進(jìn)行操作,以此重復(fù)執(zhí)行,直到完成整幅原始指紋圖像的操作。
實(shí)施本發(fā)明提供的用于形態(tài)學(xué)腐蝕濾波的硬件電路與現(xiàn)有技術(shù)相比具有以下有益效果:提供sram1,作為內(nèi)部的sram1與外部的數(shù)據(jù)采集電路進(jìn)行連接,存儲(chǔ)采集來的原始指紋圖像數(shù)據(jù);同時(shí)提供一個(gè)5*5的寄存器組用來對數(shù)據(jù)進(jìn)行算法要求的腐蝕運(yùn)算;提供一個(gè)control來控制自適應(yīng)濾波過程的開始、停止;本發(fā)明在控制模塊中采用有限狀態(tài)機(jī)的方式,減少了狀態(tài)轉(zhuǎn)換的時(shí)間,再加上硬件電路本身的特點(diǎn),可以有效的減少圖像腐蝕操作的運(yùn)算時(shí)間。本發(fā)明的目的在于提供一種快速處理二值化之后的指紋圖像、為圖像細(xì)化步驟操作提供更高準(zhǔn)確性操作。
以下通過一具體實(shí)施例對本發(fā)明實(shí)施例原理進(jìn)行解釋:
針對于現(xiàn)有現(xiàn)有方法對指紋預(yù)處理中二值化步驟之后得到的指紋圖像一些缺陷,本發(fā)明的目的在于提供一種快速處理二值化之后的指紋圖像、為圖像細(xì)化步驟操作提供更高準(zhǔn)確性操作的用于形態(tài)學(xué)腐蝕濾波的硬件電路。
如圖1、2所示,當(dāng)預(yù)處理模塊中的頂層模塊狀態(tài)機(jī)中收到二值化模塊完成信號(hào)之后,開啟腐蝕模塊使能信號(hào),開始進(jìn)行形態(tài)學(xué)濾波操作。
先將sram1中的第一行指紋原始圖像通過write_data1模塊緩存進(jìn)入fifo1中,因?yàn)閟ram中的位寬數(shù)據(jù)是64位,而fifo1的數(shù)據(jù)位寬為8位,所以sram1中的一個(gè)數(shù)據(jù)需要從高位到低位依次以8位位寬緩存進(jìn)入fifo1,讀取一行數(shù)據(jù)并寫入到fifo1之后,進(jìn)行地址加1操作,再次完成讀取sram操作,如此進(jìn)行,直到讀取完第一行原始指紋圖像數(shù)據(jù)。
如上操作相似,再將第二行第三行和第四行數(shù)據(jù)分別緩存進(jìn)入fifo2、fifo3和fifo4。與將write_data1模塊進(jìn)行復(fù)用相比,本發(fā)明直接采用功能與其類似的模板直接進(jìn)行存儲(chǔ),盡管增加了面積開銷,但是可以在進(jìn)行第一行數(shù)據(jù)讀寫的時(shí)候同時(shí)并行執(zhí)行其他三行數(shù)據(jù)的寫入,這樣節(jié)約了不少時(shí)間。
讀取完四行數(shù)據(jù)之后,接著地址值再開始讀取sram的數(shù)據(jù),依次數(shù)據(jù)一個(gè)數(shù)據(jù),隨后分別將fifo1、fifo2、fifo3和fifo4讀取5個(gè)數(shù)據(jù)進(jìn)入operator模塊中的5*5寄存器組中,且將剛才讀取的sram中的高位依次以8位位寬數(shù)據(jù)緩存5個(gè)進(jìn)入剛才講述的寄存器組中,形成一個(gè)5*5的寄存器組數(shù)據(jù)。
將這5*5的寄存器組數(shù)據(jù)與圖1中的5*5結(jié)構(gòu)算子相與進(jìn)行計(jì)算,若符合條件,則保留該中心點(diǎn)的進(jìn)行下一個(gè)窗口滑動(dòng),若不符合條件,則將該中心點(diǎn)數(shù)據(jù)改為0,即保留該地址值,待一整行指紋圖像數(shù)據(jù)完成操作之后,將要改變的點(diǎn)的值重新寫入sram1中。如前面所述,完成一次5*5窗口計(jì)算之后,以菊花式鏈接的形式,將fifo1、fifo2、fifo3、fifo4以及讀取的sram中的值中讀取1個(gè)8位位寬數(shù)據(jù)緩存進(jìn)入5*5寄存器組,進(jìn)行下一次與算子相與操作;直到完成一行圖像數(shù)據(jù)操作之后,再又緩存一行數(shù)據(jù)進(jìn)入fifo4,此時(shí)將原來的fifo4的數(shù)據(jù)緩存進(jìn)入fifo3,原來fifo3的數(shù)據(jù)緩存進(jìn)入fifo2,原來fifo2的數(shù)據(jù)緩存進(jìn)入fifo1,然后選取5*5數(shù)據(jù)進(jìn)行操作,以此類推,直到完成整幅圖像的操作。
待處理的指紋圖像采集進(jìn)入,然后直方圖均衡化、圖像增強(qiáng)、圖像二值化、形態(tài)學(xué)濾波和細(xì)化步驟。
本發(fā)明所采用的指紋是256*256像素的圖像,所以要包含一個(gè)相對位寬的sram用來存儲(chǔ)輸入進(jìn)來的數(shù)據(jù),本發(fā)明采用8196×64的sram存儲(chǔ)模式。
本發(fā)明利用top_control控制各個(gè)步驟進(jìn)行。要利用狀態(tài)機(jī)的模式來控制,先完成直方圖均衡化步驟,隨后完成圖像增強(qiáng)步驟,依此類推完成最后的細(xì)化步驟。
利用5*5的正方形規(guī)格來進(jìn)行濾波功能,采用形態(tài)學(xué)濾波中的腐蝕算法,通過結(jié)構(gòu)元素滑動(dòng)平移與指紋圖像進(jìn)行與操作,將中間點(diǎn)的像素值保留或改變后,使前景圖像區(qū)域變小,前景圖像內(nèi)部的背景區(qū)域被放大。
可以理解的是,對于本領(lǐng)域的普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)構(gòu)思做出其它各種相應(yīng)的改變與變形,而所有這些改變與變形都應(yīng)屬于本發(fā)明權(quán)利要求的保護(hù)范圍。