<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 圖像采集綜合評估的嵌入式指紋識別系統(tǒng)

          圖像采集綜合評估的嵌入式指紋識別系統(tǒng)

          作者: 時(shí)間:2016-12-06 來源:網(wǎng)絡(luò) 收藏

          指紋傳感器用來獲取手指的指紋圖像信息;JTAG 調(diào)試接口用來與上位機(jī)連接進(jìn)行調(diào)試;復(fù)位電路用來初始化指紋識別裝置;FLASH 程序存儲器用來存儲指紋識別裝置運(yùn)行的程序;外部SRAM 數(shù)據(jù)存儲器用來存儲指紋識別裝置運(yùn)行過程中產(chǎn)生的臨時(shí)數(shù)據(jù);串口和USB 接口用于與上位機(jī)的連接通信;安全控制器是指紋識別裝置的核心,控制指紋識別裝置的運(yùn)行。

          本文引用地址:http://www.ex-cimer.com/article/201612/326945.htm

            

            圖1 指紋采集系統(tǒng)結(jié)構(gòu)圖

            指紋專用芯片,是指內(nèi)嵌指紋識別技術(shù)的芯片產(chǎn)品,能夠片上實(shí)現(xiàn)指紋的圖像采集、特征提取、特征比對的芯片,使開發(fā)過程變得簡單,開發(fā)者可以方便的實(shí)現(xiàn)指紋識別的功能,同時(shí)芯片價(jià)格適中,利于普及使用。

            指紋專用芯片采用杭州晟元芯片技術(shù)有限公司生產(chǎn)的AS602 芯片,采用哈佛結(jié)構(gòu)32 位RISC 處理器內(nèi)核,內(nèi)置專用DSP 指令集和加速器。其主要特點(diǎn)是具有SEA/RSA 加速引擎、內(nèi)置存儲器(Flash/OTP)、指紋處理加速器和專用算法軟件。AS602 芯片主頻高達(dá)128 MHz,內(nèi)置128 KB 高速靜態(tài)隨機(jī)存儲器(SRAM),嵌入了1 MB 大容量FLASH,64 kB ROM 和4 kB OTP ROM,并具備豐富的對外接口:除了USB2.0 全速接口外,還具備3 組USART 接口、4 通道PWM接口、ISO7816 智能卡接口、APC 主接口、片上實(shí)時(shí)鐘、對稱算法引擎(SEA)加速器、RSA 加解密引擎、真隨機(jī)數(shù)產(chǎn)生器(TRNG),以及51 路GPIO。

            1.3 指紋采集傳感器

            FPC1011F 指紋傳感器由152×200 個(gè)傳感器陣列組成,每一個(gè)陣列是一個(gè)金屬電極。放在傳感面上的手指的對應(yīng)點(diǎn)則作為另外一極,其工作原理是改變極板間距的電容式傳感器,整個(gè)傳感器(或其中的一部分)是通過讀取感應(yīng)器的指令來讀取的,采集區(qū)域的大小是由寄存器XSHIFT 和YSHIFT值的決定的。

            FPC1011F 與處理器芯片的接口原理圖如圖2 所示。將AS602 的USART0 配置為SPI 模式。AS602 的61 腳作為時(shí)鐘輸出,60 腳作為數(shù)據(jù)主輸出,連接FPC1011F 的6 號腳;59腳作為數(shù)據(jù)主輸入,連接FPC1011F 的1 號腳。FPC1011F 4號引腳SPI_CK 與AS602 的61 腳連接得到系統(tǒng)時(shí)鐘。

            

            圖2 AS602 與FPC1011F 的接口原理圖

            將FPC1011F 的CPHA 和CPOL 分別置為0, 此時(shí)FPC1011F 為從設(shè)備。指紋圖像數(shù)據(jù)通過傳感器輸入FIFO.指紋采集通過查詢方式,用rd_spidtat 指令不停地查詢SPI_STATUS 寄存器的DA 狀態(tài)是否為1。當(dāng)SPI_STATUS 的DA狀態(tài)為1 時(shí),用rd_spidata 指令來讀取FPC1011F 的FIFO 中的數(shù)據(jù)。

            1.4 指紋圖像評估狀態(tài)顯示模塊

            HS1602A LCD 是16×2 行,5×7 字符點(diǎn)陣液晶模塊,其內(nèi)部的字符發(fā)生器ROM 中自帶數(shù)字和英文字母及一些特殊符號的字符庫,雖然沒有漢字,但是利用HS1602A 可以建立5×7 點(diǎn)陣自定義字庫的特點(diǎn),形成所需要的漢字點(diǎn)陣。HS1602A 與傳感器芯片的接口原理圖如圖3 所示。

            

            圖3 AS602 與HS1602A LCD 顯示屏模塊接口原理圖

            2 指紋圖像評估研究與分析

            2.1 指紋圖像評估流程

            在指紋采集輸入過程中,由于手指的指紋質(zhì)量、安放位置及干濕狀態(tài)等原因,都可能無法正確識別指紋信息。為提高指紋識別效率,先對采集的指紋信息進(jìn)行評估。安全控制器對指紋圖像進(jìn)行指紋灰度圖像隔點(diǎn)采樣,指紋圖像點(diǎn)方向圖計(jì)算,指紋灰度圖像的前、背景圖分離,指紋前景圖面積分析,指紋圖像質(zhì)量分析等圖像處理過程,并對評估的結(jié)果用漢字進(jìn)行顯示。若評估不合格,根據(jù)顯示信息,重新采集指紋圖像信息,直到通過評估。系統(tǒng)工作流程圖如圖4 所示。

            

            圖4 系統(tǒng)工作流程圖

            2.2 指紋圖像隔點(diǎn)采樣

            用隔點(diǎn)的方式對指紋灰度圖像進(jìn)行采樣,隔點(diǎn)獲得原始指紋灰度圖像,在不改變指紋特征碼的基礎(chǔ)上減少數(shù)據(jù)采集量。

            2.3 指紋灰度圖像的前、背景分離

            用點(diǎn)方向圖表示所述隔點(diǎn)原始指紋灰度圖像中每一像素點(diǎn)處的局部紋理走向,具體如下:

            指紋圖像是由局部平行的脊線和谷線構(gòu)成的一種方向模式。通過指紋圖像點(diǎn)方向圖計(jì)算,可將指紋圖像中的各個(gè)圖像塊劃分為前景塊或背景塊。采用7×7 模板,基準(zhǔn)點(diǎn)位于模板中心,從水平位置開始每隔π/4 確定一個(gè)方向,定義I=1,2,3,4,對應(yīng)0,π/4,2π/4,3π/4,π 四個(gè)方向。按公式(1)計(jì)算各個(gè)方向的灰度變化DI,比較DI,找到最小值,就代表該點(diǎn)的方向,見公式(1):

            

            式中,是沿I方向上點(diǎn)的灰度均值,f1(ik , jk) 是I方向上點(diǎn)的灰度值。

            圖像的前景塊是分布有指紋脊線的圖像塊,其余部分為背景塊。將前景塊設(shè)置為1,背景塊設(shè)置為0,實(shí)現(xiàn)指紋灰度圖像的前、背景圖分離。具體如下:

            1)使用公式(2)進(jìn)行計(jì)算:

            

            其中,f(i, j)為(i, j)點(diǎn)的灰度值;

          為I方向上灰度值的累加和;Smax 為累加和值的上限值;Smin 為累和值的下限值。如果滿足公式(2) 的條件,則當(dāng)前點(diǎn)為前景點(diǎn);否則為背景點(diǎn)。

            2)依據(jù)小塊內(nèi)背景點(diǎn)的比例,判斷各圖像塊是前景塊或背景塊。如果小塊內(nèi)背景點(diǎn)的數(shù)量超過閾值Tb,則認(rèn)為該圖像塊屬于背景塊,否則為前景塊。


          上一頁 1 2 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();