一種基于USB與DSP的指紋識(shí)別系統(tǒng)設(shè)計(jì)方案
圖2 固件程序結(jié)構(gòu)
3.2 設(shè)備驅(qū)動(dòng)
3.2 設(shè)備驅(qū)動(dòng)
在Win32系統(tǒng)中,把每一個(gè)設(shè)備都抽象為文件,此時(shí)的應(yīng)用程序只需通過幾個(gè)簡單的文件操作APl函數(shù),就可以實(shí)現(xiàn)與驅(qū)動(dòng)程序中某個(gè)設(shè)備的通信。
PC機(jī)的驅(qū)動(dòng)程序由Philips公司提供。用VC++6.0通過調(diào)用API函數(shù),編寫PC的應(yīng)用程序。這樣即可實(shí)現(xiàn)PC機(jī)對 DSP(TMS320VC5402)指紋取像系統(tǒng)的控制以及圖像的傳輸。主要使用的API函數(shù)是DeviceIOControl()、 ReadFile()、WriteFile()。其中DeviceIOControl()用于PC(主機(jī))向DSP圖像采集系統(tǒng)發(fā)送請求;ReadFile()和WriteFile()分別用于從圖像采集系統(tǒng)讀出數(shù)據(jù)以及向圖像采集系統(tǒng)寫入數(shù)據(jù)。在設(shè)計(jì)過程中必須注意的問題是:由于 USB接口是主從方式的接口,其一切傳輸過程都必須通過主機(jī)向外設(shè)發(fā)送請求后才可以開始,所以在使用ReadFile()、WriteFile()讀寫數(shù)據(jù)前,必須先通過DeviceIOControl()向圖像采集系統(tǒng)發(fā)送請求。
3.3 指紋識(shí)別流程
系統(tǒng)上電時(shí),TMS320VC5402通過12C總線操作對OV6620進(jìn)行設(shè)置,然后進(jìn)入指紋圖像采集階段。在該階段,TMS320VC5402處于空閑狀態(tài),CPLD占用數(shù)據(jù)總線,
將數(shù)據(jù)直接存儲(chǔ)到圖像RAM中。采集完一幀指紋圖像后由CPLD發(fā)握手信號,通知DSP進(jìn)人數(shù)據(jù)處理階段。在該階段,TMS320VC5402先將圖像 RAM中的數(shù)據(jù)分塊搬運(yùn)到用戶RAM中,進(jìn)行圖像預(yù)處理、特征點(diǎn)提取等運(yùn)算,最后通過USB將結(jié)果輸出給上位機(jī)。上位機(jī)調(diào)出指紋數(shù)據(jù)庫,并將提取的結(jié)果與指紋特征庫中的數(shù)據(jù)進(jìn)行比對,從而與庫中特征指紋進(jìn)行指紋匹配識(shí)別。
DSP算法具體如下:(1)預(yù)濾波。方向?yàn)V波:設(shè)計(jì)了一個(gè)水平模板,然后將水平模板旋轉(zhuǎn)到所需增強(qiáng)的方向進(jìn)行濾波。(2)二值化。背景分離:采用標(biāo)準(zhǔn)差閾值跟蹤法,圖像的指紋部分由黑白相間的紋理組成,灰度變化很大,具有較大的標(biāo)準(zhǔn)差,而背景部分灰度分布比較平坦,標(biāo)準(zhǔn)差小。因此計(jì)算以各點(diǎn)為中心的一組像素的標(biāo)準(zhǔn)差,當(dāng)標(biāo)準(zhǔn)差大于某一門限時(shí),就可以確定該點(diǎn)為前景,否則為背景。(3)計(jì)算方向圖:采用基于法線向量的方法,其中還涉及到方向場的平滑銳化。(4)特征點(diǎn)提?。翰捎昧思咕€跟蹤法,其基本思想是直接對圖像進(jìn)行脊線跟蹤,在跟蹤過程中檢測特征點(diǎn)。
整個(gè)軟件流程如圖3所示。
評論