指紋識別技術(shù)的研究與設(shè)計(jì)--指紋圖像預(yù)處理之二 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論

上傳人:dus****log 文檔編號:72463427 上傳時(shí)間:2022-04-09 格式:DOC 頁數(shù):60 大?。?34KB
收藏 版權(quán)申訴 舉報(bào) 下載
指紋識別技術(shù)的研究與設(shè)計(jì)--指紋圖像預(yù)處理之二 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論_第1頁
第1頁 / 共60頁
指紋識別技術(shù)的研究與設(shè)計(jì)--指紋圖像預(yù)處理之二 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論_第2頁
第2頁 / 共60頁
指紋識別技術(shù)的研究與設(shè)計(jì)--指紋圖像預(yù)處理之二 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論_第3頁
第3頁 / 共60頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《指紋識別技術(shù)的研究與設(shè)計(jì)--指紋圖像預(yù)處理之二 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論》由會員分享,可在線閱讀,更多相關(guān)《指紋識別技術(shù)的研究與設(shè)計(jì)--指紋圖像預(yù)處理之二 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論(60頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、畢業(yè)設(shè)計(jì)(論文) 題目名稱:指紋識別技術(shù)的研究與設(shè)計(jì) --指紋圖像預(yù)處理之二 院系名稱:計(jì)算機(jī)學(xué)院 班 級:軟件052班 學(xué) 號:200500834218 學(xué)生姓名:王思遠(yuǎn) 指導(dǎo)教師:杜俊俐 2009年6 月 論文編號:200500834218 指紋識別技術(shù)的研究與設(shè)計(jì) --指紋圖像預(yù)處理之二 The Fingerprint Recognition Technology's Research and Designs ---Second fingerprint image pretreatment 院系名稱:計(jì)算機(jī)學(xué)院 班 級:軟件052班

2、 學(xué) 號:200500834218 學(xué)生姓名:王思遠(yuǎn) 指導(dǎo)教師:杜俊俐 2009年6 月 摘要 指紋識別作為一種生物鑒定技術(shù),為人類的個(gè)體的定義提供了一個(gè)到目前為止最為快捷和可信的方法。 隨著指紋識別的普及,人們之間的信任成本將大大降低,提高人類社會活動的效率。對于想從事和已經(jīng)從事網(wǎng)絡(luò)商務(wù)的公司來講,確認(rèn)交易人的身份是解決信用問題的第一步,而且是最重要的一步。在信息時(shí)代,一種安全便捷的身份認(rèn)證方式顯得越發(fā)重要?!霸诰W(wǎng)絡(luò)上,沒有人知道你是一只狗,”在這種情況下,任何基于網(wǎng)絡(luò)環(huán)境下的交往活動都被蒙上了一層技術(shù)意義的灰色。不可避免,所有基于這種網(wǎng)絡(luò)技術(shù)基礎(chǔ)之上的經(jīng)濟(jì)活動也因此

3、被深深打上了不真實(shí)和不被信任的烙印。 隨著科技的進(jìn)步,指紋識別技術(shù)已經(jīng)開始慢慢進(jìn)入計(jì)算機(jī)世界中。目前許多公司和研究機(jī)構(gòu)都在指紋識別技術(shù)領(lǐng)域取得了很大突破性進(jìn)展,推出許多指紋識別與傳統(tǒng)IT技術(shù)完美結(jié)合的應(yīng)用產(chǎn)品,這些產(chǎn)品已經(jīng)被越來越多的用戶所認(rèn)可。 本系統(tǒng)使用Visual C++ 6.0對指紋圖片進(jìn)行識別前的預(yù)處理工作,希望不吝指正。 關(guān)鍵詞:指紋、圖像、預(yù)處理、指紋識別技術(shù)。 Abstract The fingerprint recognition takes one bioassay technology, has provided for humanity's individua

4、l's definition so far most quickly and the credible method. Along with fingerprint recognition popularization, between people's trust cost will reduce greatly, raises the efficiency which the human society moves. Regarding wanted to be engaged in with already was engaged in the network commerce th

5、e company saying that the seal bargain person's status was solves the credit problem first step, moreover was most important one step. In the information age, one security convenient status authentication way appears even more important. “in the network, nobody knew that you are a dog,” in this case

6、, any based on network environment under contact by Mongolia in a technical significance gray. Inevitable, possessed the economic activity therefore deeply has also been gotten based on this kind of networking foundation above not real and not the brand mark which trusted. Along with the technical

7、 progress, the fingerprint recognition technology already started to enter in slowly the computer world. At present many companies and the development facility have made the very big breakthrough progress in the fingerprint recognition area of technology, promotes many fingerprint recognitions and t

8、he traditional IT technology perfect union application product, these products were already approved by more and more users. Before this system uses Visual the C++ 6.0 for fingerprint pictures to carry on the recognition the pretreatment work, hoped that the liberal with points out mistakes. Key w

9、ord: Image, pretreatment, fingerprint recognition technology. 目錄 摘要I AbstractII 第1章指紋識別概述1 1.1 指紋識別技術(shù)1 1.1.1 指紋識別的簡介1 1.1.2 指紋識別的關(guān)鍵技術(shù)1 1.1.3 指紋識別的研究歷程1 1.2 預(yù)處理技術(shù)2 1.3指紋識別技術(shù)的應(yīng)用2 1.4指紋識別的可靠性3 第2章指紋識別系統(tǒng)的需求分析5 2.1 指紋識別系統(tǒng)的目標(biāo)5 2.2 指紋識別系統(tǒng)的功能需求5 2.2.1 指紋圖象的點(diǎn)運(yùn)算5 2.2.2 指紋圖像的幾何變換5 2.2.3 指紋圖

10、像的圖像增強(qiáng)5 2.2.4 指紋圖像的形態(tài)學(xué)變換5 2.2.5 指紋圖像的圖像分割5 2.2.6 查看直方圖6 2.3 指紋識別系統(tǒng)的性能需求6 2.3.1 運(yùn)行平臺的低要求6 2.3.2 系統(tǒng)的實(shí)時(shí)性6 2.3.3 系統(tǒng)的有效性6 2.4 指紋識別系統(tǒng)的結(jié)構(gòu)6 2.4.1 指紋識別系統(tǒng)框架圖6 2.4.2 指紋識別系統(tǒng)模塊功能劃分8 指紋識別模塊8 2.5 開發(fā)工具8 第3章指紋識別系統(tǒng)中預(yù)處理的設(shè)計(jì)與實(shí)現(xiàn)9 3.1 預(yù)處理功能模塊的設(shè)計(jì)9 3.2 預(yù)處理模塊的詳細(xì)設(shè)計(jì)11 3.2.1 點(diǎn)運(yùn)算模塊11 3.2.2 幾何變換模塊14 3.2.3 圖像增強(qiáng)模塊

11、18 3.2.4 形態(tài)學(xué)變換模塊20 3.2.5 圖像分析模塊22 3.2.6 查看模塊24 3.3 預(yù)處理實(shí)驗(yàn)結(jié)果與分析26 3.3.1 預(yù)處理實(shí)驗(yàn)結(jié)果26 3.3.2 預(yù)處理結(jié)果的分析34 第4章系統(tǒng)工程目錄說明35 4.1 系統(tǒng)工程目錄35 4.2 系統(tǒng)主要的類36 4.2.1 CDlgIntensity類的成員函數(shù)與成員數(shù)據(jù)36 4.2.2 CDlgLinerPara類的成員函數(shù)與成員數(shù)據(jù)37 4.2.3 CDlgMidFilter類的成員函數(shù)與成員數(shù)據(jù)39 4.2.4 CDlgPointStre類的成員函數(shù)與成員數(shù)據(jù)40 4.2.5 CDlgPointTh

12、re類的成員函數(shù)與成員數(shù)據(jù)42 4.2.6 CDlgPointWin類的成員函數(shù)與成員數(shù)據(jù)44 4.2.7 CDlgSmooth類的成員函數(shù)與成員數(shù)據(jù)45 第5章系統(tǒng)的調(diào)試、運(yùn)行與測試48 5.1 程序設(shè)計(jì)中出現(xiàn)的問題與解決方法48 5.1.1 點(diǎn)運(yùn)算48 5.1.2 幾何變換50 5.1.3 圖像增強(qiáng)52 5.1.4 形態(tài)學(xué)變換和圖像分析53 5.2 系統(tǒng)測試部分結(jié)果顯示55 5.2.1 圖像信息載入出錯(cuò)顯示:55 5.2.2 功能處理過程中出錯(cuò)提示:55 5.2.3 提示用戶保存信息顯示:55 5.2.4 主界面顯示:55 第6章結(jié)論57 參考文獻(xiàn)58 致謝

13、59 附錄60 第1章 指紋識別概述 1.1指紋識別技術(shù) 指紋識別的簡介 指紋識別技術(shù)通過分析指紋的局部特征,從中抽取詳盡的特征點(diǎn),從而可靠地確認(rèn)個(gè)人身份。指紋識別的優(yōu)點(diǎn)是指紋作為人體獨(dú)一無二的特征,它的復(fù)雜度可以提供用于鑒別的足夠特征,具有極高的安全性。相對于其他身份認(rèn)證技術(shù),指紋識別是一種更為理想的身份認(rèn)證技術(shù),指紋識別不僅具有許多獨(dú)到的信息安全優(yōu)點(diǎn),更重要的是具有很高的實(shí)用性、可行性,已經(jīng)廣泛應(yīng)用于金融、電子商務(wù)以及安全性能要求教高的行業(yè)中。 目前多數(shù)指紋識別系統(tǒng)是將指紋圖象采集到計(jì)算機(jī)中,利用計(jì)算機(jī)進(jìn)行識別。國外一些公司生產(chǎn)的獨(dú)立指紋識別系統(tǒng),價(jià)格比較高昂。這些都限制了

14、指紋識別技術(shù)的普及。因此,研究開發(fā)快速、識別率高、廉價(jià)的獨(dú)立指紋識別系統(tǒng)具有很大的市場前景和重要的科學(xué)研究價(jià)值。 指紋識別的關(guān)鍵技術(shù) 指紋識別的關(guān)鍵技術(shù)有:圖象提取分割,閾值變換,細(xì)化,平滑,線性變換等。 首先通過掃描設(shè)備獲得數(shù)據(jù),然后對得到的圖象進(jìn)行分割,把所需要的信息分離出來,在此基礎(chǔ)上進(jìn)行預(yù)處理,圖像像素、色素等數(shù)據(jù),對該圖像的信息進(jìn)行分析,并且對各個(gè)信息進(jìn)行處理,為后來的指紋特征提取與指紋識別做必要的準(zhǔn)備。 對于圖象的提取與分割,指紋識別目前實(shí)現(xiàn)了很多算法。各個(gè)算法的選擇要嚴(yán)謹(jǐn),數(shù)據(jù)不能有遺漏、重復(fù),也不可把不必要的數(shù)據(jù)放入算法內(nèi)。 指紋識別的研究歷程 中國是世界上公認(rèn)的“

15、指紋術(shù)”發(fā)祥地,在指紋應(yīng)用方面具有非常悠久的歷史。追溯中華民族的指紋歷史,可以上溯到6000年以前的新石器時(shí)代中期。在半坡遺址出土的陶器上就印有清晰可見的指紋圖案。距今有5000年歷史的紅山文化遺址處(今天的內(nèi)蒙赤峰市東效紅山),考古發(fā)現(xiàn)的古陶罐上有3組幾何曲線畫,是3枚相同的、典型的箕形指紋畫,每枚指紋畫都有一條中心線和6條圍線。在位于青海省樂都縣柳灣墓地的馬家窖文化,出土了距今5000年的人像指紋彩陶壺。其上繪有4幅原始螺旋形指紋畫。嵴線的起點(diǎn)、終點(diǎn)的細(xì)節(jié)特征都很明顯,在兩組畫之間繪制一個(gè)三角,一個(gè)中心花紋配左右兩個(gè)三角紋,組成了一幅完整的斗形指紋畫。 指紋其實(shí)是比較復(fù)雜的,與人工處理不

16、同,許多生物識別技術(shù)公司并不直接存儲指紋的圖象。多年來在各個(gè)公司及其研究機(jī)構(gòu)產(chǎn)生了許多數(shù)字化的算法(美國有關(guān)法律認(rèn)為,指紋圖象屬于個(gè)人隱私,因此不能直接處理指紋圖象)。但指紋識別算法最終都?xì)w結(jié)為在指紋圖象上找到并比對指紋的特征。 在經(jīng)歷了近10年緩慢的自然增長后,指紋識別技術(shù)即將迎來一個(gè)跳躍性發(fā)展的黃金時(shí)期。專家們保守估計(jì),未來5年,我國將有近百億元的市場等待著企業(yè)去開拓。指紋識別技術(shù)的巨大市場前景,將對國際、國內(nèi)安防產(chǎn)業(yè)產(chǎn)生巨大的影響。 1.2預(yù)處理技術(shù) 指紋識別預(yù)處理技術(shù)通過分析指紋的局部特征,從中抽取詳盡的特征點(diǎn),從而可靠地確認(rèn)個(gè)身份。指紋識別的優(yōu)點(diǎn)指紋作為人體獨(dú)一無二的特征,它的

17、復(fù)雜度可以提供用于鑒別的足夠特征,具有極高的安全性。相對于其他身份認(rèn)證技術(shù),指紋識別是一種更為理想的身份認(rèn)證技術(shù),指紋識別不僅具有許多獨(dú)到的信息安全優(yōu)點(diǎn),更重要的是具有很高的實(shí)用性、可行性,已經(jīng)廣泛應(yīng)用于金融、電子商務(wù)以及安全性能要求教高的行業(yè)中。 目前多數(shù)指紋識別預(yù)處理是將指紋圖象采集到計(jì)算機(jī)中,利用計(jì)算機(jī)進(jìn)行識別。外一些公司生產(chǎn)的獨(dú)立指紋識別系統(tǒng),價(jià)格比較高昂。些都限制了指紋識別技術(shù)的普及。因此,研究開發(fā)快速、識別率高、廉價(jià)的獨(dú)立指紋識別系統(tǒng)具有很大的市場前景和重要的科學(xué)研究價(jià)值。 1.3指紋識別技術(shù)的應(yīng)用 指紋識別技術(shù)已經(jīng)成熟,其應(yīng)用日益普遍,除了刑事偵察用之外,在民用方面已非

18、常廣泛,如指紋門禁系統(tǒng)、指紋考勤系統(tǒng)、銀行指紋儲蓄系統(tǒng)、銀行指紋保管箱、指紋醫(yī)療保險(xiǎn)系統(tǒng)、計(jì)劃生育指紋管理系統(tǒng)、幼兒接送指紋管理系統(tǒng)、指紋獻(xiàn)血管理系統(tǒng)、證券交易指紋系統(tǒng)、指紋槍械管理系統(tǒng)、智能建筑指紋門禁管理系統(tǒng)、駕駛員指紋管理系統(tǒng)等。 ?  指紋門禁系統(tǒng)和指紋考勤系統(tǒng)是開發(fā)和使用得最早的一種出入管理系統(tǒng),包括對講指紋門禁、聯(lián)機(jī)指紋門禁、脫機(jī)指紋門禁等等。在入口將個(gè)人的手指按在指紋采集器上,系統(tǒng)將已登錄在指紋庫中的指紋(稱為已經(jīng)注冊)進(jìn)行對比,如果兩者相符(即匹配),則顯示比對成功,門就自動打開。如不匹配,則顯示“不成功”或“沒有這個(gè)指紋”,門就不開。在指紋門禁系統(tǒng)中,可以是一對一的比對(o

19、netoone matching),也可以是一對幾個(gè)比對(onetofew matching)。前者可以是一個(gè)公司、部門,后者可以是一個(gè)家庭的成員、銀行的營業(yè)廳、金庫、財(cái)務(wù)部門、倉庫等機(jī)要場所。在這些應(yīng)用中,指紋識別系統(tǒng)將取代或者補(bǔ)充許多大量使用照片和ID系統(tǒng)。 ? 把指紋識別技術(shù)同IC卡結(jié)合起來,是目前最有前景的一個(gè)應(yīng)用之一。該技術(shù)把卡的主人的指紋(加密后)存儲在IC卡上,并在IC卡的讀卡機(jī)上加裝指紋識別系統(tǒng),當(dāng)讀卡機(jī)閱讀卡上的信息時(shí),一并讀入持卡者的指紋,通過比對就可以確認(rèn)持卡者是否是卡的真正主人,從而進(jìn)行下一步的交易。指紋IC卡可取代現(xiàn)行的ATM卡、制造防偽證件等。ATM卡持卡人可不用

20、密碼,避免老人和孩子記憶密碼的困難。   近年來,互聯(lián)網(wǎng)帶給人們方便與利益已,也存在著安全問題。指紋特征數(shù)據(jù)可以通過電子郵件或其它傳輸方法在計(jì)算機(jī)網(wǎng)絡(luò)上進(jìn)行傳輸和驗(yàn)證,通過指紋識別技術(shù),限定只有指定的人才能訪問相關(guān)的信息,可以極大地提高網(wǎng)上信息的安全性。網(wǎng)上銀行、網(wǎng)上貿(mào)易、電子商務(wù)等一系列網(wǎng)絡(luò)商業(yè)行為就有了安全性保障。 指紋社會保險(xiǎn)系統(tǒng)的應(yīng)用為養(yǎng)老金的準(zhǔn)確發(fā)放起了非常有效的作用。避免了他人用圖章或身份證復(fù)印件代領(lǐng),而發(fā)放人員無法確定該人是故世的問題,要憑本人的活體指紋,才可準(zhǔn)確發(fā)放養(yǎng)老金。 1.4指紋識別的可靠性 指紋識別技術(shù)是成熟的生物識別技術(shù)。因?yàn)槊總€(gè)人包括指紋在內(nèi)的皮膚紋路在圖案

21、、斷點(diǎn)和交叉點(diǎn)上各不相同,是唯一的,并且終生不變。通過他的指紋和預(yù)先保存的指紋進(jìn)行比較,就可以驗(yàn)證他的真實(shí)身份。自動指紋識別是利用計(jì)算機(jī)來進(jìn)行指紋識別的一種方法。它得益于現(xiàn)代電子集成制造技術(shù)和快速而可靠的算法理論研究。盡管指紋只是人體皮膚的一小部分,但用于識別的數(shù)據(jù)量相當(dāng)大,對這些數(shù)據(jù)進(jìn)行比對是需要進(jìn)行大量運(yùn)算的模糊匹配算法。利用現(xiàn)代電子集成制造技術(shù)生產(chǎn)的小型指紋圖像讀取設(shè)備和速度更快的計(jì)算機(jī),提供了在微機(jī)上進(jìn)行指紋比對運(yùn)算的可能。另外,匹配算法可靠性也不斷提高。因此,指紋識別技術(shù)己經(jīng)非常簡單實(shí)用。由于計(jì)算機(jī)處理指紋時(shí),只是涉及了一些有限的信息,而且比對算法并不是十分精確匹配,其結(jié)果也不能保證

22、100%準(zhǔn)確。   指紋識別系統(tǒng)的特定應(yīng)用的重要衡量標(biāo)志是識別率。主要包括拒識率和誤識率,兩者成反比關(guān)系。根據(jù)不同的用途來調(diào)整這兩個(gè)值。盡管指紋識別系統(tǒng)存在著可靠性問題,但其安全性也比相同可靠性級別的“用戶ID+密碼”方案的安全性要高得多。拒識率實(shí)際上也是系統(tǒng)易用性的重要指標(biāo)。在應(yīng)用系統(tǒng)的設(shè)計(jì)中,要權(quán)衡易用性和安全性。通常用比對兩個(gè)或更多的指紋來達(dá)到不損失易用性的同時(shí),極大提高系統(tǒng)的安全性。 第2章指紋識別系統(tǒng)的需求分析 2.1指紋識別系統(tǒng)的目標(biāo) 在提取圖像信息的基礎(chǔ)上,對所提取的各個(gè)信息進(jìn)行圖像預(yù)處理,實(shí)現(xiàn)對指紋圖像的的保存讀取,讀取帶有各種復(fù)雜情況的指紋圖片,對該圖片進(jìn)行預(yù)處理,能

23、為后來的指紋識別服務(wù)。 2.2指紋識別系統(tǒng)的功能需求 指紋圖象的點(diǎn)運(yùn)算 點(diǎn)運(yùn)算里面包括:圖像反色,線性變換,閾值變換,灰度拉伸,灰度均衡。其中圖像反色是線性變換的特殊情況;灰度的閾值變換可以讓一幅圖像變成黑白二值圖;灰度拉伸又叫對比度拉伸,它是最基本的一種灰度變換,使用的是最簡單的分段線性變換函數(shù),它的主要思想是提高圖像處理時(shí)灰度級的動態(tài)范圍,適用于低對比度圖像的處理;灰度均衡是以累計(jì)分布函數(shù)變換為基礎(chǔ)的直方圖修正法,它可以產(chǎn)生一幅灰度級分布概率均勻的圖像。也就是說,經(jīng)過灰度均衡后的圖像在每一級灰度上都具有相同數(shù)量的像素點(diǎn),對應(yīng)灰度直方圖的每一級灰度具有相同的高度。灰度均衡同樣也屬于改進(jìn)

24、圖像的方法,灰度均衡后的圖像具有最大的信息量。 指紋圖像的幾何變換 幾何變換里包括:垂直鏡像,圖像轉(zhuǎn)至,圖像縮放,圖像旋轉(zhuǎn)。該模塊對指紋圖片進(jìn)行相對簡單的處理,對不符合或是放置不正確的指紋圖片進(jìn)行放大、縮小、旋轉(zhuǎn),對圖片進(jìn)行矯正。 指紋圖像的圖像增強(qiáng) 圖像增強(qiáng)包括:圖像平滑,中值濾波,梯度銳化。圖象平滑與圖象銳化的目的:去噪聲,使圖象清晰,處理后噪聲也會增強(qiáng),中值濾波法是一種非線性平滑技術(shù),它將每一象素點(diǎn)的灰度值設(shè)置為該點(diǎn)某鄰域窗口內(nèi)的所有象素點(diǎn)灰度值的中值。 指紋圖像的形態(tài)學(xué)變換 該模塊功能如下:細(xì)化。細(xì)化之后的圖片為指紋圖像的大致輪廓,為后期的指紋特征點(diǎn)提取與指紋識別做準(zhǔn)備。

25、 指紋圖像的圖像分割 該模塊對指紋進(jìn)行閾值分割。進(jìn)行閾值分割后的圖片是提取出了有價(jià)值的指紋圖片的信息,分離出了部分無用信息。 查看直方圖 該功能可以查看該指紋圖像的直方圖。 2.3指紋識別系統(tǒng)的性能需求 2.3.1運(yùn)行平臺的低要求 由于課題涉及到圖形圖象處理方面的工作,所以運(yùn)行速度是比較關(guān)鍵的,為了方便實(shí)用和學(xué)習(xí),該系統(tǒng)需要能夠在普通PC機(jī)上運(yùn)行。 2.3.2系統(tǒng)的實(shí)時(shí)性 指紋預(yù)處理又是系統(tǒng)的核心所在,但是由于預(yù)處理過程中的計(jì)算量很大,所以會造成重建速度緩慢的情況,考慮到系統(tǒng)的交互性,重建速度的高要求是必不可缺的,所以就應(yīng)盡可能的在不影響效果顯示的前提下,考慮如何加快重建的速度

26、。 2.3.3系統(tǒng)的有效性 預(yù)處理時(shí)不應(yīng)丟失圖像信息,應(yīng)盡可能多的顯示指紋圖象的細(xì)節(jié)。 2.4指紋識別系統(tǒng)的結(jié)構(gòu) 指紋識別系統(tǒng)框架圖 如圖2-1所示。 與已有指紋匹配 開始 參數(shù)初始化 啟動指紋采集流程 數(shù)據(jù)庫 打開指紋采集器 指紋登記 指紋對比 指紋預(yù)處理 特征點(diǎn)提取 不匹配 匹配 否 是否錄入 通過 是 退出 進(jìn)入系統(tǒng) 進(jìn)行指紋采集 圖2-1:系統(tǒng)框架圖 指紋識別系統(tǒng)模塊功能劃分 預(yù)處理是指紋識別過程中的一個(gè)重要環(huán)節(jié)。輸入圖像由于圖像采集環(huán)境的不同,如光照明暗程度以及設(shè)備性能的優(yōu)劣等,往往存在有噪聲,對比度不夠等缺點(diǎn)。另外,距離遠(yuǎn)近

27、,焦距大小等又使得人臉在整幅圖像中間的大小和位置不確定。為了保證指紋圖像中大小,位置以及指紋圖像質(zhì)量的一致性,必須對圖像進(jìn)行預(yù)處理。預(yù)處理后的指紋圖片是為后期的識別工作做準(zhǔn)備。 指紋識別模塊 根據(jù)已經(jīng)提取的指紋特征,把特征存儲起來,對于目前的指紋進(jìn)行匹配,看有無匹配的指紋。 2.5開發(fā)工具 選擇合適的系統(tǒng)編程語言Visual C++,方便進(jìn)行圖象圖形處理。 第3章指紋識別系統(tǒng)中預(yù)處理的設(shè)計(jì)與實(shí)現(xiàn) 預(yù)處理部分是整個(gè)系統(tǒng)的核心,這部分關(guān)系到整個(gè)系統(tǒng)的系統(tǒng)的成敗,本模塊采用面向?qū)ο蟮某绦蛟O(shè)計(jì)思路,面向?qū)ο笤O(shè)計(jì)方法是基于信息隱蔽和抽象數(shù)據(jù)類型概念,把系統(tǒng)中所有資源,如數(shù)據(jù)、模塊以及系統(tǒng)都看

28、成“對象”,每個(gè)對象封裝數(shù)據(jù)和方法,而方法實(shí)施對數(shù)據(jù)的處理。 3.1預(yù)處理功能模塊的設(shè)計(jì) 預(yù)處理模塊框架圖 如圖3-1所示。 指紋識別系統(tǒng)的研究與設(shè)計(jì)——預(yù)處理二 幾何變換 查看 圖像增強(qiáng) 點(diǎn)運(yùn)算 線性變換 形態(tài)學(xué)變換 圖像分析 閾值變換 灰度拉伸 灰度均衡 垂直鏡像 圖像轉(zhuǎn)置 圖像縮放 圖像旋轉(zhuǎn) 平滑 中值濾波 梯度銳化 閾值分割 直方圖 圖像反色 細(xì)化 圖3-1:預(yù)處理的功能框架圖 3.2預(yù)處理模塊的詳細(xì)設(shè)計(jì) 3.2.1點(diǎn)運(yùn)算模塊 (1)設(shè)計(jì)思路 數(shù)字圖像處理技術(shù)的內(nèi)容非常豐富,例如圖像在生成、獲取、傳輸過程中、受光源、

29、成像系統(tǒng)的影響,不可避免的要造成圖像像質(zhì)的降低,這時(shí)就需要圖像增強(qiáng);計(jì)算機(jī)識別目標(biāo)時(shí)就需要提取目標(biāo)的形狀和結(jié)構(gòu)特征等。這些都可以通過點(diǎn)運(yùn)算來實(shí)現(xiàn)。對于指紋圖片,我們通過這個(gè)步驟可以提取出我們需要的信息,也可以進(jìn)行簡單的圖像變換,以適應(yīng)不同指紋圖像的要求。點(diǎn)運(yùn)算都是像素到像素的運(yùn)算,可以表示為:B(x,y)=f[A(x,y)],介紹灰度圖像的幾種常用的點(diǎn)運(yùn)算:灰度直方圖定義:灰度直方圖是灰度值的函數(shù),描述的是圖像中該灰度值的像素個(gè)數(shù)。其橫坐標(biāo)表示像素的灰度值,縱坐標(biāo)表示該灰度值在圖像中出現(xiàn)的頻率(或者像素的個(gè)數(shù))。有時(shí)候只想得到指定灰度范圍內(nèi)的直方圖,比如L到H之間的繪圖直方圖,則只需要計(jì)算L到

30、H之間的各個(gè)灰度值的出現(xiàn)頻率。拉伸:灰度的拉伸和線性變換有點(diǎn)類似,都用到了線性變換。不同之處在于灰度的拉伸是不完全的線性變換,而是分段進(jìn)行線性變換。灰度的拉伸把原圖灰度值在x1-x2之間的灰度值拉伸到y(tǒng)1-y2。灰度拉伸的函數(shù)表達(dá)式為: y1*x/x1xx2 (2)模塊實(shí)現(xiàn) 1.圖像反色 函數(shù)原型: void CCh1_1View::OnPointInvert() { BeginWaitCursor(); Li

31、nerTrans(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), fA, fB); pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該函數(shù)調(diào)用圖像反色函數(shù)LinerTrans(),LinerTrans()函數(shù)中的指針lpSrc是指向DIB第i行,第j個(gè)象素的指針,通過斜率-1截距255對圖像中的每一個(gè)像素進(jìn)行線性計(jì)算,該函數(shù)是指紋圖像線

32、性變換的特殊情況LinerTrans()函數(shù)的代碼見附錄。 2線性變換 函數(shù)原型: void CCh1_1View::OnPointLiner() { BeginWaitCursor(); LinerTrans(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), fA, fB); pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor();

33、} 該函數(shù)也調(diào)用線性變換函數(shù)LinerTrans(),不同的是該函數(shù)是可以讓用戶自行設(shè)定斜率和截距的,LinerTrans()函數(shù)的代碼見附錄。 3.閾值變換 函數(shù)原型: void CCh1_1View::OnPointThre() { BeginWaitCursor(); ThresholdTrans(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), bThre); pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); ::GlobalUnlock((

34、HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用閾值變換函數(shù)ThresholdTrans(),此函數(shù)允許用戶設(shè)定閾值,根據(jù)用戶設(shè)定的閾值,對圖片進(jìn)行處理大于該閾值的賦255,小于該閾值的則為0,函數(shù)代碼見附錄。 4.灰度拉伸 函數(shù)原型: void CCh1_1View::OnPointStre() { BeginWaitCursor(); GrayStretch(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), bX1, bY1, bX2, bY2); pDoc

35、->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用灰度拉伸函數(shù)GrayStretch(),此函數(shù)讓用戶設(shè)定兩個(gè)點(diǎn)的坐標(biāo),根據(jù)公式bMap[i] = (BYTE) bY1 * i / bX1進(jìn)行線性變換后,再通過公式 *lpSrc = bMap[*lpSrc]計(jì)算新的灰度值,函數(shù)代碼見附錄。 5.灰度均衡 函數(shù)原型: void CCh1_1View::OnPointEqua() {

36、 BeginWaitCursor(); InteEqualize(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB)); pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用灰度均衡函數(shù)InteEqualize(),此函數(shù)通過公式lpSrc = (unsigned char *)lpDIBBits + lLineBytes * i

37、 + j; lCount[*(lpSrc)]++; 對灰度值的計(jì)數(shù),通過公式bMap[i] = (BYTE) (lTemp * 255 / lHeight / lWidth);計(jì)算出新的灰度值,函數(shù)代碼見附錄。 3.2.2幾何變換模塊 (1)設(shè)計(jì)思路 圖像幾何變換是計(jì)算機(jī)圖像處理領(lǐng)域中的一個(gè)重要組成部分,也是值得探討的一個(gè)重要課題。我們在處理圖像時(shí)往往會遇到需要對圖像進(jìn)行幾何變換的一些問題。圖像幾何變換是圖像顯示技術(shù)中的一個(gè)重要組成部分,也是我們學(xué)習(xí)和探討的一個(gè)重要課題。在圖像幾何變換中主要包括圖像的縮放、旋轉(zhuǎn)、轉(zhuǎn)置、垂直等內(nèi)容。其中灰度的線性變換函數(shù)f是一個(gè)一維線性函數(shù)f(x) = A

38、*x+B其中A表示斜率,x表示輸入的灰度值,B表示在y軸的截距,f(x)表示輸出圖像的灰度值(當(dāng)然應(yīng)當(dāng)調(diào)整到0~255范圍內(nèi))。當(dāng)A>1時(shí),輸出圖像的對比度增大A<1時(shí),輸出圖像的對比度減少當(dāng)A=1,B!=0時(shí),僅對原圖的所有像素灰度值進(jìn)行上下移動,其效果是使圖像更亮或者更暗。當(dāng)A<0時(shí),圖像的暗區(qū)將變亮,亮區(qū)將變暗。當(dāng)A=-1,B=255時(shí),輸出圖像正好反轉(zhuǎn)。在線性變換中,A,B兩個(gè)參數(shù)的不同取值可以產(chǎn)生很多種效果。當(dāng)f(x)>255時(shí),要取f(x)=255,當(dāng)f(x)<0時(shí),要取f(x)=0. 從變換的性質(zhì)分, 圖像的幾何變換有平移、比例縮放、旋轉(zhuǎn)、反射和錯(cuò)切等基本變換,透視變換等復(fù)合變

39、換,以及插值運(yùn)算等。圖像比例縮放是指將給定的圖像在x軸方向按比例縮放fx倍,在y軸方向上按比例縮放fy倍,從而獲得一幅新的圖像。圖像的旋轉(zhuǎn)變換也可以用矩陣變換表示。設(shè)點(diǎn)P0(x0, y0)旋轉(zhuǎn)θ角后的對應(yīng)點(diǎn)為P(x, y)。圖像旋轉(zhuǎn)的正變換 (1)獲取圖像的高度h和寬度w (2)求出圖像中心點(diǎn)坐標(biāo)(x0,y0)(如果繞原點(diǎn)旋轉(zhuǎn)就不需要計(jì)算此值) (3)對原圖像進(jìn)行逐像素點(diǎn)循環(huán),對于原圖像中每一個(gè)像素點(diǎn),利用公式得到,旋轉(zhuǎn)變換后新圖像的位置和其像素值。同時(shí)對出現(xiàn)的空洞點(diǎn)利用簡單的插值方法進(jìn)行插值。 由上述分析,可以得到具體圖像旋轉(zhuǎn)正變換的實(shí)現(xiàn) (2)模塊實(shí)現(xiàn) 1.垂直鏡像 函數(shù)原

40、型: void CCh1_1View::OnGeomMirv() { BeginWaitCursor(); lpDIBBits = ::FindDIBBits(lpDIB); if (MirrorDIB(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), FALSE)) { pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); } else { MessageBox("分配內(nèi)存失?。?, "系統(tǒng)提示" , MB_ICONINFORMATIO

41、N | MB_OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用垂直鏡像函數(shù)MirrorDIB(),此函數(shù)針對每行圖像左半部分進(jìn)行操作,然后將倒數(shù)第i行,第j個(gè)象素復(fù)制到倒數(shù)第i行,倒數(shù)第j個(gè)象素復(fù)制到倒數(shù)第i行,進(jìn)行圖像的垂直轉(zhuǎn)換,函數(shù)代碼見附錄。 2.圖像轉(zhuǎn)置 函數(shù)原型: void CCh1_1View::OnGeomTrpo() { BeginWaitCursor(); if (TransposeDIB(lpDIB)) { pDoc->SetMo

42、difiedFlag(TRUE); pDoc->InitDIBData(); SetScrollSizes(MM_TEXT, pDoc->GetDocSize()); pDoc->UpdateAllViews(NULL); } else { MessageBox("分配內(nèi)存失??!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用TransposeDIB()函數(shù)轉(zhuǎn)置DIB,針對

43、每行圖像每列進(jìn)行操作,互換源DIB的寬度和高度,函數(shù)代碼見附錄。 3.圖像縮放 函數(shù)原型: void CCh1_1View::OnGeomZoom() { BeginWaitCursor(); hNewDIB = (HDIB) ZoomDIB(lpDIB, fXZoomRatio, fYZoomRatio); if (hNewDIB != NULL) { pDoc->ReplaceHDIB(hNewDIB); pDoc->InitDIBData(); pDoc->SetModifiedFlag(TRUE); SetScrollSizes(MM_

44、TEXT, pDoc->GetDocSize()); pDoc->UpdateAllViews(NULL); } else { MessageBox("分配內(nèi)存失敗!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用ZoomDIB()進(jìn)行圖像縮放,首先由用戶輸入縮放的比例,然后根據(jù)縮放后的比例進(jìn)行計(jì)算出縮放后的圖像的高度和寬度,通過公式i0 = (LONG) (i / fYZoomRat

45、io + 0.5);j0 = (LONG) (j / fXZoomRatio + 0.5)計(jì)算出該象素在源DIB中的坐標(biāo),最終將計(jì)算后的圖片輸出出來,函數(shù)代碼見附錄。 4.圖像旋轉(zhuǎn) 函數(shù)原型: void CCh1_1View::OnGeomRota() { BeginWaitCursor(); hNewDIB = (HDIB) RotateDIB(lpDIB, iRotateAngle); if (hNewDIB != NULL) { pDoc->ReplaceHDIB(hNewDIB); pDoc->InitDIBData(); pDoc->Set

46、ModifiedFlag(TRUE); SetScrollSizes(MM_TEXT, pDoc->GetDocSize()); pDoc->UpdateAllViews(NULL); } else { MessageBox("分配內(nèi)存失??!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用RotateDIB()函數(shù)進(jìn)行圖像旋轉(zhuǎn),由用戶設(shè)定旋轉(zhuǎn)地角度,該函數(shù)通過原圖像的四個(gè)角的坐標(biāo)

47、和旋轉(zhuǎn)地角度計(jì)算出新的圖像的四個(gè)角的坐標(biāo),然后通過計(jì)算正弦和余弦,確定新圖像的高度和寬度。最終將新的指紋圖像輸出出來,函數(shù)代碼見附錄。 3.2.3 圖像增強(qiáng)模塊 (1)設(shè)計(jì)思路 增強(qiáng)圖象中的有用信息,它可以是一個(gè)失真的過程,其目的是要增強(qiáng)視覺效果。將原來不清晰的圖像變得清晰或強(qiáng)調(diào)某些感興趣的特征,抑制不感興趣的特征,使之改善圖像質(zhì)量、豐富信息量,加強(qiáng)圖像判讀和識別效果的圖像處理方法。 圖像增強(qiáng)按所用方法可分成頻率域法和空間域法。前者把圖像看成一種二維信號,對其進(jìn)行基于二維傅里葉變換的信號增強(qiáng)。采用低通濾波(即只讓低頻信號通過)法,可去掉圖中的噪聲;采用高通濾波法,則可增強(qiáng)邊緣等高頻信號

48、,使模糊的圖片變得清晰。具有代表性的空間域算法有局部求平均值法和中值濾波(取局部鄰域中的中間像素值)法等,它們可用于去除或減弱噪聲。 圖像增強(qiáng)的目的是改善圖像的視覺效果,針對給定圖像的應(yīng)用場合,有目的地強(qiáng)調(diào)圖像的整體或局部特性,擴(kuò)大圖像中不同物體特征之間的差別,滿足某些特殊分析的需要。其方法是通過一定手段對原圖像附加一些信息或變換數(shù)據(jù),有選擇地突出圖像中感興趣的特征或者抑制(掩蓋)圖像中某些不需要的特征,使圖像與視覺響應(yīng)特性相匹配。在圖像增強(qiáng)過程中,不分析圖像降質(zhì)的原因,處理后的圖像不一定逼近原始圖像。圖像增強(qiáng)技術(shù)根據(jù)增強(qiáng)處理過程所在的空間不同,可分為基于空域的算法和基于頻域的算法兩大類?;?/p>

49、于空域的算法處理時(shí)直接對圖像灰度級做運(yùn)算基于頻域的算法是在圖像的某種變換域內(nèi)對圖像的變換系數(shù)值進(jìn)行某種修正,是一種間接增強(qiáng)的算法。 基于空域的算法分為點(diǎn)運(yùn)算算法和鄰域去噪算法。點(diǎn)運(yùn)算算法即灰度級校正、灰度變換和直方圖修正等,目的或使圖像成像均勻,或擴(kuò)大圖像動態(tài)范圍,擴(kuò)展對比度。鄰域增強(qiáng)算法分為圖像平滑和銳化兩種。平滑一般用于消除圖像噪聲,但是也容易引起邊緣的模糊。常用算法有均值濾波、中值濾波。銳化的目的在于突出物體的邊緣輪廓,便于目標(biāo)識別。常用算法有梯度法、算子、高通濾波、掩模匹配法、統(tǒng)計(jì)差值法等。 (2)模塊實(shí)現(xiàn) 1.圖像平滑 函數(shù)原型: void CCh1_1View::OnEn

50、haSmooth() { BeginWaitCursor(); if (::Template(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), iTempH, iTempW, iTempMX, iTempMY, aValue, fTempC)) { pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); } else { MessageBox("分配內(nèi)存失敗!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_

51、OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用Template()函數(shù),通過不同的模版或者用戶自行設(shè)定模版獲得相應(yīng)的系數(shù)然后再通過乘以相應(yīng)的系數(shù)之后平滑的圖片就輸出出來了,函數(shù)代碼見附錄。 2.中值濾波 函數(shù)原型: void CCh1_1View::OnENHAMidianF() { BeginWaitCursor(); if (::MedianFilter(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB),

52、 iFilterH, iFilterW, iFilterMX, iFilterMY)) { pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); } else { MessageBox("分配內(nèi)存失??!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用MedianFilter()函數(shù),該函數(shù)通過兩個(gè)for循環(huán)

53、for (k = 0; k < iFilterH; k++){for (l = 0; l < iFilterW; l++)}讀取濾波器數(shù)組,從而獲取中值,最終達(dá)到處理的結(jié)果。函數(shù)代碼見附錄。 3.梯度銳化 函數(shù)原型: void CCh1_1View::OnEnhaGradsharp() { BeginWaitCursor(); if (::GradSharp(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), bThre)) { pDoc->SetModifiedFlag(TRUE); pDoc->UpdateA

54、llViews(NULL); } else { MessageBox("分配內(nèi)存失敗!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用GradSharp()函數(shù),該函數(shù)由用戶設(shè)定閾值,通過閾值的比較,小于該閾值的不變,大于該閾值的則設(shè)定為255。具體代碼見附錄。 3.2.4 形態(tài)學(xué)變換模塊 (1)設(shè)計(jì)思路 細(xì)化算法的分類: 依據(jù)是否使用迭代運(yùn)算可以分為兩類:第一類是非迭代算法,一次即

55、產(chǎn)生骨架,如基于距離變換的方法。游程長度編碼細(xì)化等。第二類是迭代算法,即重復(fù)刪除圖像邊緣滿足一定條件的像素,最終得到單像素寬帶骨架。迭代方法依據(jù)其檢查像素的方法又可以再分成串行算法和并行算法,在串行算法中,是否刪除像素在每次迭代的執(zhí)行中是固定順序的,它不僅取決于前次迭代的結(jié)果,也取決于本次迭代中已處理過像素點(diǎn)分布情況,而在并行算法中,像素點(diǎn)刪除與否與像素值圖像中的順序無關(guān),僅取決于前次迭代的結(jié)果。在經(jīng)典細(xì)化算法發(fā)展的同時(shí),起源于圖像集合運(yùn)算的形態(tài)學(xué)細(xì)化算法也得到了快速的發(fā)展。 Hilditch、Pavlidis、Rosenfeld細(xì)化算法:這類算法則是在程序中直接運(yùn)算,根據(jù)運(yùn)算結(jié)果來判定是

56、否可以刪除點(diǎn)的算法,差別在于不同算法的判定條件不同。 其中Hilditch算法使用于二值圖像,比較普通,是一般的算法; Pavlidis算法通過并行和串行混合處理來實(shí)現(xiàn),用位運(yùn)算進(jìn)行特定模式的匹配,所得的骨架是8連接的,使用于0-1二值圖像 ;Rosenfeld算法是一種并行細(xì)化算法,所得的骨架形態(tài)是8-連接的,使用于0-1二值圖像 。 后兩種算法的效果要更好一些,但是處理某些圖像時(shí)效果一般,第一種算法使用性強(qiáng)些。 索引表細(xì)化算法:經(jīng)過預(yù)處理后得到待細(xì)化的圖像是0、1二值圖像。像素值為1的是需要細(xì)化的部分,像素值為0的是背景區(qū)域?;谒饕淼乃惴ň褪且罁?jù)一定的判斷依據(jù),所做出的一張表,然后

57、根據(jù)魔鬼要細(xì)化的點(diǎn)的八個(gè)鄰域的情況查詢,若表中元素是1,若表中元素是1,則刪除該點(diǎn)(改為背景),若是0則保留。因?yàn)橐粋€(gè)像素的8個(gè)鄰域共有256中可能情況,因此,索引表的大小一般為256。 具體細(xì)化方法: 滿足下列四個(gè)條件的點(diǎn)可以刪除 p3 p2 p9 p4 p1 p8 p5 p6 p7 細(xì)化刪除條件為: (1)、2 < Nz(p1) <= 6 Nz為八鄰域中黑點(diǎn)的數(shù)目 (2)、Zo(p1)=1,指中心為黑點(diǎn) (3)、p2*p4*p8=0 or Zo(p1)!=1 避免黑線被打斷 (4)、p2*p4*p6=0 or Zo(p4)!=1 (2)模塊實(shí)現(xiàn) 細(xì)化 函數(shù)原型

58、: void CCh1_1View::OnMorphThining() { BeginWaitCursor(); lpDIBBits = ::FindDIBBits(lpDIB); if (ThiningDIB(lpDIBBits, WIDTHBYTES(::DIBWidth(lpDIB) * 8), ::DIBHeight(lpDIB))) { pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(NULL); } else { MessageBox("分配內(nèi)存失敗或者圖像中含有0和255之外的

59、像素值!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用ThinDIB()函數(shù),通過判斷區(qū)域內(nèi)的像素值,白色用0代表,黑色用1代表,排除不必要的像素,使圖像只含有0和255兩種灰度值,最終通過 pDoc->UpdateAllViews(NULL)更新視圖。函數(shù)代碼見附錄。 3.2.5 圖像分析模塊 (1)設(shè)計(jì)思路 圖像分割就是將圖像分成各具特性的區(qū)域, 并提取感興趣目標(biāo)的技術(shù)和過程,是圖像分析的關(guān)鍵步驟

60、。它在圖像增強(qiáng)、模式識別、目標(biāo)跟蹤等領(lǐng)域中有廣泛的應(yīng)用。至今已提出了多種圖像分割方法,可粗略地分為基于直方圖的分割方法(閾值化分割,如OTSU、最大熵等)[1][2][3]、基于邊緣的分割方法[4][5]、基于區(qū)域的分割方法[6][7]三類。 基于一維直方圖的方法速度比較快,對直方圖分布成雙峰或者分布比較均勻時(shí)效果比較好,但對直方圖分布比較窄或分布不呈雙峰特的圖像,分割效果往往不理想。基于二維直方圖的方法,即以像素的灰度值和鄰域內(nèi)部的灰度均值的二維分布所構(gòu)成的直方圖來進(jìn)行分割,雖然可以有效提高分割效果,一定程度上可以消除噪聲的影響,但計(jì)算量相當(dāng)大,難以應(yīng)用到實(shí)時(shí)系統(tǒng)。 基于邊緣的方法基本思

61、想是先檢測圖像中邊緣點(diǎn),再按一定策略連接成輪廓,從而構(gòu)成分割區(qū)域。其難點(diǎn)在于邊緣檢測時(shí)抗噪性和檢測精度的矛盾,若提高檢測精度,則噪聲產(chǎn)生的偽邊緣會導(dǎo)致不合理的輪廓,若提高抗噪性,則會產(chǎn)生輪廓漏檢和位置偏差。 基于區(qū)域的方法關(guān)鍵是要找到合適的種子和選擇合適的生長準(zhǔn)則,缺點(diǎn)是計(jì)算量比較大,并容易造成過度分割,即將圖象分割成過多的區(qū)域。 將一幅圖像閾值分割二值化非常簡單,若需要通過閾值th2二值化保留一些大面積的、且有灰度值含有大于th1的點(diǎn)的前景區(qū)域,而不需要小面積的區(qū)域(th1大于th2),這時(shí)會遇到這樣的問題:當(dāng)閾值選為th2時(shí)會把一些小面積區(qū)域也保留下來;若把閾值增大到th1,小面積的區(qū)

62、域沒了,但是原來大面積的區(qū)域又會減?。蝗粢苯尤サ糸撝祎h2二值化圖像中面積小于某一值的的區(qū)域,需要計(jì)算每個(gè)區(qū)域的面積,計(jì)算量大,而且有的區(qū)域中并沒有含有大于th1的點(diǎn)。 (2)模塊實(shí)現(xiàn) 閾值分割 函數(shù)原型: void CCh1_1View::OnDetectThreshold() { BeginWaitCursor(); lpDIBBits = ::FindDIBBits(lpDIB); if (ThresholdDIB(lpDIBBits,::DIBWidth(lpDIB), ::DIBHeight(lpDIB))) { pDoc->SetModified

63、Flag(TRUE); pDoc->UpdateAllViews(NULL); } else { MessageBox("分配內(nèi)存失??!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK); } ::GlobalUnlock((HGLOBAL) pDoc->GetHDIB()); EndWaitCursor(); } 該功能調(diào)用ThresholdDIB()函數(shù),由用戶設(shè)定閾值,然后根據(jù)閾值將圖像二值化,具體代碼見附錄。 3.2.6 查看模塊 (1)設(shè)計(jì)思路 圖像的灰度變換處理是通過改變原始圖像各像素在各灰度級上的概率分布來

64、實(shí)現(xiàn)的。通過對圖像的灰度值進(jìn)行統(tǒng)計(jì)可以得到一個(gè)一維離散的圖像灰度統(tǒng)計(jì)直方圖函數(shù)p(sk)=nk/n(這里k=0,1,2……L-1),該式表示在第k個(gè)灰度級上的像素個(gè)數(shù)nk占全部像素總數(shù)n的比例,p(sk)則給出了對sk出現(xiàn)概率的一個(gè)估計(jì)。因此該直方圖函數(shù)實(shí)際是圖像的各灰度級的分布情況的反映,換句話說也就是給出了該幅圖像所有灰度值的整體描述。通過該函數(shù)可以清楚地了解到圖像對應(yīng)的動態(tài)范圍情況,可以了解到圖像灰度的主要集中范圍。因此可以通過圖像增強(qiáng)程序的干預(yù)來改變直方圖的灰度分布狀況,使灰度均勻地或是按預(yù)期目標(biāo)分布于整個(gè)灰度范圍空間,從而達(dá)到增強(qiáng)圖像對比度的效果。這種方法是基于數(shù)理統(tǒng)計(jì)和概率論的,比

65、直接在空間域?qū)υ紙D像采取對比度增強(qiáng)效果要好得多。在實(shí)際應(yīng)用中直方圖的變換主要有均衡變換和規(guī)定變換兩種,而后者又可根據(jù)灰度級映射規(guī)則的不同分單映射規(guī)則和組映射規(guī)則兩種。 直方圖均衡化處理 直方圖均衡化處理的中心思想是把原始圖像的灰度直方圖從比較集中的某個(gè)灰度區(qū)間變成在全部灰度范圍內(nèi)的均勻分布。對圖像空間域點(diǎn)的增強(qiáng)過程是通過增強(qiáng)函數(shù)t=EH(s)來完成的,t、s分別為目標(biāo)圖像和原始圖像上的像素點(diǎn)(x,y),在進(jìn)行均衡化處理時(shí),增強(qiáng)函數(shù)EH需要滿足兩個(gè)條件:增強(qiáng)函數(shù)EH(s)在0≤s≤L-1的范圍內(nèi)是一個(gè)單調(diào)遞增函數(shù),這個(gè)條件保證了在增強(qiáng)處理時(shí)沒有打亂原始圖像的灰度排列次序; 另一個(gè)需要滿足的

66、條件是對于0≤s≤L-1應(yīng)當(dāng)有0≤EH(s)≤L-1,它保證了變換過程中灰度值的動態(tài)范圍的一致性。同樣的,對于反變換過程s=EH-1(t),在0≤t≤1時(shí)也必須滿足上述兩個(gè)條件。累計(jì)分布函數(shù)(cumulative distribution function,CDF)就是滿足上述條件的一種,通過該函數(shù)可以完成s到t的均勻分布轉(zhuǎn)換。此時(shí)的增強(qiáng)轉(zhuǎn)換方程為: tk = EH(sk)=∑(ni/n)=∑ps(si),(k=0,1,2……L-1) 上述求和區(qū)間為0到k,根據(jù)該方程可以由原圖像的各像素灰度值直接得到直方圖均衡化后各像素的灰度值。在實(shí)際處理變換時(shí),一般先對原始圖像的灰度情況進(jìn)行統(tǒng)計(jì)分析,并計(jì)算出原始直方圖分布,然后根據(jù)計(jì)算出的累計(jì)直方圖分布tk,按式tk=[(N-1)* tk+0.5]對其取整并得出源灰度sk到tk的灰度映射關(guān)系,其中N為灰度的級數(shù)。重復(fù)上述步驟,得到所有的源圖像各灰度級到目標(biāo)圖像各灰度級的映射關(guān)系,再按照新的映射關(guān)系對源圖像各點(diǎn)像素進(jìn)行灰度轉(zhuǎn)換,即可完成對源圖的直方圖均衡化。 (2)模塊實(shí)現(xiàn) 直方圖 函數(shù)原型: void CCh1_1View::OnVie

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!