版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要人臉辨認技術(shù)(FRT)是當(dāng)今模式辨認和人工智能領(lǐng)域一種重要研究方向。雖然人臉辨認研究已有很長歷史,各種人臉辨認技術(shù)也諸多,但由于人臉屬于復(fù)雜模式并且容易受表情、膚色和衣著影響,當(dāng)前還沒有一種人臉辨認技術(shù)是公認迅速有效.本文重要討論了人臉辨認技術(shù)某些慣用辦法,對既有人臉檢測與定位、人臉特性提取、人臉辨認辦法進行分析和討論,最后對人臉辨認將來發(fā)展和應(yīng)用做了展望。核心字:人臉辨認,特性定位,特性提取ABSTRACTNowadaysthefacerecognitiontechnology(FRT)isahotissueinthefieldofpatternrecognitionandartificialintelligence.Althoughthisresearchalreadyhasalonghistoryandmanydifferentrecognitionmethodsareproposed,thereisstillnoeffectivemethodwithlowcostandhighprecision.Humanfaceisacomplexpatternandiseasilyaffectedbytheexpression,complexionandclothes.Inthispaper,somegeneralresearcharediscussed,includingmethodsoffacedetectionandlocation,featuresabstraction,andfacerecognition.Thenweanalyzeandforecastthefacerecognition’sapplicationanditsprospects.Keywords:FaceRecognitionTechnology,F(xiàn)acelocation,F(xiàn)eaturesabstraction第1章緒論所謂人臉辨認,是指對輸入人臉圖像或者視頻.判斷其中與否存在人臉,如果存在人臉,則進一步給出每張人臉位置、大小和各個重要面部器官位置信息。并且根據(jù)這些信息,進一步提取每張人臉蘊含身份特性,并將其與已知人臉庫中人臉進行對比,從而辨認每張人臉身份。人臉辨認研究涉及范疇廣泛,內(nèi)容涉及模式辨認、計算機視覺、圖像解決、人工智能等方面。人臉辨認還涉及到神經(jīng)網(wǎng)絡(luò)等學(xué)科,也和人腦結(jié)識限度緊密有關(guān)。這諸多因素使得人臉辨認成為一項極富挑戰(zhàn)性課題。1.1人臉辨認技術(shù)研究意義人臉辨認是機器視覺和模式辨認領(lǐng)域最富有挑戰(zhàn)性課題之一,同步也具備較為廣泛應(yīng)用意義。人臉辨認技術(shù)是一種非?;钴S研究領(lǐng)域,它覆蓋了數(shù)字圖像解決、模式辨認、計算機視覺、神經(jīng)網(wǎng)絡(luò)、心理學(xué)、生理學(xué)、數(shù)學(xué)等諸多學(xué)科內(nèi)容。如今,雖然在這方面研究已獲得了某些可喜成果,但是FRT在實用應(yīng)用中仍面臨著很嚴峻問題,由于人臉五官分布是非常相似,并且人臉自身又是一種柔性物體,表情、姿態(tài)或發(fā)型、化妝千變?nèi)f化都給對的辨認帶來了相稱大麻煩。如何能對的辨認大量人并滿足實時性規(guī)定是迫切需要解決問題。1.2國內(nèi)外研究現(xiàn)狀人臉辨認系統(tǒng)當(dāng)前在大多數(shù)領(lǐng)域中起到舉足輕重作用,特別是用在機關(guān)單位安全和考勤、網(wǎng)絡(luò)安全、銀行、海關(guān)邊檢、物業(yè)管理、軍隊安全、智能身份證、智能門禁、司機駕照驗證、計算機登錄系統(tǒng)。國內(nèi)在這方面也獲得了較好成就,國家863項目“面像檢測與辨認核心技術(shù)”通過成果鑒定并初步應(yīng)用,就標志著國內(nèi)在人臉辨認這一當(dāng)今熱點科研領(lǐng)域掌握了一定核心技術(shù)。北京科瑞奇技術(shù)開發(fā)股份有限公司在開發(fā)了一種人臉鑒別系統(tǒng),對人臉圖像進行解決,消除了照相機影響,再對圖像進行特性提取和辨認。這對于人臉鑒別特別有價值,由于人臉鑒別普通使用正面照,要鑒別人臉圖像是不同步期拍攝,使用照相機不同樣。系統(tǒng)可以接受時間間隔較長照片,并能達到較高辨認率,在計算機中庫藏2300人正面照片,每人一張照片,使用相距1--7年、差別比較大照片去查詢,首選率可以達到50%,前20張輸出照片中包具有與輸入照片為同一人照片概率可達70%。美國陸軍實驗室也是運用vc++開發(fā),通過軟件實現(xiàn),并且FAR為49%。在美國進行公開測試中,F(xiàn)AR,為53%。美國國防部高檔研究項目署,運用半自動和全自動算法。這種算法需要人工或自動指出圖像中人兩眼中心坐標,然后進行辨認。在機場開展測試中,系統(tǒng)發(fā)出錯誤警報太多,國外某些高校(卡內(nèi)基梅隆大學(xué)(CarnegieMellonUniversity)為首,麻省理工大學(xué)(MassachusettsInstituteofTechnology)等,英國雷丁大學(xué)(UniversityofReading))和公司(Visionics公司Facelt人臉辨認系統(tǒng)、ViiageFaceFINDER身份驗證系統(tǒng)、LauTech公司Hunter系統(tǒng)、德國BioID系統(tǒng)等)工程研究工作也重要放在公安、刑事方面,在考實驗證系統(tǒng)實現(xiàn)方面進一步研究并不多。1.3本系統(tǒng)研究內(nèi)容本系統(tǒng)重要對人臉檢測與定位做了進一步研究。在人臉檢測某些重要是對圖像進行獲取和預(yù)解決。圖像獲取重要是獲取圖像基本信息,以便對圖像像素進行解決。預(yù)解決涉及對圖像灰度化,中值濾波,對比度變化以及邊沿提取。人臉預(yù)解決過程是計算機人臉辨認中一種重要過程。人臉圖像預(yù)解決好壞對整個系統(tǒng)至關(guān)重要,對人臉預(yù)解決研究具備非常重要意義。特性定位是人臉辨認目是擬定單張人臉在圖像中位置,它通過標記人臉區(qū)域來擬定和計算人臉各器官定位。人臉特性檢測是檢測人臉特性有無和位置,例如說眼睛、鼻子、鼻孔、嘴巴、嘴唇等有無和位置。值得指出是,人臉檢測涉及辦法種類繁多(據(jù)報告可知,用于人臉檢測辦法有150各種),且涉及知識點較深,并各有特點,因此咱們小組將人臉檢測與人臉辨認區(qū)別開來,由于后者只是前者一種簡樸問題。同步,咱們把注意力集中在人臉檢測辦法上,而沒有實現(xiàn)與數(shù)據(jù)庫中人臉匹配問題。1.4當(dāng)前研究中存在問題雖然人類人臉辨認能力很強,,可以記住并辨別上千張不同人臉,可是計算機則困難多了。其體當(dāng)前:人臉表情豐富;人臉隨年齡增長而變化;人臉所成圖像受光照、成像角度及成像距離等影響;并且從二維圖象重建三維人臉是病態(tài)(ill2posed)過程,當(dāng)前尚沒有較好描述人臉三維模型。此外,人臉辨認還涉及到圖象解決、計算機視覺、模式辨認以及神經(jīng)網(wǎng)絡(luò)等學(xué)科,也和人腦結(jié)識限度緊密有關(guān)。這諸多因素使得人臉辨認成為一項極富挑戰(zhàn)性課題。第2章系統(tǒng)需求分析2.1系統(tǒng)功能需求系統(tǒng)功能重要環(huán)繞人臉檢測和人臉特性定位進行設(shè)計,一方面該系統(tǒng)會對圖像進行人臉檢測,人臉檢測重要是對圖像進行預(yù)解決過程,預(yù)解決這個模塊在整個人臉辨認系統(tǒng)開發(fā)過程中占有很重要地位。該系統(tǒng)重要是將解決后人臉圖片進行定位,將眼睛、鼻子、嘴巴標記出來。2.1.1功能劃分及描述圖像解決辦法諸多,咱們可以依照需要,有選取地使用各種辦法。在擬定臉部區(qū)域上,普通用法有膚色提取。膚色提取,則對臉部區(qū)域獲取則比較精確,成功率達到95%以上,并且速度快,減少諸多工作。圖像獲取模塊:該模塊重要是從圖片庫中獲取圖片,獲取后圖片可以在軟件界面中顯示出來以便進行辨認。圖像預(yù)解決模塊:圖像預(yù)解決就是對獲獲得來圖像進行恰當(dāng)解決,使它具備特性可以在圖像中明顯體現(xiàn)出來。該模塊中子模塊有如下幾種,下面對它們進行概述:中值濾波:在圖像采集過程中,由于各種因素影響,圖像中往往會浮現(xiàn)某些不規(guī)則隨機噪聲,如數(shù)據(jù)在傳播、存儲時發(fā)生數(shù)據(jù)丟失和損壞等,這些都會影響圖像質(zhì)量,因而需要將圖片進行平滑操作以此來消除噪聲。灰度化:圖像灰度化過程就是把彩色圖像轉(zhuǎn)換為灰度圖像過程,彩色圖像包括較多人臉特性信息,但是直接作為解決對象會使過程復(fù)雜化.相比之下灰度圖像在保存了人臉重要特性信息基本上,減少了總信息量。Sobel提?。ㄟ呇靥崛。翰捎锰荻任⒎咒J化圖像,使噪聲、條紋等得到增強;對圖像中隨機噪聲也有一定平滑作用;標記人臉邊沿,使其邊沿顯得粗而亮。對比度增強:對比度增強,就是對圖像進一步解決,將對比度再一次拉開。它針對原始圖像每一種像素直接對其灰度進行解決,其解決過程重要是通過增強函數(shù)對像素灰度級進行運算并將運算成果作為該像素新灰度值來實現(xiàn)。通過變化選用增強函數(shù)解析表達式就可以得到不同解決效果。相似度計算:相似度計算是為了鑒別兩對象相似限度而設(shè)定算法,例如文字、指紋、人臉等。為了便于二值化閾值擬定,膚色相似度計算意義是通過計算出與人臉膚色相近像素點,擬定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一種可計算出閾值比較值。二值化:通過某些算法,通過一種閾值變化圖像中像素顏色,令整幅圖像畫面內(nèi)僅有黑白二值,該圖像普通由黑色區(qū)域和白色區(qū)域構(gòu)成,可以用一種比特表達一種像素,“1”表達黑色,“0”表達白色,以便有助于咱們對特性提取。直方圖:直方圖是圖象解決中一種十分重要圖象分析工具,它描述了一幅圖像灰度級內(nèi)容,任何一幅直方圖都包括了豐富信息。從數(shù)學(xué)上來說圖像直方圖是圖像各個灰度值記錄特性與圖像灰度值函數(shù),它記錄了一幅圖像中各個灰度級浮現(xiàn)次數(shù)和概率。2.1.2開發(fā)環(huán)境硬件環(huán)境硬件配備原則:具備可靠性,可用性和安全性,具備完善技術(shù)支持??梢詽M足個人學(xué)習(xí)和設(shè)計需要。運營本軟件所需硬件資源:CPU:800M及以上;內(nèi)存:128M及以上軟件環(huán)境系統(tǒng)軟件配備原則可以滿足該軟件可靠性,可用性和安全性規(guī)定系統(tǒng)軟件配備方案①配備有持續(xù)工作能力、高穩(wěn)定性、高度可集成開放式原則操作系統(tǒng),如Windows,WindowsNT,UNIX,Linux等。②配備符合ANSI/ISO原則高檔程序設(shè)計語言解決軟件。如:VisualC++6.0。③熟悉C++高檔程序設(shè)計語言。2.1.3運營環(huán)境(1)硬件環(huán)境CPU:800M以上;內(nèi)存:128M及以上。(2)軟件環(huán)境可以運營在微軟公司近年來所出各種操作系統(tǒng)。如Windows98、WindowsMe、Windows、WindowsNT等。2.2可行性分析在開發(fā)該人臉辨認軟件之前,咱們查詢了前人所寫過諸多論文以及源程序,在開發(fā)之時,結(jié)合了資料中算法并揉進了自己某些思想,使程序可以對人臉圖片進行簡易辨認。2.2.1操作可行性該人臉辨認軟件需要如下運營環(huán)境:CPU:800M及以上;內(nèi)存:128M及以上。安裝有Windows98、WindowsMe、Windows、WindowsNT等操作系統(tǒng)中其中一種。因而,從操作可行性來看,只要系統(tǒng)顧客硬件軟件設(shè)備滿足以上條件,即可用該人臉辨認軟件進行人臉辨認。2.2.2技術(shù)可行性圖像解決辦法諸多,咱們可以依照需要,有選取地使用各種辦法。在擬定臉部區(qū)域上,普通用法有膚色提取。膚色提取,則對臉部區(qū)域獲取則比較精確,成功率達到95%以上,并且速度快,減少諸多工作。人臉自身變化挑戰(zhàn):同一種人人臉圖像由于表情、精神狀態(tài)、健康狀況、姿態(tài)、整容、年齡變化、意外損傷、化妝、眼鏡帽子、頭發(fā)胡須等變化而發(fā)生巨大變化;外部環(huán)境挑戰(zhàn):光照環(huán)境條件、攝像設(shè)備、人與攝像設(shè)備距離角度、圖像存儲質(zhì)量等,都會使人臉圖像發(fā)生教大變化。面隊這些就規(guī)定咱們進一步研究基于人臉膚色提取算法,提高辨認精度,,提高辨認速度,提高系統(tǒng)合用性。2.3預(yù)解決方案選取2.3.1設(shè)計方案原則選取本應(yīng)用程序設(shè)計方案原則如下:①采用較為先進技術(shù)力量,保證應(yīng)用程序在技術(shù)上具備一定優(yōu)勢。②采用成熟技術(shù),保證應(yīng)用程序安全性和可靠性。③應(yīng)用程序便于擴展和維護,易于技術(shù)更新。④應(yīng)用程序充分運用既有資源,盡量減少不必要再投資。⑤編寫代碼必要嚴謹易讀,代碼解釋必要清晰明白,為應(yīng)用程序再開發(fā)提供應(yīng)盡責(zé)任。2.3.2圖像文獻格式選取圖像采集是在Windows操作系統(tǒng)下開發(fā),需要理解在此環(huán)境下圖像存儲、顯示等方面機制。在Windows操作系統(tǒng)中,任何圖像格式(如.jpeg格式,.gif格式)在系統(tǒng)中顯示之前最后必要轉(zhuǎn)化為位圖格式。BMP圖像文獻格式(位圖格式)是微軟公司為其Windows環(huán)境設(shè)立原則圖像格式,在設(shè)計過程中,為了定位和特性提取以便,咱們采用是BMP格式圖像。2.3.3開發(fā)工具選取本次設(shè)計所用開發(fā)工具是MicrosoftVisualC++6.0。VisualC++6.0是Microsoft公司推出一種可視化編程工具。它支持多平臺和交叉平臺開發(fā),將各種編程工具如編輯器、連接器、調(diào)試器等巧妙結(jié)合在一起,構(gòu)成一種完美可視化開發(fā)環(huán)境。顧客無需通過繁雜編程操作,即可完畢Windows下應(yīng)用程序編輯、編譯、測試和細化等工作。2.3.4算法選取分析本文重要研究對象是圖像預(yù)解決模塊,該模塊分為中值濾波、圖像灰度化、相似度計算、二值化每個小模塊實現(xiàn)均有許多相應(yīng)算法。下面將本系統(tǒng)采用算法進行簡介:中值濾波:在圖像采集過程中,由于各種因素影響,圖像中往往會浮現(xiàn)某些不規(guī)則隨機噪聲,如數(shù)據(jù)在傳播、存儲時發(fā)生數(shù)據(jù)丟失和損壞等,這些都會影響圖像質(zhì)量,因而需要將圖片進行平滑操作以此來消除噪聲。但是如果平滑不當(dāng),就會使圖像自身細節(jié)如邊界輪廓、線條等變模糊不清,為了既平滑掉噪聲有盡量保持圖像細節(jié),本系統(tǒng)采用中值濾波算法解決。圖像灰度化:圖像灰度化是將圖像變成灰色,本系統(tǒng)中采用加權(quán)平均值法來實現(xiàn)圖像灰度化,這樣可以獲得最合理灰度圖像。膚色相似度計算:相似度計算是為了鑒別兩對象相似限度而設(shè)定算法,例如文字、指紋、人臉等。為了便于二值化閾值擬定,膚色相似度計算意義是通過計算出與人臉膚色相近像素點,擬定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一種可計算出閾值比較值。二值化:通過某些算法,通過一種閾值變化圖像中像素顏色,令整幅圖像畫面內(nèi)僅有黑白二值,該圖像普通由黑色區(qū)域和白色區(qū)域構(gòu)成,可以用一種比特表達一種像素,“1”表達黑色,“0”表達白色,以便有助于咱們對特性提取。第3章系統(tǒng)概要設(shè)計本章重要簡介系統(tǒng)構(gòu)造設(shè)計流程以及系統(tǒng)各模塊功能及有關(guān)原理。應(yīng)用程序總體構(gòu)造設(shè)計流程圖如圖3-1所示:圖3-1總體構(gòu)造設(shè)計流程圖圖3-1總體構(gòu)造設(shè)計流程圖圖像預(yù)解決層次圖如圖3-2所示:圖3-2預(yù)解決層次圖人臉定位層次圖如圖3-3所示:圖3-3人臉定位層次圖3.1各模塊功能概述以上是該系統(tǒng)總體構(gòu)造設(shè)計圖以及圖像預(yù)解決模塊層次圖。下面簡介系統(tǒng)中各模塊詳細功能。3.1.1圖像獲取模塊該模塊重要是從圖片庫中獲取,獲取后圖片可以在軟件界面中顯示出來以便進行辨認。3.1.2人臉區(qū)域獲取該系統(tǒng)中圖像里人臉區(qū)域獲取,重要是依照膚色來進行獲取,通過膚色非線形分段色彩變換來實現(xiàn)。這一非線性分段色彩變換得到膚色模型屬于色彩空間中聚類模型,這一類膚色模型建立一方面要選用一種適當(dāng)色彩空間。3.1.3圖像預(yù)解決模塊圖像預(yù)解決就是對獲獲得來圖像進行恰當(dāng)解決,使它具備特性可以在圖像中明顯體現(xiàn)出來。該模塊中子模塊有如下幾種,下面對它們進行概述:★中值濾波中值濾波將對圖像進行平滑解決,在圖像采集過程中,由于各種因素影響,圖像往往會浮現(xiàn)某些不規(guī)則噪聲,入圖像在傳播、存儲等均有也許產(chǎn)生數(shù)據(jù)丟失。從而影響圖像質(zhì)量。解決噪聲過程稱為濾波。濾波可以減少圖像視覺噪聲?!锘叶然瘓D像灰度化過程就是把彩色圖像轉(zhuǎn)換為灰度圖像過程,彩色圖像包括較多人臉特性信息,但是直接作為解決對象會使過程復(fù)雜化.相比之下灰度圖像在保存了人臉重要特性信息基本上,減少了總信息量?!飳Ρ榷仍鰪妼Ρ榷仍鰪?,就是對圖像進一步解決,將對比度再一次拉開。使圖象原本模糊邊沿變得清晰?!颯obel邊沿提取Sobel提取長處:采用梯度微分銳化圖像,同樣使噪聲、條紋等得到增強,Soble算子則在一定限度上克服了這個問題:由于引入了平均因素,因而對圖像中隨機噪聲有一定平滑作用;由于它是相隔兩行或兩列之差分,故邊沿兩側(cè)之元素得到了增強,故邊沿顯得粗而亮。★相似度計算相似度計算是為了鑒別兩對象相似限度而設(shè)定算法,例如文字、指紋、人臉等。為了便于二值化閾值擬定,膚色相似度計算意義是通過計算出與人臉膚色相近像素點,擬定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一種可計算出閾值比較值?!锒祷祷渴菍⒉杉@得多層次灰度圖像解決成二值圖像,以便于分析理解和辨認并減少計算量。二值化就是通過某些算法,通過一種閾值變化圖像中像素顏色,令整幅圖像畫面內(nèi)僅有黑白二值,該圖像普通由黑色區(qū)域和白色區(qū)域構(gòu)成,可以用一種比特表達一種像素,“1”表達黑色,“0”表達白色,固然也可以倒過來表達,這種圖像稱之為二值圖像。這便有助于咱們對特性提取。該設(shè)計中采用組內(nèi)方差和組外方差來實現(xiàn)二值化。3.1.4圖像模塊定位對候選特性進行篩選時,一方面割據(jù)顏色信息提出那些偽特性。然后用PCA模板和幾何特性擬定眼睛和嘴巴?!镱伾Y選無論是眼睛還是嘴巴,都位于人臉非膚色區(qū)域。并且眼睛顏色是黑暗分明,運用這些懂得可以裁減諸多候選,減少PCA驗證承擔(dān)?!镫p眼定位把篩選過特性區(qū)域兩兩配對,再用PCA模扳進行嚴整,就可以得到真正雙眼大使,PCA嚴整有時候難以區(qū)別眉毛與眼睛,因此還要用某些幾何特性進一步篩選,由于假定姿態(tài)是正,雙眼必然位于人臉上半某些,她們連線是近似水平,并且她們中心比眉毛低,運用這些判據(jù),可以區(qū)別眉毛和眼睛?!锉亲佣ㄎ辉跀M定了眼睛位置后來,鼻子位置基本擬定,以眼睛瞳距為1來計算,鼻子到兩眼中心距離為0.7到1。在這附近搜索顏色較深區(qū)域,大體能得到鼻孔位置(有側(cè)面圖一種鼻孔基本不可見,也就無法檢測出來了)。然后在兩鼻孔上訪一定范疇內(nèi)(鼻孔距離1/2左右)找亮度最高點作為鼻尖?!镒彀投ㄎ徽业诫p眼之后,可以在它們下方搜索候選特性區(qū)域,尋找非膚色面積較大、近似位于雙眼對稱候選作為嘴巴。然后依照先驗知識調(diào)節(jié)嘴巴大小。第4章系統(tǒng)詳細設(shè)計本章重要對圖像解決這一模塊進行詳細簡介,對其子模塊所用到算法及詳細實現(xiàn)進行詳細講述。4.1系統(tǒng)運營流程圖對圖片進行光線補償、對圖片進行光線補償、將圖片變成灰色、實現(xiàn)圖片對比度增強,二值化變換等一系列預(yù)解決。將解決好人臉圖片進行定位,標出眼睛、鼻尖和嘴巴。啟動本系統(tǒng),進入人臉辨認系統(tǒng)界面。點擊打開圖象,選用所需要圖片圖4-1系統(tǒng)流程圖4.2圖像解決詳細設(shè)計4.2.1圖像灰度化彩色圖像包括較多人臉特性信息,但是直接作為解決對象會使過程復(fù)雜化。相比之下灰度圖像在保存了人臉重要特性信息基本上,減少了總信息量。算法思想灰度化解決辦法重要有3種:最大值法:使RGB值等于3值中最大一值,即,式(4.1)最大值法會完畢亮度很高灰度。平均值法:取R,G,B平均值,即,式(4.2)平均值法會完畢比較柔和灰度。③加權(quán)平均值法:依照重要性或其她指標給R,G,B賦予不同權(quán)值,并使RGB加權(quán)值平均,即,式(4.3)其中,,分別為R,G,B權(quán)值。實驗和理論推導(dǎo)證明當(dāng)時,即當(dāng),式(4.4)式(4.5)時,能得到最合理灰度圖像。詳細實現(xiàn)灰度化功能①在明白了灰度化原理之后,就可進行編碼來實現(xiàn)該功能。在編輯界面中添加一種按鈕控件,將其命名為‘灰度化’,并其ID號設(shè)為IDC_BTHD,相應(yīng)文獻CFaceDetectDlg.Cpp中函數(shù)OnBthd()實現(xiàn).②現(xiàn)該模塊核心代碼如下://編寫就算像素點灰度值函數(shù)intCPreProcess::CalGray1(intblue,intgreen,intred){//運用灰度計算公式intColorGray=(int)((green*59+red*30+blue*11)/100); //將像素值限制在0到255 if(ColorGray<0) { ColorGray=0; } elseif(ColorGray>255) { ColorGray=255; } returnColorGray;}//編寫OnBtGray()函數(shù)//獲取紅色分量intColorRed=m_tOriPixelArray[i][j].rgbRed;//獲取綠色分量intColorGreen=m_tOriPixelArray[i][j].rgbGreen;//獲取藍色分量intColorBlue=m_tOriPixelArray[i][j].rgbBlue;//調(diào)用函數(shù),計算灰度值intcgray=method3->CalGray1(ColorBlue,ColorGreen,ColorRed);//顯示灰度圖像m_tResPixelArray[i][j].rgbBlue=m_tResPixelArray[i][j].rgbGreen= m_tResPixelArray[i][j].rgbRed=cgray;//重置位圖MakeBitMap();}//method3是定義一種函數(shù)指針,定義如下:CPreProcess*method3;//初始化如下method3=newCPreProcess(m_tOriPixelArray,m_nWndWidth,m_nWndHeight);圖像灰度化效果:圖4-2圖像灰度化4.2.2灰度變換按照一定規(guī)律修改像素灰度值,使圖像亮度或者對比度發(fā)生變化,使之更易于辨別,達到更好視覺效果。詳細實現(xiàn)功能進行編碼來實現(xiàn)該功能:在編輯界面中添加一種滑動條控件和文本編輯器,將其命名為‘灰度化變換’,并其ID號分別設(shè)為IDC_SLIDER1,IDC_EDIT1,相應(yīng)文獻CFaceDetectDlg.Cpp中函數(shù)OnReleasedcaptureSlider1()和OnChangeEdit1()實現(xiàn)。打開ClassWizardMemberVariables標簽,給每個控件添加所需成員變量,參數(shù)如下:表4.1空間ID號變量類型變量名范疇和大小IDC_SLIDER1CSliderCtrlm_Slider――IDC_EDIT1intm_Gray0~255在滑動條消息解決函數(shù)OnReleasedcaptureSlider1()中設(shè)立滑動條值使它等于文本編輯框初始值。代碼為://設(shè)立滑動條初始值m_Slider.SetPos(m_Gray);//刷新界面UpdateData(true);在滑動條消息解決函數(shù)OnReleasedcaptureSlider1()中進行灰度化變換,將滑動條值賦給灰度,并將其控制在【0,255】之間。代碼為:cgray+=m_Gray; if(cgray<0) { cgray=0; } if(cgray>255) { cgray=255; } m_tResPixelArray[i][j].rgbBlue=m_tResPixelArray[i][j].rgbGreen= m_tResPixelArray[i][j].rgbRed=cgray; }} MakeBitMap(); }//重置位圖 MakeBitMap();重要代碼{CClientDCClientDC(pDCShow->GetWindow()); if(m_pResMap!=NULL)deletem_pResMap; m_pResMap=newCBitmap(); m_pResMap->CreateCompatibleBitmap(&ClientDC,m_nWndWidth,m_nWndHeight); CDCdc; dc.CreateCompatibleDC(&ClientDC); dc.SelectObject(m_pResMap); for(inti=0;i<m_nWndHeight;i++) for(intj=0;j<m_nWndWidth;j++) dc.SetPixelV(j,i,RGB(m_tResPixelArray[i][j].rgbRed,m_tResPixelArray[i][j].rgbGreen,m_tResPixelArray[i][j].rgbBlue)); dc.DeleteDC(); MyDraw();}效果圖圖4-3比較柔和灰度圖像圖4-4灰度較強圖像4.2.3sobel邊沿提取圖像邊沿:是指圖像中象素灰度值有階躍變化或屋頂狀變化那些象素集合。圖像邊沿是一種重要視覺信息,圖像邊沿檢測是圖像解決、圖像分析、模式辨認、計算機視覺以及人類視覺基本環(huán)節(jié)。其成果對的性和可靠性將直接影響到機器視覺系統(tǒng)對客觀世界理解。實現(xiàn)邊沿檢測有諸多不同辦法,也始終是圖像解決中研究熱點,人們盼望找到一種抗噪強、定位準、不漏檢、不誤檢檢測算法。典型算法[1-2]中重要用梯度算子,最簡樸梯度算子是Roberts算子,比較慣用有Prewitt算子和Sobel算子,其中Sobel算子效果較好。算法思想Sobel邊沿檢測算子使用兩個如下有向算子(一種水平,一種是垂直),每一種逼近一種偏導(dǎo)數(shù):
式(4.6)然后將值賦給待求點灰度值。(2)詳細實現(xiàn)Sobel功能一方面對整張圖片像素點進行掃描,得到每個像素點R,G,B,然后計算得到這個像素點灰度值,// -101// -202// -101col=temp6+2*temp7+temp8-temp1-2*temp2-temp3;式(4.7)// -1-21// 000// 121row=temp3+2*temp5+temp8-temp1-2*temp4-temp6;式(4.8)temp=method3->CalSobel(col,row);式(4.9) //對計算值進行限制 if(temp<0) { temp=0; } if(temp>255) { temp=255; } //重置像素 m_tResPixelArray[i][j].rgbBlue=m_tResPixelArray[i][j].rgbGreen= m_tResPixelArray[i][j].rgbRed=temp; }} MakeBitMap(); }{CClientDCClientDC(pDCShow->GetWindow()); if(m_pResMap!=NULL)deletem_pResMap; m_pResMap=newCBitmap(); m_pResMap->CreateCompatibleBitmap(&ClientDC,m_nWndWidth,m_nWndHeight); CDCdc; dc.CreateCompatibleDC(&ClientDC); dc.SelectObject(m_pResMap); for(inti=0;i<m_nWndHeight;i++) for(intj=0;j<m_nWndWidth;j++) dc.SetPixelV(j,i,RGB(m_tResPixelArray[i][j].rgbRed,m_tResPixelArray[i][j].rgbGreen,m_tResPixelArray[i][j].rgbBlue)); dc.DeleteDC(); MyDraw();}效果圖圖4-5sobel邊沿提取4.2.4對比度增強(1)進行編碼來實現(xiàn)該功能:在編輯界面中添加一種滑動條控件和文本編輯器,將其命名為‘灰度化變換’,并其ID號分別設(shè)為IDC_SLIDER2,IDC_EDIT2,相應(yīng)文獻CFaceDetectDlg.Cpp中函數(shù)OnReleasedcaptureSlider2()和OnChangeEdit2()實現(xiàn)。打開ClassWizardMemberVariables標簽,給每個控件添加所需成員變量,參數(shù)如下:表4.2空間ID號變量類型變量名范疇和大小IDC_SLIDER1CSliderCtrlm_Slider2――IDC_EDIT1intm_Degree0~255在滑動條消息解決函數(shù)OnReleasedcaptureSlider2()中設(shè)立滑動條值使它等于文本編輯框初始值。代碼為:for(inti=0;i<m_nWndHeight;i++) {for(intj=0;j<m_nWndWidth;j++) {//獲取紅色分量 intr=m_tResPixelArray[i][j].rgbRed;//獲取綠色分量 intg=m_tResPixelArray[i][j].rgbGreen;//獲取藍色分量 intb=m_tResPixelArray[i][j].rgbBlue; //對RGB進行變換 intred=abs((127-r)*m_Degree)/255; intgreen=abs((127-g)*m_Degree)/255; intblue=abs((127-b)*m_Degree)/255; //使顏色對比度更加明顯 if(r>127)r+=red; else r-=red; if(g>127) { g+=green; } else g-=green; if(b>127) { b+=blue; } else b-=blue; if(r>255)r=255;if(r<0)r=0;if(g>255)g=255;if(g<0)g=0;if(b>255)b=255;if(b<0)b=0;m_tResPixelArray[i][j].rgbRed=r; m_tResPixelArray[i][j].rgbGreen=g; m_tResPixelArray[i][j].rgbBlue=b; } } MakeBitMap(); UpdateData(true);(2)效果圖圖4-6原圖像圖4-6對比度增強后效果圖第5章系統(tǒng)綜合與測試5.1系統(tǒng)綜合人臉辨認應(yīng)用程序采用VisualC++6.0作為開發(fā)工具,運用MFC采用面向?qū)ο筠k法,用C++語言編寫程序。將面向?qū)ο缶幊碳夹g(shù)直接應(yīng)用于圖像解決知識,并按功能進行細化,建立通用類,從而減少了繁瑣性,增長代碼可重用性和可移植性,提高了效率。本設(shè)計中建立多層次類構(gòu)造都是可以修改和維護。所有類都是開放,可以向其中添加新辦法以支持新功能,而不會對原有功能構(gòu)成任何威脅。本設(shè)計中建立多層次類構(gòu)造都是可以修改和維護。所有類都是開放,可以向其中添加新辦法以支持新功能,而不會對原有功能構(gòu)成任何威脅。5.2構(gòu)造設(shè)計圖像預(yù)解決設(shè)計:表5.1函數(shù)功能OnBtGray()圖象灰度化CalGray1(int,int,int)計算圖象灰度值OnChangeEdit1()設(shè)立滑動條初始值OnReleasedcaptureSlider()變化灰度變化MakeBitMap()重置位圖SetRange()設(shè)立滑動條范疇GetPos()得到滑動條值SetPos()設(shè)立滑動條值OnBUTTONSobel()實現(xiàn)Sobel邊沿提取OnCustomdrawSlider1()將滑動條消息映射給文本框 各成員函數(shù)解析函數(shù)名稱:OnBtGray參數(shù):CSliderCtrlm_Slider----灰度滑動條值intm_Gray----編輯框值返回值:void闡明:該函數(shù)將編輯框值映射給滑動條函數(shù)名稱:CalGray1參數(shù):intBlue----待求點像素藍色值intGreen----待求點像素綠色值intRed----待求點像素紅色值返回值:int----待求點灰度值闡明:該函數(shù)計算某像素點灰度值函數(shù)名稱:OnChangeEdit1參數(shù):CSliderCtrlm_Slider----灰度滑動條值intm_Gray----編輯框值返回值:void闡明:該函數(shù)將編輯框值映射給滑動條函數(shù)名稱:OnReleasedcaptureSlider參數(shù):void返回值:void闡明:該函數(shù)將編輯框值映射給滑動條函數(shù)名稱:MakeBitMap參數(shù):void返回值:void闡明:重新設(shè)立位圖函數(shù)名稱:SetRange參數(shù):intnMin----灰度滑動條最小值intnMax----灰度滑動條最大值BOOLbRedraw返回值:void闡明:設(shè)立滑動條最大最小值,擬定滑動條范疇函數(shù)名稱:GetPos參數(shù):void返回值:void闡明:得到滑動條當(dāng)前值函數(shù)名稱:SetPos參數(shù):intnPos----設(shè)立滑動條值返回值:void闡明:設(shè)立滑動條值函數(shù)名稱:OnBUTTONSobel參數(shù):void返回值:void闡明:設(shè)立滑動條值5.3系統(tǒng)測試測試是為了找出程序錯誤。正如測試規(guī)則所擬定同樣:測試是為了發(fā)現(xiàn)程序中錯誤而執(zhí)行程序過程;好測試方案是極也許發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)錯誤測試方案;成功測試是發(fā)現(xiàn)了迄今為止尚未發(fā)現(xiàn)錯誤測試。本系統(tǒng)重要由圖像解決、人臉定位、特性提取構(gòu)成,而圖像解決對于背面工作成果好壞起著至關(guān)重要作用,因而從軟件開發(fā)最初階段咱們就要對軟件進行不斷測試,對圖像解決模塊中各個子模塊進行測試以便檢測通過解決后圖像效果與否達到預(yù)期效果。下面對圖像解決模塊測試過程進行描述:圖像解決模塊:該模塊分為、圖像變成灰色、對比度變換、實現(xiàn)圖像對比度增強、Sboel邊沿提取。對該模塊進行測試辦法是:采用多張24位彩色圖像來進行逐個測試,看這些圖片通過解決后與否達到預(yù)期效果,如圖像灰度化模塊檢測則需看所測彩色圖片與否變成灰色;而灰度變換就是為了調(diào)試圖像最適合灰度級。圖像對比度增強是為了將圖像特性一步一步顯現(xiàn)出來,在測試過程中,用含人臉圖片進行檢測看與否圖像特性顯示出來與否足夠明顯。5.3.1測試原則1、應(yīng)當(dāng)把“盡早地和不斷地進行軟件測試”作為軟件開發(fā)者座右銘。2、測試用例應(yīng)由測試輸入數(shù)據(jù)和與之相應(yīng)預(yù)期輸出成果兩某些構(gòu)成。3、程序員應(yīng)避免檢查自己程序。(注意不是指對程序調(diào)試)4、
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年財務(wù)咨詢服務(wù)條款3篇
- 2025年度智能電網(wǎng)關(guān)鍵設(shè)備變壓器安裝及運維服務(wù)承包合同3篇
- 2025年度倉儲設(shè)施建設(shè)與運營維護合同3篇
- 2024版貨運運輸合同范文
- 世界地理分區(qū)習(xí)題《帶答案》大全
- 2025年度數(shù)字工廠廠房出租居間服務(wù)協(xié)議3篇
- 馬良三夢好詞好句好段讀后感
- 2024年智能暖通系統(tǒng)節(jié)能優(yōu)化改造工程合同3篇
- 浙江水利水電學(xué)院《面向?qū)ο蟮某绦蛟O(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南環(huán)境生物職業(yè)技術(shù)學(xué)院《生物醫(yī)用高分子村料》2023-2024學(xué)年第一學(xué)期期末試卷
- 水泥采購?fù)稑朔桨福夹g(shù)標)
- 鋁型材采購技術(shù)規(guī)范
- 物業(yè)投訴處理培訓(xùn)課件
- 《春秋》導(dǎo)讀學(xué)習(xí)通章節(jié)答案期末考試題庫2023年
- 物流無人機垂直起降場選址與建設(shè)規(guī)范(征求意見稿)
- 2023年湖南成人學(xué)位英語考試真題
- 分居聲明告知書范本
- 能源中國(上海電力大學(xué))超星爾雅學(xué)習(xí)通網(wǎng)課章節(jié)測試答案
- 采購計劃流程圖
- 強迫振動法測量單自由度系統(tǒng)固有頻率和阻尼比
- GB/T 4795-200915 ppm艙底水分離器
評論
0/150
提交評論