2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  圖像處理畢業(yè)論文</b></p><p>  摘 要:隨著信息技術(shù)的蓬勃發(fā)展,尤其是計算機技術(shù)的日新月異,為數(shù)字圖像處理的發(fā)展提供了廣闊的空間。該數(shù)字圖像處理系統(tǒng)是基于Windows平臺的圖像處理系統(tǒng),實現(xiàn)了對灰度級圖像的編輯,可以進行圖像導(dǎo)入和導(dǎo)出,視圖設(shè)置,可以調(diào)整圖片尺寸,旋轉(zhuǎn)和翻轉(zhuǎn)圖片,圖片增強優(yōu)化,圖像邊緣檢測與分割,圖像編碼以及打印輸出圖片。本文主要

2、介紹了數(shù)字圖像處理系統(tǒng)的設(shè)計和實現(xiàn)過程,系統(tǒng)設(shè)計運用MFC的設(shè)計思想,通過VC++實現(xiàn)系統(tǒng)框架,簡化了軟件的開發(fā),提高了軟件系統(tǒng)的靈活性、可擴展性和重用性。同時系統(tǒng)所有的操作設(shè)計得十分簡單方便,無需具備有專業(yè)的知識,也能對圖片完成編輯操作。</p><p>  關(guān) 鍵 詞 :VC++,MFC,灰度級圖像,圖像編輯</p><p>  Abstract:With the rapid deve

3、lopment of information technology, especially in the progress of computer technology, it provides wide space to the application of Digital Image Processing. Digital image processing system is an image processing system b

4、ased on the Windows platform. To realize the image editor of gray level, import and export images, view settings, you can adjust picture size, rotate and flip images Enhance the optimization and print output picture.The

5、analysis and the implementation </p><p>  Keywords: VC++,MFC,Grayscale image,Image edit</p><p><b>  目 錄</b></p><p>  1前言................................................

6、..........2</p><p>  1.1課題設(shè)計的背景和意義........................................2</p><p>  2圖像處理的方法概要與應(yīng)用領(lǐng)域..................................2</p><p>  2.1數(shù)字圖像處理的方法概要......................

7、............... 2</p><p>  2.2數(shù)字圖像處理的應(yīng)用領(lǐng)域......................................2</p><p>  2.3數(shù)字圖像系統(tǒng)簡介............................................4</p><p>  3數(shù)字圖像處理系統(tǒng)開發(fā)技術(shù)基礎(chǔ).........

8、.......................4</p><p>  3.1 C++語言優(yōu)點.................................................4</p><p>  3.2 VC++平臺簡介................................................4</p><p>  3.3 M

9、FC技術(shù)簡介.................................................6</p><p>  3.4 MDI應(yīng)用程序的構(gòu)成...........................................6</p><p>  4需求分析....................................................7&

10、lt;/p><p>  4.1系統(tǒng)功能需求分析............................................7</p><p>  4.2系統(tǒng)處理流程分析............................................8</p><p>  5系統(tǒng)總體設(shè)計...............................

11、.................8</p><p>  5.1系統(tǒng)功能模塊劃分............................................8</p><p>  5.2類的設(shè)計....................................................9</p><p>  5.3系統(tǒng)框架類.......

12、..........................................10</p><p>  6系統(tǒng)的詳細設(shè)計.............................................10</p><p>  6.1文件模塊的設(shè)計.............................................10</p><p

13、>  6.2圖像編輯模塊...............................................12</p><p>  6.3圖像處理模塊...............................................13</p><p>  6.4圖像的增強和復(fù)原.........................................

14、..18</p><p>  7 系統(tǒng)調(diào)試 ..................................................20</p><p>  結(jié) 論......... .............................................21</p><p>  致 謝...................

15、......................................22</p><p>  參考文獻 ......................................................23</p><p><b>  1 前言</b></p><p>  隨著科學(xué)技術(shù)的發(fā)展和人民生活水平的提高,數(shù)字攝像機的出

16、現(xiàn)和數(shù)字圖像處理技術(shù)的發(fā)展,在日新月異的數(shù)字化時代中,越來越引起人們的廣泛關(guān)注,數(shù)字圖像處理已經(jīng)成為必備的基礎(chǔ)知識。近幾十年來由于計算機技術(shù)的蓬勃發(fā)展,圖像處理技術(shù)也得到了空前的發(fā)展和應(yīng)用。目前,圖像處理技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)、軍事、醫(yī)學(xué)、交通、農(nóng)業(yè)、天氣預(yù)報、銀行、超市、重要部門的監(jiān)控報警系統(tǒng)、可視電話、網(wǎng)絡(luò)傳輸?shù)鹊阮I(lǐng)域,成為各個學(xué)科學(xué)習(xí)和研究對象。隨著圖像處理技術(shù)的廣泛應(yīng)用,學(xué)習(xí)和掌握這門科學(xué)顯得格外重要,圖像處理已經(jīng)成為信息技術(shù)相

17、關(guān)領(lǐng)域的核心課程。</p><p>  數(shù)字圖像處理取得的另一個巨大成就是在醫(yī)學(xué)上獲得的成果。1972年英國EMI公司工程師Housfield發(fā)明了用于頭顱診斷的X射線計算機斷層攝影裝置,也就是我們通常所說的CT(Computer Topography)。CT的基本方法是根據(jù)人的頭部截面的投影,經(jīng)計算機處理來重建截面圖像,稱為圖像重建。1975年EMI公司又成功研制出全身用的CT裝置,獲得了人體各個部位鮮明清晰的

18、斷層圖像。1979年,這項無損傷診斷技術(shù)獲得了諾貝爾獎,說明它對人類做出了劃時代的貢獻。 與此同時,圖像處理技術(shù)在許多應(yīng)用領(lǐng)域受到廣泛重視并取得了重大的開拓性成就,屬于這些領(lǐng)域的有航空航天、生物醫(yī)學(xué)工程、工業(yè)檢測、機器人視覺、公安司法、軍事制導(dǎo)、文化藝術(shù)等,使圖像處理成為一門引人注目、前景遠大的新型學(xué)科。 隨著圖像處理技術(shù)的深入發(fā)展,從70年代中期開始,隨著計算機技術(shù)和人工智能、思維科學(xué)研究的迅速發(fā)展,數(shù)字圖像處理向更高、更深層次發(fā)展。

19、</p><p>  1.1課題設(shè)計的背景和意義</p><p>  所謂圖像處理,就是對圖像信息進行加工以滿足人的視覺心理或應(yīng)用需求的行為。視覺是人類從大自然中獲取信息的最主要的手段。據(jù)統(tǒng)計,在人類獲取的信息中,視覺信息約占60%,聽覺信息約占20%,其他的如味覺信息、觸覺信息等加起來約占20%。由此可見視覺信息對人類的重要性,而圖像正是人類獲取視覺信息的主要造徑。所謂“圖”,就是物體透

20、射或者反射光的分布;“像”是人的視覺系統(tǒng)接收圖的信息而在大腦中形成的印象或認識。前者是客觀存在的,而后者是人的感覺,圖像就是兩者的結(jié)合。</p><p>  2 數(shù)字圖像處理的方法概要與應(yīng)用領(lǐng)域</p><p>  2.1數(shù)字圖像處理的方法概要</p><p>  圖像處理的方法多種多樣,—般可分為圖像變換、圖像增強和復(fù)原、圖像分割、圖像壓縮編碼、圖像描述和圖像識別

21、等幾類:</p><p><b>  1)圖像變換</b></p><p>  由于圖像陣列很大,直接在空間域中進行處理,涉及的計算量很大。利用正交變換(如傅里葉變換、余弦變換等)的性質(zhì)和特點,將圖像變換到頻率域中進行處理,不僅可減少計算量,而且可獲得更有效的處理,如博里葉變換可在領(lǐng)域中進行數(shù)字濾波處理。目前新興研究的小波交換在時域和頻域中都具有良好的局部化特性,它在

22、圖像處理中也有著廣泛而有效的應(yīng)用。該部分主要研究各種變換模型和處理方法。</p><p><b>  2)圖像增強和復(fù)原</b></p><p>  圖像增強和復(fù)原的目的都是為了提高圖像的質(zhì)量。</p><p> ?、賵D像增強。利用各種數(shù)學(xué)方法和變換手段提高圖像中目標(biāo)與非目標(biāo)(如背景)的對比度與清晰度,達到突出目標(biāo),有效地表示和提示圖像,以利于

23、人或機器進行分析處理的目的。該部分主要研究各種增強模型和處理方法。</p><p> ?、趫D像復(fù)原。在景物成像過程中,由于成像設(shè)備與物體的相對運動、介質(zhì)散射、系統(tǒng)畸變(如成像系統(tǒng)的變焦、成像器材的固有缺陷)、噪聲干擾等因素會造成圖像質(zhì)量降低,稱之為“退化”,典型現(xiàn)象是圖像模糊。使退化的圖像恢復(fù)本來面目,真實反映原景物圖像的處理,稱為圖像復(fù)原。該部分主要研究各種校正模型和處理方法。</p><p

24、>  圖像增強不考慮圖像降質(zhì)的原因,突出圖像中所感興趣的部分。如強化圖像高頻分量,可使圖像中物體輪廓清晰,細節(jié)明顯;強化低頻分量,可減少圖像中噪聲影響。圖像復(fù)原要求對圖像降質(zhì)的原因有一定的了解,一般而言,應(yīng)根據(jù)降質(zhì)過程建立“降質(zhì)模型”再采用某種濾波方法,恢復(fù)或重建原來的圖像。</p><p><b>  3)圖像壓縮編碼</b></p><p>  把數(shù)字化的圖

25、像數(shù)據(jù)按一定規(guī)則進行排列或運算的過程稱為圖像編碼。內(nèi)于圖像的數(shù)據(jù)量很大,存儲要占很大的空間,傳輸也要花費不少時間,為此利用圖像本身的內(nèi)在特性(如像素灰度值之間的相關(guān)性),按某種特殊方式編碼,以壓縮總的信息量,稱之為圖像壓縮編碼。該部分主要研究各種高效壓縮編碼方法。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件進行。編碼是壓縮技術(shù)中最重要的方法,它在圖像處理技術(shù)中是發(fā)展最早且比較成熟的技術(shù)。</p><p>

26、<b>  4)圖像分割</b></p><p>  圖像分割是數(shù)字圖像處理中的關(guān)鍵技術(shù)之—。圖像分割是將圖像中有意義的特征部分提取出來,其有意義的特征有圖像中的邊緣、區(qū)域等,這是進一步進行圖像識別、分析和理解的基礎(chǔ)。雖然目前已研究出不少邊緣提取、區(qū)域分割的方法,但還沒有一種普遍適用于各種圖像的有效方法。因此,對圖像分割的研究還在不斷深入之中,是目前圖像處理中研究的熱點之一。</p&g

27、t;<p><b>  5)圖像描述</b></p><p>  圖像描述是圖像識別和理解的必要前提。作為最簡單的二值圖像可采用其幾何特性描述物體的特性,一般圖像的描述方法采用二維形狀描述,它有邊界描述和區(qū)域描述兩類方法。對于特殊的紋理圖像可采用二維紋理特征描述。隨著圖像處理研究的深入發(fā)展,已經(jīng)開始進行三維物體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述等方法。<

28、/p><p>  2.2數(shù)字圖像處理的應(yīng)用領(lǐng)域</p><p>  圖像信息是人類主要的信息來源之一,圖像處理的應(yīng)用領(lǐng)域也涉及到人們工作生活中的方方面面。主要應(yīng)用可歸納為以下幾個方面:</p><p>  (1)醫(yī)用圖像處理。醫(yī)學(xué)上不論是基礎(chǔ)研究還是臨床應(yīng)用,都是圖像處理種類極多的領(lǐng)域。例如生物醫(yī)學(xué)的顯微圖像的處理分析,如紅白細胞和細菌,染色體分析;臨床診斷中X光圖像的

29、鑒別、超聲波圖像(B超)的分析、眼底照片的分析等都是醫(yī)療輔助診斷的重要手段,尤其是計算機層析成像技術(shù)(CT),可以獲得人體剖面圖,使肌體病變特別是腫瘤的診斷起到了革命性的變化,近年來出現(xiàn)的核磁共振CT,使人體免受各種硬射線的傷害,而且圖像更為清晰。</p><p>  (2)遙感圖像的處理。飛機或人造衛(wèi)星傳送來的遙感圖像,由于各種原因圖像質(zhì)量不是很好,必須在成像、存儲、傳輸、判讀過程中進行各種數(shù)字處理與分析(如輻

30、射校正、幾何畸變校正、多光譜統(tǒng)計信息分類等),并將其變?yōu)榭梢暤馁Y源信息或氣象信息,如大氣預(yù)報中的衛(wèi)星云圖。目前遙感技術(shù)已在資源調(diào)查、災(zāi)害監(jiān)測、農(nóng)業(yè)規(guī)劃、城市規(guī)劃、環(huán)境保護等方面得到了廣泛的應(yīng)用。</p><p>  (3)文字的識別與圖紙的判讀。文字與圖紙是科技信息的主要傳輸手段。文字與圖紙在圖像處理中都是以最簡單的二值圖像形式出現(xiàn)的。文字識別的應(yīng)用包括手寫體文字的識別、圖文混合中文字的識別等,如郵政編碼的自動識

31、別,計算機光筆輸入,經(jīng)掃描儀掃描的文字材料是以圖像文件的形式保存,如何將其轉(zhuǎn)變成文本文件等等。目前此類應(yīng)用技術(shù)已比較成熟,如OCR軟件等。圖紙的判讀則涉及到各種邏輯圖和機械設(shè)計圖的自動讀取問題,其中也包括圖紙上的文字識別問題(即圖文混合下的文字識別)。</p><p>  (4)工業(yè)領(lǐng)域的應(yīng)用。產(chǎn)品外觀檢測與篩選,表面缺陷的自動檢測,組裝與流水線上的自動化,工業(yè)材料的質(zhì)量檢驗。</p><p&

32、gt;  (5)農(nóng)業(yè)上的應(yīng)用。包括農(nóng)產(chǎn)品色度的檢測(如鑒別水果成熟度),農(nóng)牧產(chǎn)品,作物的表血形狀和特征參數(shù)的測定。</p><p>  (6)其他。指紋識別、影視中的特效等。</p><p>  2.3數(shù)字圖像系統(tǒng)簡介</p><p>  數(shù)字圖像處理系統(tǒng)是一款簡單而又實用的灰度級圖像處理軟件,是基于Windows平臺的應(yīng)用程序,利用Visual C++6.0的編譯

33、環(huán)境提高了系統(tǒng)的開發(fā)速度,實現(xiàn)數(shù)字圖像的查看與編輯操作。主要內(nèi)容有:</p><p>  圖像文件的打開和保存,實現(xiàn)了對灰度級圖像的操作。</p><p>  圖像的幾何變換,實現(xiàn)對圖像文件的旋轉(zhuǎn)、縮放、以及鏡像處理。</p><p>  圖像增強和復(fù)原,實現(xiàn)對降質(zhì)的圖像進行改善處理和提高圖像質(zhì)量的逼真度。</p><p>  圖像的邊緣檢測

34、和分割,產(chǎn)生更適合人觀察和識別的圖像。</p><p>  圖像編碼,對圖像采用不同的表達方法以減小表示圖像所需的數(shù)據(jù)量。</p><p>  3 數(shù)字圖像處理系統(tǒng)開發(fā)技術(shù)基礎(chǔ)</p><p>  3.1 C++語言優(yōu)點</p><p>  C++語言是一個面向?qū)ο蟮恼Z言,使用C++編寫的代碼更加簡捷、高效,更具可維護性和可重用性。C++語言

35、的優(yōu)點主要有以下幾點: 1、使用new和delete進行動態(tài)內(nèi)存分配和釋放 運算符new和delete是C++新增的運算符,提供了存儲的動態(tài)分配和釋放功能。它的作用相當(dāng)于C語言的函數(shù)malloc()和free(),但是性能更為優(yōu)越。使用new比使用malloc()有以下的幾個優(yōu)點: (1)、new自動計算要分配類型的大小,不使用sizeof運算符,比較省事,可以避免錯誤。 (2)、它自動地返回正確的指

36、針類型,不用進行強制指針類型轉(zhuǎn)換。 (3)、可以用new對分配的對象進行初始化。 2、使用inline內(nèi)連函數(shù)替代宏調(diào)用 對于頻繁使用的函數(shù),C語言建議使用宏調(diào)用代替函數(shù)調(diào)用以加快代碼執(zhí)行,減少調(diào)用開銷。但是宏調(diào)用有許多的弊端,可能引起不期望的副作用。例如宏: #define abs(a) ((a)<0?(-a):(a)), 當(dāng)使用abs(I++)時,這個宏就會出錯。 所以在C++中應(yīng)該使用inline內(nèi)連

37、函數(shù)替代宏調(diào)用,這</p><p>  例如: inline int Add(int a,int b);//聲明Add()為內(nèi)連函數(shù) 這樣編譯器在遇到Add()函數(shù)時,不再進行函數(shù)調(diào)用,而是直接嵌入函數(shù)代碼以加快程序的執(zhí)行。 3、使用函數(shù)重載 在C語言中,兩個函數(shù)的名稱不能相同,否則會導(dǎo)致編譯錯誤。而在C++中,函數(shù)名相同而參數(shù)不同的兩個函數(shù)被解釋為重載。例如: void

38、PutHz(char *str); //在當(dāng)前位置輸出漢字 void PutHz(int x,int y,char *str); //在x,y處輸出漢字 使用函數(shù)重載可以幫助程序員應(yīng)付更多的復(fù)雜;同時在大型程序中,使函數(shù)名易于管理和使用,而不必絞盡腦汁地去處理函數(shù)名。 4、使用引用(reference)代替指針進行參數(shù)傳遞 在C語言中,如果一個函數(shù)需要修改用作參數(shù)的變量值的時候 ,參數(shù)應(yīng)該聲明為指

39、針類型。例如: void Add(int *a) {(*a)++;} 但是對于復(fù)雜的程序,使用指針容易出錯,程序也難以讀懂。在C++中,對于上述情況 可以使用引用來</p><p>  5、使用“類”對數(shù)據(jù)進行封裝 C語言是模塊化的程序語言,通過函數(shù)的使用和文件的單獨編譯實現(xiàn)了一定的數(shù)據(jù)封裝功能。但C++通過使用“類”的強大功能,在數(shù)據(jù)封裝、繼承等很多的方面比C做得更好。通過使用“類

40、”把數(shù)據(jù)和對數(shù)據(jù)的所有操作集合封裝在一起,建立了一個定義良好的接口,使程序員在使用一個類的時候可以只關(guān)心它的使用,而不必關(guān)心它的實現(xiàn)。 6、類模版 類模版使得程序員在設(shè)計一個類時,可以將數(shù)據(jù)類型作為類的參數(shù),從而定義一個類屬類。作為參數(shù)的類型既可以是c++語言提供的基本類型與復(fù)合數(shù)據(jù)類型,也可以是程序員自定義的類類型。類屬類的主要用途是定義包容數(shù)據(jù)結(jié)構(gòu)。</p><p>  利用類模版,以此就可以

41、定義出具有共性(除類型參數(shù)除外、其余全相同)的一組類。即通過使用類模版,可使得所定義類中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)、某些成員參數(shù)的返回值都可以使任意類型的(包括系統(tǒng)預(yù)定義類型以及用戶自定義類型),從而使得一段程序可用于處理多種不同類型的對象。</p><p>  3.2 VC++平臺簡介</p><p>  VC++是在Windows平臺下構(gòu)建32位應(yīng)用程序的強大而又復(fù)雜的開發(fā)工具

42、,是目前世界上使用非常廣泛的工具之一。VC++的應(yīng)用非常廣泛,從桌面應(yīng)用程序到服務(wù)器端軟件,從系統(tǒng)軟件到應(yīng)用軟件,從單機程序到分布式應(yīng)用程序,從圖形圖像處理到游戲開發(fā),VC++無所不在 [6]。VC++是Windows平臺上的C++編程環(huán)境,學(xué)習(xí)VC要了解很多Windows平臺的特性并且還要掌握MFC、ATL、COM等的知識,難度比較大。</p><p>  VC++ Developer Studio 包含有編寫

43、程序源代碼的編輯器,設(shè)計用戶界面(菜單、對話框、圖標(biāo)等)的資源編輯器,建立項目配置的項目管理器,檢查程序錯誤的集成調(diào)式等工具,同時,它還提供了功能強大的應(yīng)用程序向?qū)ppWizard和類向?qū)lassWizard工具。AppWizard用于生成各種不同類型的具有Windows界面風(fēng)格的應(yīng)用程序的基本框架,在生成應(yīng)用程序框架后,使用ClassWizard便可輕松完成創(chuàng)建新類,映射消息、定義消息處理函數(shù)、重載虛函數(shù)等操作[1]。</p

44、><p>  3.3 MFC技術(shù)簡介</p><p>  MFC (Microsoft Foundation Class Library,微軟基礎(chǔ)類庫)是微軟為了簡化程序員的開發(fā)工作所開發(fā)的一套C++類的集合,是一套面向?qū)ο蟮暮瘮?shù)庫,以類的方式提供給客戶使用。利用這些類可以有效的幫助程序員完成Windows應(yīng)用程序的開發(fā)。MFC中的各種類結(jié)合起來構(gòu)成了一個應(yīng)用程序框架,它的目的就是讓程序員在此

45、基礎(chǔ)上來建立Windows下的應(yīng)用程序,這是一種相對SDK來說更為簡單的方法。因為總體上,MFC框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準實現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個輪廓。Microsoft Visual C++提供了相應(yīng)的工具來完成這個工作:AppWizard可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計用戶接口;ClassWizard用來協(xié)助添加代碼到框

46、架文件;最后,編譯,則通過類庫實現(xiàn)了應(yīng)用程序特定的邏輯。</p><p>  3.4 MDI應(yīng)用程序的構(gòu)成</p><p>  用AppWizard產(chǎn)生一個MDI工程Jia(無OLE等支持),AppWizard創(chuàng)建了一系列文件,構(gòu)成了一個應(yīng)用程序框架。這些文件分四類:頭文件(.h),實現(xiàn)文件(.cpp),資源文件(.rc),模塊定義文件(.def),等。</p><p&

47、gt;  從CWinApp、CDocument、CView、CMDIFrameWnd、CMDIChildWnd類對應(yīng)地派生出CJiaApp、CJiaDoc、CJiaView、CMainFrame、CChildFrame五個類,這五個類的實例分別是應(yīng)用程序?qū)ο?、文檔對象、視對象、主框架窗口對象和文檔邊框窗口對象。主框架窗口包含了視窗口、工具條和狀態(tài)欄。對這些類或者對象解釋如下。</p><p><b> 

48、?。?)應(yīng)用程序</b></p><p>  應(yīng)用程序類派生于CWinApp?;诳蚣艿膽?yīng)用程序必須有且只有一個應(yīng)用程序?qū)ο?,它負?zé)應(yīng)用程序的初始化、運行和結(jié)束。</p><p><b> ?。?)邊框窗口</b></p><p>  如果是SDI應(yīng)用程序,從CFrameWnd類派生邊框窗口類,邊框窗口的客戶子窗口(MDIClien

49、t)直接包含視窗口;如果是MDI應(yīng)用程序,從CMDIFrameWnd類派生邊框窗口類,邊框窗口的客戶子窗口(MDIClient)直接包含文檔邊框窗口。如果要支持工具條、狀態(tài)欄,則派生的邊框窗口類還要添加CToolBar和CStatusBar類型的成員變量,以及在一個OnCreate消息處理函數(shù)中初始化這兩個控制窗口。邊框窗口用來管理文檔邊框窗口、視窗口、工具條、菜單、加速鍵等,協(xié)調(diào)模式狀態(tài)(如上下文的幫助(SHIFT+F1模式)和打印預(yù)

50、覽)。</p><p><b> ?。?)文檔邊框窗口</b></p><p>  文檔邊框窗口類從CMDIChildWnd類派生,MDI應(yīng)用程序使用文檔邊框窗口來包含視窗口。</p><p><b> ?。?)文檔</b></p><p>  文檔類從CDocument類派生,用來管理數(shù)據(jù),數(shù)據(jù)的

51、變化、存取都是通過文檔實現(xiàn)的。視窗口通過文檔對象來訪問和更新數(shù)據(jù)。</p><p><b> ?。?)視</b></p><p>  視類從CView或它的派生類派生。視和文檔聯(lián)系在一起,在文檔和用戶之間起中介作用,即視在屏幕上顯示文檔的內(nèi)容,并把用戶輸入轉(zhuǎn)換成對文檔的操作。</p><p><b> ?。?)文檔模板</b&g

52、t;</p><p>  文檔模板類一般不需要派生。MDI應(yīng)用程序使用多文檔模板類CMultiDocTemplate;SDI應(yīng)用程序使用單文檔模板類CSingleDocTemplate。應(yīng)用程序通過文檔模板類對象來管理上述對象(應(yīng)用程序?qū)ο?、文檔對象、主邊框窗口對象、文檔邊框窗口對象、視對象)的創(chuàng)建。</p><p><b>  4 需求分析</b></p&g

53、t;<p>  4.1系統(tǒng)功能需求分析</p><p>  需求分析簡單地說就是分析用戶的需求。需求分析是設(shè)計系統(tǒng)的起點,需求分析的結(jié)果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用。</p><p>  需求分析的任務(wù)是通過詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確

54、用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。</p><p>  調(diào)查的重點是“數(shù)據(jù)”和“處理”,通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)的要求如下:</p><p> ?。?)圖像的打開、關(guān)閉及保存:打開并顯示圖像,并在處理過圖像后關(guān)閉或保存圖像的修改。</p><p>  (2)處理要求。指用戶要完成什么處理功能,對處理的響應(yīng)時間有什么要求,處理方式是批處理還是

55、其他處理方式,能夠完成圖像一般的編輯處理。</p><p>  (3)處理效果與效率。圖像處理中一個很重要的問題就是如何表示有關(guān)的知識并以恰當(dāng)?shù)姆绞揭雸D像處理。由于圖像處理任務(wù)的復(fù)雜性,目前要找出一個通用的方法適應(yīng)各種情況是幾乎不可能的。另一方面,在建立普適的圖像處理方法時,往往會忽略某類圖像具有的特定屬性。相反,針對某類特定問題,則可能找到有效的方法。為此,有研究者提出基于對象圖像處理的概念:限定圖像處理的對

56、象為幾類特殊的圖像(JPG,GIF,BMP),考察對象的共有屬性(稱為先驗),并將其結(jié)合到圖像處理的任務(wù)中以提供更多的信息,從而提升圖像處理的性能、提高處理效果。由于圖像的處理是通過對一個個像素點進行處理,要想提高處理速度就需要尋找一個快速的處理方法。 </p><p>  本系統(tǒng)是Windows應(yīng)用程序,可以進行圖像的導(dǎo)入和導(dǎo)出,視圖設(shè)置,附帶和ACD SEE類似功能的圖片編輯器編輯完成以后可以對修改進行保存,

57、可以調(diào)整圖片尺寸,旋轉(zhuǎn)和翻轉(zhuǎn)圖片,圖片增強優(yōu)化,圖像的特效處理以及打印輸出圖片。</p><p>  4.2系統(tǒng)處理流程分析</p><p>  在對系統(tǒng)的組織結(jié)構(gòu)和功能進行分析時,需從一個實際業(yè)務(wù)流程的角度將系統(tǒng)調(diào)查中有關(guān)該業(yè)務(wù)流程的資料都串起來作進一步的分析。業(yè)務(wù)流程分析可以幫助我們了解該業(yè)務(wù)的具體處理過程,發(fā)現(xiàn)和處理系統(tǒng)的調(diào)查工作中的錯誤和疏漏,修改和刪除原系統(tǒng)的不合理部分,在新系統(tǒng)

58、基礎(chǔ)上優(yōu)化業(yè)務(wù)處理流程。</p><p>  業(yè)務(wù)流程圖(transaction flow diagram,簡稱TFD), 就是用一些規(guī)定的符號及連接來表示某個具體的業(yè)務(wù)處理過程,它是用盡可能少、盡可能簡單的方法來描述業(yè)務(wù)處理過程的方法,由于它的符號簡單明了,所以非常易于閱讀和理解業(yè)務(wù)流程。</p><p>  通過對系統(tǒng)的需求分析,系統(tǒng)的基本功能已經(jīng)確定。整個系統(tǒng)各個模塊的業(yè)務(wù)

59、流程,如圖4-1所示: </p><p>  圖4-1 業(yè)務(wù)流程圖</p><p><b>  5 系統(tǒng)總體設(shè)計</b></p><p>  5.1系統(tǒng)功能模塊劃分</p><p>  數(shù)字圖像處理系統(tǒng)的總體功能模塊如圖4-1所示:</p><p>  圖 5-1 數(shù)字圖像處理功能模塊劃分<

60、/p><p>  模塊設(shè)計是對處理流程圖的注釋性書面文件,以幫助程序設(shè)計人員進一步了解模塊的功能和設(shè)計要求,本系統(tǒng)采用C++語言開發(fā),由于計算機的硬件和軟件發(fā)展日新月異,所以對這種語言利用的過程,也是不斷學(xué)習(xí)的過程。</p><p>  數(shù)字圖像處理系統(tǒng)主要分為三個子模塊,即文件操作模塊、圖像編輯模塊、圖像處理模塊模塊。</p><p>  系統(tǒng)的具體的模塊設(shè)計如下:&

61、lt;/p><p>  1.文件操作:該模塊主要實現(xiàn)圖像的文件操作,包括打開圖像文件、保存圖像文件、圖像文件的打印等操作。</p><p>  2.圖像編輯:該模塊主要實現(xiàn)圖像的編輯操作,包括圖像的復(fù)制、圖像的粘貼、在圖像中添加文字信息等操作。</p><p>  3.圖像操作:該模塊主要實現(xiàn)圖像的特殊處理與縮放處理,包括圖像的點運算、圖像的幾何變換、圖像的增強和復(fù)原處

62、理、圖像的邊緣檢測和分割、圖像編碼圖像的特效處理等操作。</p><p><b>  5.2類的設(shè)計</b></p><p>  圖5-2 對話框類表</p><p>  MFC類庫中實現(xiàn)了對GDI位圖操作的CBitmap類,但是沒有封裝處理DIB(Device-Independent Bitmap 設(shè)備無關(guān)位圖)位圖操作的相關(guān)Windows

63、API類,CMyDIB類就是采用面向?qū)ο蟮乃枷雽崿F(xiàn)了對該類函數(shù)以及數(shù)字圖像處理算法的封裝。實現(xiàn)的功能主要有以下幾個方面:</p><p> ?。?)讀取BMP圖像文件;</p><p>  (2)獲取圖像的相關(guān)信息;</p><p><b> ?。?)顯示圖像;</b></p><p><b>  (4)保存圖

64、像;</b></p><p>  (5)圖像處理的各種算法實現(xiàn)。</p><p>  CBmpShow、CRectTrackerEx類主要是實現(xiàn)了圖像文本的插入處理。</p><p><b>  5.3系統(tǒng)框架類</b></p><p>  CJiaApp、CJiaDoc、CJiaView、CMainFram

65、e、CChildFrame五個類主要實現(xiàn)了應(yīng)用程序的框架及框架內(nèi)部的各種邏輯、消息響應(yīng)機制。</p><p><b>  6 系統(tǒng)的詳細設(shè)計</b></p><p>  根據(jù)前面對系統(tǒng)所需實現(xiàn)功能的分析和系統(tǒng)結(jié)構(gòu)設(shè)計,現(xiàn)將對系統(tǒng)進行詳細設(shè)計,逐步實現(xiàn)系統(tǒng)的各個功能模塊。</p><p>  6.1文件模塊的設(shè)計</p><p

66、><b> ?。?)文件操作模塊</b></p><p>  文件操作模塊是整個系統(tǒng)中最基本的組成成分。文件操作模塊主要實現(xiàn)圖像文件的打開、打印、修改后的保存以及圖像文件的另存為操作。</p><p>  通過對用戶的需求分析得出文件操作模塊的功能結(jié)構(gòu)圖,文件操作模塊的功能結(jié)構(gòu)圖如圖6-1所示:</p><p>  圖6-1 文件操作模塊

67、功能結(jié)構(gòu)圖</p><p>  應(yīng)用程序的的啟動界面如圖6-2所示:</p><p>  圖6-2 圖像啟動界面</p><p>  程序的啟動界面由CSplashWnd類實現(xiàn),在CSplashWnd類中的OnCreate函數(shù)中的定時器SetTimer(1, 2750, NULL)設(shè)置的定時間隔就是啟動畫面的顯示的時間,該系統(tǒng)設(shè)置的顯示時間是2750ms,然后發(fā)送W

68、M_TIMER消息,隱藏啟動畫面;如果系統(tǒng)收到鍵盤或者鼠標(biāo)單擊消息時也會自動隱藏啟動畫面。</p><p>  (2)文件打開功能的實現(xiàn),其文件打開界面如圖6-3所示:</p><p>  圖6-3文件打開界面</p><p>  通過文檔—視圖結(jié)構(gòu)簡化了數(shù)據(jù)操作和數(shù)據(jù)顯示,文檔只負責(zé)數(shù)據(jù)管理,不涉及用戶界面;視只負責(zé)數(shù)據(jù)輸出和用戶界面的交互,可以不考慮應(yīng)用程序的數(shù)

69、據(jù)是如何組織的。通過文檔JDoc類中的OnOpenDocument(LPCTSTR lpszPathName)函數(shù)實現(xiàn)對文件的打開,而在視圖JiaView類中實現(xiàn)圖像的顯示。</p><p><b> ?。?)圖像的保存 </b></p><p>  圖像的保存也是在文檔類實現(xiàn),首先聲明了CMyDIB類的指針變量m_pDibImage,經(jīng)過保存對話框后,程序接下來調(diào)用

70、成員函數(shù)m_pDibImage->SaveDIB(m_hDIB, file)將圖像存為指定文件。另外,一旦將文件更名保存,就需要將該圖像所屬的子窗口標(biāo)題欄中的標(biāo)題更名為新的文件名,此項任務(wù)由成員函數(shù)pChildFrame->SetWindowText()負責(zé)。</p><p><b> ?。?)圖像的打印</b></p><p>  圖像的打印實現(xiàn),通過I

71、sPrinting()函數(shù)判斷CDC對象是否是指向設(shè)備上向下文環(huán)境的對象,如果是,則執(zhí)行如下代碼實現(xiàn)打?。?lt;/p><p>  // 獲取打印頁面的水平寬度(象素)</p><p>  int cxPage = pDC->GetDeviceCaps(HORZRES);</p><p>  // 獲取打印頁面的垂直高度(象素)</p><

72、;p>  int cyPage = pDC->GetDeviceCaps(VERTRES);</p><p>  // 獲取打印機每英寸象素數(shù)</p><p>  int cxInch = pDC->GetDeviceCaps(LOGPIXELSX);</p><p>  int cyInch = pDC->GetDeviceCaps(

73、LOGPIXELSY);</p><p>  // 計算打印圖像大小(縮放,根據(jù)頁面寬度調(diào)整圖像大小)</p><p>  rcDest.top = rcDest.left = 0;</p><p>  rcDest.bottom = (int)(((double)cyDIB * cxPage * cyInch)</p><p>  / ((

74、double)cxDIB * cxInch));</p><p>  rcDest.right = cxPage;</p><p>  // 計算打印圖像位置(垂直居中)</p><p>  int temp = cyPage - (rcDest.bottom - rcDest.top);</p><p>  rcDest.bottom +=

75、 temp/2;</p><p>  rcDest.top += temp/2;</p><p><b>  6.2圖像編輯模塊</b></p><p>  圖像編輯模塊是圖像處理系統(tǒng)中重要模塊,主要實現(xiàn)圖像文件的編輯操作。包括圖像的復(fù)制、粘貼以及在圖像中插入文本操作。</p><p>  圖像編輯模塊的功能結(jié)構(gòu)如圖6-

76、4所示:</p><p><b>  圖6-4功能結(jié)構(gòu)圖</b></p><p>  圖像編輯主要實現(xiàn)對圖像的編輯,用戶在打開圖像之后可以選擇復(fù)制圖像或者剪切圖像,如果想要把復(fù)制的圖像保存下來就需要先將圖片保存到剪貼板后進行圖像粘貼,保存操作,這樣就可以把原來圖像中的一部分保存下來。如果需要添加一些說明性文字可以進行文本的插入,單擊編輯/添加字體調(diào)出文本插入對話框,進

77、行文本插入說明,這樣可以把圖像的描述信息添加到圖像中。插入文本實現(xiàn)了在圖像中任意位置插入文字,沒有實現(xiàn)字體和顏色的設(shè)置。</p><p>  插入文本的代碼如下所示:</p><p>  void CBmpShow::PaintBmpAndText()</p><p>  {//繪制圖像和文字</p><p>  SetDIBits(m_pM

78、emDC->GetSafeHdc(), (HBITMAP)m_pMemBmp->m_hObject, </p><p>  0,m_lpBMPHdr->biHeight,(LPVOID)m_lpDIBits,(BITMAPINFO*)m_lpBMPHdr, DIB_RGB_COLORS);</p><p>  if (m_strBmpText.GetLength() &g

79、t; 0)</p><p><b>  {</b></p><p>  CRect rcText = m_textTracker.m_rect - m_rcDraw.TopLeft();</p><p>  m_pMemDC->SetBkMode(TRANSPARENT);</p><p><b> 

80、 //設(shè)置字體</b></p><p>  m_pMemDC->SetTextColor(RGB(250, 0,0));</p><p>  rcText.OffsetRect(1, 1);</p><p>  //根據(jù)矩形的寬度,插入換行符</p><p>  CString strText = NewLineStrin

81、g(m_strBmpText, rcText);</p><p>  // Call this member function to format text in the given rectangle</p><p>  m_pMemDC->DrawText(strText, rcText, DT_LEFT|DT_WORDBREAK);}</p><p> 

82、 圖像文本插入界面如圖6-5所示:</p><p>  圖6-5文本插入界面</p><p><b>  6.3圖像處理模塊</b></p><p>  圖像處理模塊主要是實現(xiàn)灰度圖像的處理,因為灰度圖像的每個像素的位數(shù)正好是8位,即一個字節(jié),這樣,在進行圖像處理時可以不用考慮拼湊字節(jié)的問題。而且由于灰度圖調(diào)色板的特殊性,進行灰度圖像處理時不必

83、考慮調(diào)色板的問題。這部分的主要功能是圖像的點運算、圖像的幾何運算、圖像的正交變換、圖像的增強、圖像邊緣檢測和分割、圖像編碼。</p><p>  經(jīng)過分析圖像處理的功能,得出圖像處理的功能模塊圖如圖6-6所示:</p><p><b>  圖6-6功能模塊圖</b></p><p>  點運算(Point Operation)是一種及簡單有重要

84、的技術(shù),它能讓用戶改變圖像數(shù)據(jù)占據(jù)的灰度范圍。點運算可以按照預(yù)定的方式改變一副圖像的灰度直方圖。</p><p>  灰度直方圖是數(shù)字圖像處理中一個最簡單、最有用的工具,它描述了一幅圖像的的灰度級內(nèi)容。任何一幅圖像的直方圖都包括了可觀的信息,某些類型的圖像還可由其直方圖完全描述。</p><p>  圖像直方圖運行效果圖如6-7所示:</p><p><b&g

85、t;  圖6-7圖像直方圖</b></p><p>  灰度的線性變換是點運算中最簡單的運算之一,就是將圖像中所有的點的灰度按照線性灰度變換函數(shù)進行變換。反轉(zhuǎn)是灰度線性變化中最常見的一種情形。</p><p>  圖像效果圖反色前與反色后的對比如圖6-8所示:</p><p>  圖6-8圖像反色效果對比圖</p><p>  灰

86、度的閥值變換比較簡單,容易實現(xiàn),可以將一副灰度圖像轉(zhuǎn)換成黑白二值圖像。如果圖像中某像素的灰度值小于該閥值,則將該像素的灰度值設(shè)為0,否則灰度值設(shè)為255。</p><p>  設(shè)置閥值為100的閥值變換前后的圖像如圖5-9所示:</p><p>  圖6-9閥值變換前后圖</p><p><b>  灰度拉伸</b></p>&l

87、t;p>  灰度拉伸是分段進行線性變換,可以更加靈活的控制輸出灰度直方圖的分布,它可以有選擇的拉伸某段灰度區(qū)間以改善輸出圖像。如果一幅圖像灰度集中在較暗的區(qū)域而導(dǎo)致圖像偏暗,可以用灰度拉伸功能來拉伸(斜率>1)物體灰度區(qū)間一改善圖像;同樣如果灰度集中在較亮的區(qū)域而導(dǎo)致圖像偏亮,也可用灰度拉伸功能來壓縮(斜率<1)物體灰度區(qū)間來改善圖像質(zhì)量。</p><p>  實現(xiàn)灰度拉伸的算法如下:</

88、p><p>  BOOL CMyDIB::GrayStretch(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, </p><p>  BYTE bX1, BYTE bY1, BYTE bX2, BYTE bY2)</p><p>  {unsigned char*lpSrc;// 指向源圖像的指針</p>

89、<p>  LONGi;LONGj;// 循環(huán)變量</p><p>  BYTEbMap[256];// 灰度映射表</p><p>  LONGlLineBytes;// 圖像每行的字節(jié)數(shù)</p><p>  lLineBytes = WIDTHBYTES(lWidth * 8);// 計算圖像每行的字節(jié)數(shù)&

90、lt;/p><p>  // 計算灰度映射表</p><p>  for (i = 0; i <= bX1; i++){</p><p>  if (bX1 > 0) {// 判斷bX1是否大于0(防止分母為0)bMap[i] = (BYTE) bY1 * i / bX1;</p><p><b>  

91、}</b></p><p>  else{ bMap[i] = 0;}</p><p><b>  }</b></p><p>  for (; i <= bX2; i++){</p><p>  if (bX2 != bX1){ // 判斷bX1是否等于bX2(防止分母為0)</p

92、><p>  bMap[i] = bY1 + (BYTE) ((bY2 - bY1) * (i - bX1) / (bX2 - bX1));</p><p><b>  }</b></p><p>  else{ bMap[i] = bY1;}</p><p><b>  }</b></p&g

93、t;<p>  for (; i < 256; i++){</p><p>  if (bX2 != 255){ // 判斷bX2是否等于255(防止分母為0)</p><p>  bMap[i] = bY2 + (BYTE) ((255 - bY2) * (i - bX2) / (255 - bX2));</p><p><

94、;b>  }</b></p><p>  else{ bMap[i] = 255; }</p><p><b>  }</b></p><p>  for(i = 0; i < lHeight; i++){// 每行</p><p>  for(j = 0; j < lWidth;

95、j++){// 每列</p><p>  // 指向DIB第i行,第j個象素的指針</p><p>  lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;// 計算新的灰度值</p><p>  *lpSrc = bMap[*lpSrc];</p><

96、p><b>  }}</b></p><p>  return TRUE;</p><p><b>  }</b></p><p>  灰度拉伸前后如圖6-10所示:</p><p>  圖6-10灰度拉伸圖</p><p>  系統(tǒng)圖像的幾何變換是指原始圖像按照需要

97、產(chǎn)生大小、形狀和位置的變化。使圖像處理和分析的基礎(chǔ)內(nèi)容之一,它不僅提供了產(chǎn)生某些特殊效果圖像的可能,而且可使圖像處理和分析的程序的簡單化,特別是當(dāng)圖像具有一定得規(guī)律時,一個圖像可以由另一個圖像通過幾何變換來實現(xiàn)。</p><p>  圖像鏡像變換不改變圖像的形狀。鏡像變換分為兩種:一種是水平鏡像,另一種是垂直鏡像。圖像的水平鏡像操作是將圖像左半部分和右半部分以圖像垂直中軸線為中心鏡像進行對換,圖像的垂直鏡像操作是

98、將圖像上半部分和下半部分以圖像水平中軸線為中心鏡像進行對換。</p><p>  鏡像變換效果如圖6-11所示:</p><p>  圖6-11鏡像變換效果圖</p><p>  圖像旋轉(zhuǎn)是以圖像中心為中心旋轉(zhuǎn)60度DIB圖像效果如圖6-12所示:</p><p>  圖6-12旋轉(zhuǎn)效果圖</p><p>  圖像的形

99、狀變換(縮放)</p><p>  假設(shè)圖像X軸方向縮放比率fx,y軸方向縮放比率是fy,那么原圖中點(x0,y0)對應(yīng)于新圖中的點(x1,y1)的轉(zhuǎn)換矩陣為:</p><p>  圖6-12 圖像形狀變換矩陣圖</p><p>  例如,當(dāng)fx = fy = 0.5時,圖像被縮到一半大小,此時縮小后圖像中的(0,0)像素,(0,1)像素對應(yīng)于原圖中的(0,2)像素

100、,(1,0)像素對應(yīng)于原圖中的(2,0)像素,以此類推。在原圖基礎(chǔ)上,每行隔一個像素取一點,每隔一行進行操作。同理fx=fy=2時,圖像放大2 倍,放大后圖像中的(0,0)像素對應(yīng)于原圖的(0,0)像素;(0,1)像素對應(yīng)于原圖中的(0,0.5),該像素不存在,可以近似為(0,0)也可近似為(0,1),(0,2)像素對應(yīng)于原圖中的(0,1)像素,以此類推。其實是將原圖每行中的像素重復(fù)取值一遍,然后每行重復(fù)一次。</p>&

101、lt;p>  圖像參數(shù)設(shè)置及效果圖如圖6-13所示:</p><p><b>  圖6-13圖像縮放</b></p><p>  目前,圖像的正交變換被廣泛地運用于圖像特征提取、圖像增強、圖像復(fù)原、圖像壓縮的領(lǐng)域。而這一部分主要是圖像的頻域處理方法,把圖像信號從空間域變換到頻域,可以從另一個角度來分析圖像信號的特性。圖像的頻域處理最突出的特點是其運算速度高,并可

102、采用已有的二位數(shù)字濾波技術(shù)進行所需的各種圖像處理,因此得到了廣泛的應(yīng)用。數(shù)字圖像的頻域處理最關(guān)鍵的是變換處理,即首先將圖像從空間域變換到頻域,然后進行各種處理,再將所得的結(jié)果進行逆變換,從頻域在變換到空間域,從而達到圖像處理的目的。</p><p>  數(shù)字圖像的頻域處理主要用三種應(yīng)用:1.利用某些頻域變換可以從圖像中提取圖像的特征;2. 利用圖像頻域處理可實現(xiàn)圖像的高效壓縮編碼;3.減小計算維數(shù),使計算運算次數(shù)

103、大大減少,從而提高圖像的處理速度。</p><p>  傅里葉變換、離散余弦變換的處理效果對比如圖5-14所示:</p><p>  圖5-14正交變換效果圖</p><p>  6.4圖像的增強和復(fù)原</p><p>  1)圖像增強的目的是改善圖像的視覺效果,或者使圖像更適合于人或機器進行分析處理。通過圖像增強,可以減少圖像中的噪聲,提高

104、目標(biāo)于背景的對比度,也可以強調(diào)或抑制圖像中的某些細節(jié)。</p><p>  模版操作是數(shù)字圖像處理中經(jīng)常用到的一種運算方式,圖像的平滑、銳化及下部分的圖像邊緣檢測都要用到模版操作。</p><p>  圖像平滑是一種實用的數(shù)字圖像處理技術(shù),主要的目的是為了減少圖像的噪聲。一般情況下,在空間域內(nèi)可以用領(lǐng)域平均來減少噪聲;在頻率域,由于噪聲頻譜通常所在高頻段,因此可以采用各種形式的低通濾波的辦

105、法來減少噪聲。</p><p>  平滑模版的思想是通過一點和周圍幾點的運算來除去突然變化的點,從而濾掉一定的噪聲,但圖像有一定的模糊。</p><p>  中值波濾是一種非線性的信號處理方法,中值濾波器在1971年由J.w.Jukey首先提出并應(yīng)用在一維信號處理技術(shù)中,后來二維圖像信號處理技術(shù)所引用。中值濾波在一定的條件下可以克服線性濾波器如最小均方濾波和均值濾波等帶來的圖像細節(jié)模糊,而

106、且對濾除脈沖干擾及圖像掃描噪聲最為有效。</p><p>  中值波濾一般采用一個含有奇數(shù)個點的滑動窗口,將窗口中個點灰度值的中值來代替指定點的灰度值。對于奇數(shù)個元素,中值是按大小排序后,中間的數(shù)值;對于偶數(shù)個元素,中值是指排序后中間兩個元素灰度值的平均值。</p><p>  效果圖如圖6-15所示:</p><p>  圖6-15中值濾波效果圖</p>

107、;<p>  圖像銳化處理的目的是使模糊的圖像變得更加清晰起來,增強圖像的邊緣等細節(jié)。圖像銳化一般有兩種方法:一種是微分法,另一種是高通濾波法。而本數(shù)字圖像處理系統(tǒng)只是實現(xiàn)了兩種常用的微分銳化方法:梯度銳化和拉普拉斯銳化。</p><p>  梯度銳化閥值的為50,兩種方法的處理效果圖如圖6-16所示:</p><p>  圖6-16圖象銳化效果圖</p>&l

108、t;p>  2)圖像復(fù)原和圖像增強有類似的地方,都是為了改善圖像。但是它們又有明顯的不同,圖像復(fù)原是試圖利用退化過程的先驗知識使已退花的圖像恢復(fù)本來面目,即根據(jù)退化的原因,分析引起退化的環(huán)境因素,建立相應(yīng)的數(shù)學(xué)模型,并沿著使圖像降質(zhì)的逆過程恢復(fù)圖像。由于引起圖象退化的因素眾多而且性質(zhì)不同,為了描述圖像退化過程所建立的數(shù)學(xué)模型往往多種多樣,而恢復(fù)的質(zhì)量標(biāo)準也往往存在差異性,因而圖像恢復(fù)是一個復(fù)雜的數(shù)學(xué)過程,圖像的復(fù)原的方法、技術(shù)也各

109、不相同。</p><p><b>  7 系統(tǒng)調(diào)試</b></p><p>  由于本系統(tǒng)只是實現(xiàn)了灰度圖的處理,所以如果處理真彩色位圖時會有以下提示:目前系統(tǒng)只支持256位圖的處理如圖7-1所示:</p><p><b>  圖7-1出錯圖面</b></p><p>  由于開始對Visual C

110、++的編譯環(huán)境并不是很了解,經(jīng)常會出現(xiàn)內(nèi)存訪問錯誤的提示。如圖7-2所示:</p><p>  圖7-2出錯提示界面</p><p>  例如在對圖像平滑對話框設(shè)置時,在resource.h出現(xiàn)了漏定義現(xiàn)象:</p><p>  #define IDC_EDIT_V19 1038</p><p>  #d

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論