畢業(yè)設(shè)計(jì) 圖像銳化處理設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p><b>  第一章 前言3</b></p><p><b>  第二章 緒論5</b></p><p>  2.1 研究的目的及意義5</p><p>  2.2 國(guó)內(nèi)外研究現(xiàn)狀6</p>&l

2、t;p>  2.2.1 國(guó)外研究現(xiàn)狀6</p><p>  2.2.2 國(guó)內(nèi)研究現(xiàn)狀7</p><p>  2.3 本文主要研究?jī)?nèi)容與結(jié)構(gòu)安排8</p><p>  第三章 算法分析與描述9</p><p>  3.1 數(shù)字圖像處理簡(jiǎn)介9</p><p>  3.1.1 數(shù)字圖像處理的特點(diǎn)9</

3、p><p>  3.1.2 數(shù)字圖像處理的目的和主要內(nèi)容10</p><p>  3.2 VC++簡(jiǎn)介13</p><p>  3.2.1 Visual C++開(kāi)發(fā)語(yǔ)言的特點(diǎn)13</p><p>  3.2.2 Visual C++ 6.0 的特點(diǎn)14</p><p>  3.2.3 Visual C++ 6.0

4、及其開(kāi)發(fā)環(huán)境16</p><p>  3.3 本章小結(jié)17</p><p>  第四章 算法分析與描述18</p><p>  4.1 空域微分銳化方法18</p><p>  4.1.1拉普拉斯微分算子函數(shù)20</p><p>  4.1.2 Roberts交叉微分算子函數(shù)22</p>&l

5、t;p>  4.1.3 Prewitt微分算子函數(shù)(平均差分法)23</p><p>  4.1.4 Sobel微分算子函數(shù)(加權(quán)平均差分法)24</p><p>  4.2 頻域高通濾波銳化方法26</p><p>  4.2.1理想高通濾波器26</p><p>  4.2.2巴特沃思高通濾波器26</p>

6、<p>  4.2.3指數(shù)高通濾波器26</p><p>  第五章 詳細(xì)設(shè)計(jì)過(guò)程28</p><p>  5.1微分算子圖像銳化編程實(shí)現(xiàn)說(shuō)明28</p><p>  5.2理想高通濾波圖像銳化編程實(shí)現(xiàn)說(shuō)明34</p><p>  5.3 Butterworth 高通濾波圖像銳化編程實(shí)現(xiàn)說(shuō)明41</p>&l

7、t;p>  5.4 程序運(yùn)行中的圖像48</p><p><b>  設(shè)計(jì)總結(jié)51</b></p><p><b>  參考文獻(xiàn)52</b></p><p><b>  致 謝54</b></p><p><b>  第一章 前言</b>&l

8、t;/p><p>  圖像是人類獲取和交換信息的主要來(lái)源,因此,圖像處理的應(yīng)用領(lǐng)域必然涉及到人類生活和工作的方方面面。隨著人類活動(dòng)范圍的不斷擴(kuò)大,圖像處理的應(yīng)用領(lǐng)域也將隨之不斷擴(kuò)大。</p><p>  數(shù)字圖像處理(Digital Image Processing)又稱為計(jì)算機(jī)圖像處理,它是指將圖像信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)并利用計(jì)算機(jī)對(duì)其進(jìn)行處理的過(guò)程。 </p><

9、;p>  數(shù)字圖像處理主要研究以下內(nèi)容: 圖像幾何變換;如傅立葉變換、沃爾什變換、離散余弦變換等;圖象銳化處理;圖像編碼壓縮;圖像增強(qiáng)和復(fù)原;圖像分割;圖像描述;圖像分類(識(shí)別)。</p><p>  在圖像增強(qiáng)過(guò)程中,通常利用各類圖像平滑算法消除噪聲,圖像的常見(jiàn)噪聲主要有加性噪聲、乘性噪聲和量化噪聲等。一般來(lái)說(shuō),圖像的能量主要集中在其低頻部分,噪聲所在的頻段主要在高頻段,同時(shí)圖像邊緣信息也主要集中在其高頻

10、部分。這將導(dǎo)致原始圖像在平滑處理之后,圖像邊緣和圖像輪廓模糊的情況出現(xiàn)。</p><p>  為了減少這類不利效果的影響,就需要利用圖像銳化技術(shù),使圖像的邊緣變得清晰。圖像銳化處理的目的是為了使圖像的邊緣、輪廓線以及圖像的細(xì)節(jié)變得清晰,經(jīng)過(guò)平滑的圖像變得模糊的根本原因是因?yàn)閳D像受到了平均或積分運(yùn)算,因此可以對(duì)其進(jìn)行逆運(yùn)算(如微分運(yùn)算)就可以使圖像變得清晰。從頻率域來(lái)考慮,圖像模糊的實(shí)質(zhì)是因?yàn)槠涓哳l分量被衰減,因此

11、可以用高通濾波器來(lái)使圖像清晰。但要注意能夠進(jìn)行銳化處理的圖像必須有較高的性噪比,否則銳化后圖像性噪比反而更低,從而使得噪聲增加的比信號(hào)還要多,因此一般是先去除或減輕噪聲后再進(jìn)行銳化處理。</p><p><b>  第二章 緒論</b></p><p>  2.1 研究的目的及意義</p><p>  圖像是人類獲取信息、表達(dá)信息和傳遞信息的重

12、要手段。人出生以后第一次睜開(kāi)眼睛,首先接收的就是各種各樣的圖像信息,因此有人說(shuō),圖像與生俱來(lái)是人類生活中最直觀、最豐富和最生動(dòng)的信息表示形式。國(guó)外學(xué)者曾做過(guò)統(tǒng)計(jì),人們從外界所獲取的信息有70%以上來(lái)自于視覺(jué)攝取的圖像,與文字或者語(yǔ)言信息相比,圖像包含的信息量更大,具有更廣泛的適用性和更高的使用效率。在當(dāng)今科學(xué)技術(shù)迅速發(fā)展的時(shí)代,人們?cè)絹?lái)越多的利用圖像信息來(lái)認(rèn)識(shí)和判斷事物,解決實(shí)際問(wèn)題。</p><p>  一幅靜

13、態(tài)圖像可以用一個(gè)二維函數(shù) f (x, y)來(lái)表示,這里x和y 表示二維空間中坐標(biāo)點(diǎn)的位置,而f 則代表圖像在點(diǎn)(x, y)的某種性質(zhì)的數(shù)值。例如常用的圖像一般是灰度圖,這時(shí)f表示灰度值,對(duì)應(yīng)客觀圖像被觀察到的亮度。常見(jiàn)的圖像是連續(xù)的,即f (x, y)的值可以是任意實(shí)數(shù)。為了適應(yīng)數(shù)字計(jì)算機(jī)的處理,必須對(duì)連續(xù)圖像函數(shù)進(jìn)行空間和幅度數(shù)字化,經(jīng)過(guò)數(shù)字化后的圖像稱為數(shù)字圖像。數(shù)字圖像是由有限的元素組成的,每個(gè)元素都有一個(gè)特定的位置和幅值,這些元

14、素稱為圖像元素或像素。而數(shù)字圖像處理是指借用數(shù)字計(jì)算機(jī)處理數(shù)字圖像。</p><p>  數(shù)字圖像一般可以通過(guò)以下三種途徑獲取:</p><p> ?。?)直接由二維離散數(shù)學(xué)函數(shù)生成數(shù)字圖像。</p><p> ?。?)將模擬圖像、物理圖像等可見(jiàn)圖像經(jīng)過(guò)數(shù)字化處理轉(zhuǎn)換為數(shù)字圖像,例如將一幅照片通過(guò)掃描儀輸入到計(jì)算機(jī)中,掃描的過(guò)程實(shí)質(zhì)上就是一個(gè)數(shù)字化過(guò)程。</p

15、><p> ?。?)應(yīng)用光電轉(zhuǎn)換設(shè)備可以直接得到數(shù)字圖像,例如數(shù)字相機(jī)使用CCD器件記錄影像,然后把CCD器件的電子信號(hào)轉(zhuǎn)換成數(shù)碼信號(hào),并把所得到的數(shù)字圖像存入存儲(chǔ)器中。</p><p>  無(wú)論采取哪種方式所獲取的數(shù)字圖像在數(shù)學(xué)上都是一個(gè)二維矩陣,因此,數(shù)字圖像處理的實(shí)質(zhì)是將原始圖像變?yōu)槟繕?biāo)圖像的過(guò)程,實(shí)質(zhì)上是由一個(gè)矩陣變?yōu)榱硪粋€(gè)矩陣的數(shù)學(xué)過(guò)程。不管是圖像的放縮、圖像的幾何變換、圖像的灰度變

16、換還是離散余弦等正交變換,本質(zhì)上都是基于圖像矩陣的數(shù)學(xué)運(yùn)算。</p><p>  獲取圖像信息的目的不僅僅只是為了獲取圖像,更為主要的是對(duì)圖像信息進(jìn)行加工處理,以滿足我們的視覺(jué)心理或者應(yīng)用需求。因此,從某種意義上講,對(duì)圖像信息進(jìn)行處理比圖像獲取更為重要。圖像處理一般是指數(shù)字圖像處理,所謂數(shù)字圖像處理就是指對(duì)一個(gè)物體的數(shù)學(xué)表示,即對(duì)一個(gè)二維矩陣施加一系列的操作,以得到所期望的結(jié)果。雖然某些處理也可以用光學(xué)方法或模擬

17、技術(shù)實(shí)現(xiàn),但它們遠(yuǎn)不及數(shù)字圖像處理那樣靈活和方便,因而數(shù)字圖像處理成為圖像處理的主要方面。</p><p>  2.2 國(guó)內(nèi)外研究現(xiàn)狀</p><p>  2.2.1 國(guó)外研究現(xiàn)狀</p><p>  圖像處理軟件是用于處理圖像信息的各種應(yīng)用軟件的總稱,現(xiàn)在國(guó)外比較流行的數(shù)字圖像處理軟件品種繁多。例如美國(guó)Math Works公司出品的MATLAB軟件,功能十分強(qiáng)大,

18、它主要應(yīng)用于工程計(jì)算、信號(hào)處理與通訊、圖像處理等領(lǐng)域。MATLAB之所以稱為世界流行的科學(xué)計(jì)算與數(shù)學(xué)應(yīng)用軟件,是因?yàn)樗兄鴱?qiáng)大的矩陣運(yùn)算和處理功能,具體表現(xiàn)在強(qiáng)大的數(shù)值計(jì)算功能、數(shù)據(jù)分析和科學(xué)計(jì)算可視化功能、強(qiáng)大的符號(hào)計(jì)算功能、強(qiáng)大的非線性動(dòng)態(tài)系統(tǒng)建模和仿真功能、靈活的程序接口功能等方面。而數(shù)字圖像處理與矩陣運(yùn)算具有密切的聯(lián)系,并且MATLAB圖像處理工具箱提供了豐富的圖像處理函數(shù),熟練使用這些函數(shù)可以完成幾乎所有的圖像處理工作。應(yīng)用M

19、ATLAB進(jìn)行數(shù)字圖像處理可以節(jié)省大量編寫低層算法源代碼的時(shí)間,避免程序設(shè)計(jì)中的重復(fù)勞動(dòng),達(dá)到事半功倍的效果。另外,新版本的MATLAB在圖形用戶界面(GUI)的制作上作了很大的改善。MATLAB的不足之處是運(yùn)行程序時(shí)需要安裝有MATLAB系統(tǒng),可移植性能差,應(yīng)用不方便,執(zhí)行速度慢。</p><p>  Microsoft Visual C++,簡(jiǎn)稱MSVC、VC++,是微軟公司的C++開(kāi)發(fā)工具,具有可視化的集成

20、開(kāi)發(fā)環(huán)境,稱為Visual Studio。具有編輯C 語(yǔ)言,C++等編程語(yǔ)言的能力,從傳統(tǒng)的Windows API 編程到MFC 編程、再到基于組件的編程,Visual C++都為之提供了方便的設(shè)計(jì)工具,幾乎能夠完成Windows 各個(gè)方面的應(yīng)用。自1993 年Microsoft 公司推出Visual C++1.0 后,隨著其新版本的不斷問(wèn)世,所開(kāi)發(fā)出來(lái)的應(yīng)用程序運(yùn)行速度快,代碼執(zhí)行效率高,并具有一定的可移植性能。因此,Visual C

21、++已成為專業(yè)程序員進(jìn)行軟件開(kāi)發(fā)的首先工具。目前最新的版本是Microsoft Visual C++ 2008,Visual C++ 6.0 是其經(jīng)典版本。</p><p>  Photoshop是Adobe公司開(kāi)發(fā)的世界上最優(yōu)秀的平面圖像處理軟件之一,集圖像掃描、編輯修改、圖像制作、廣告創(chuàng)意,圖像輸入與輸出與一體,在圖像處理及平面設(shè)計(jì)領(lǐng)域里,Photoshop一直都以界面美觀,操作方便,在圖像處理和電腦繪圖軟件

22、領(lǐng)域里獨(dú)占鰲頭。Photoshop的功能非常強(qiáng)大,它支持多種圖像格式和顏色模式,能同時(shí)進(jìn)行多色層處理。其繪畫(huà)功能和選取功能能使圖像編輯變得十分方便,圖像變形功能可用來(lái)制作特殊的視覺(jué)效果。Photoshop還采用開(kāi)放式的結(jié)構(gòu),能接受常用的圖像輸入設(shè)備。目前最新版本Adobe Photoshop CS4除了包含Adobe Photoshop CS3的所有功能外,還增加了3D和視頻流、動(dòng)畫(huà)、深度圖像分析等。</p><p&

23、gt;  Ulead公司的PhotoImpact是一款以個(gè)人用戶多媒體應(yīng)用為主的圖像處理軟件,其主要功能是改善相片品質(zhì),進(jìn)行簡(jiǎn)易的相片處理并支持位圖圖像和矢量圖像的無(wú)縫組合,打造3D效果以及在網(wǎng)頁(yè)圖像方面的應(yīng)用。它內(nèi)置的各種效果要比Photoshop更加方便。</p><p>  Painter是一款由加拿大Corel公司開(kāi)發(fā)的圖形圖像軟件,是最優(yōu)秀的電腦繪畫(huà)軟件之一,它結(jié)合了photoshop為代表的位圖圖像軟

24、件和Illustrator freehand等為代表的矢量圖形軟件的功能和特點(diǎn),在圖像編輯合成、特效制作、二維繪圖等方面均有突出表現(xiàn)。</p><p>  2.2.2 國(guó)內(nèi)研究現(xiàn)狀</p><p>  國(guó)內(nèi)在此領(lǐng)域的研究中最具有代表性的是夢(mèng)幻科技推出的彩影圖形處理和相片制作軟件,彩影擁有非常智能、傻瓜而功能強(qiáng)大的圖像處理、修復(fù)和合成功能。解決了國(guó)內(nèi)外圖像處理軟件過(guò)于復(fù)雜、不易操作的問(wèn)題,讓

25、所有用戶不需要專業(yè)的圖像美工技能即可輕松點(diǎn)擊并制作出絢麗多彩的圖像特效圖。另外,光影魔術(shù)手也是國(guó)內(nèi)最受歡迎的圖像處理軟件之一,被《電腦報(bào)》、天極、PCHOME等多家權(quán)威媒體及網(wǎng)站評(píng)為2007年最佳圖像處理軟件。其簡(jiǎn)單、易用,每個(gè)人都能制作精美相框,藝術(shù)照,專業(yè)膠片效果,而且完全免費(fèi),不需要任何專業(yè)的圖像技術(shù)。其功能主要表現(xiàn)在圖片美容、攝影作品的后期處理方面。</p><p>  新一代在線圖像編輯軟件OPCOL是

26、國(guó)內(nèi)領(lǐng)先的在線圖像處理系統(tǒng),它采用最新Flash技術(shù)開(kāi)發(fā),不用下載任何插件,只需flash10的支持即可實(shí)現(xiàn)在線圖片編輯,可無(wú)縫嵌入主流瀏覽器,具有文件體積小速度快,兼容各種瀏覽器等特點(diǎn);適于各種自動(dòng)在線圖片編輯的場(chǎng)合使用,是未來(lái)網(wǎng)站的一個(gè)新功能和亮點(diǎn),滿足您的創(chuàng)新需求,解決網(wǎng)站在線圖片編輯難題;通過(guò)本編輯軟件提供豐富的接口,能與JSP,PHP,ASP等動(dòng)態(tài)編程語(yǔ)言完美接口,方便集成,系統(tǒng)數(shù)據(jù)交互采用標(biāo)準(zhǔn)的HTTP協(xié)議。</p&g

27、t;<p>  2.3 本文主要研究?jī)?nèi)容與結(jié)構(gòu)安排</p><p>  本文主要設(shè)計(jì)的內(nèi)容是:</p><p>  理解分析空域微分銳化方法。</p><p>  理解分析圖像頻域高通濾波銳化方法,特別是理想高通濾波器法、Butterworth濾波器法和指數(shù)形濾波器法。</p><p>  在VC中代碼實(shí)現(xiàn)以上算法,并通過(guò)調(diào)試,

28、得到所給圖像的變換結(jié)果。</p><p>  本文以下的內(nèi)容是這樣安排的:</p><p>  第三章主要講述了數(shù)字圖像的特點(diǎn)及信息;第四章主要講述了圖像銳化處理的方法;第五章主要是VC++編程實(shí)現(xiàn)了人機(jī)軟件界面;而后為總結(jié)與展望,對(duì)本課題進(jìn)行了總結(jié)和對(duì)課題的展望。</p><p>  第三章 算法分析與描述</p><p>  3.1 數(shù)

29、字圖像處理簡(jiǎn)介</p><p>  數(shù)字圖像處理是指用計(jì)算機(jī)對(duì)數(shù)字圖像進(jìn)行的處理,因此也成為計(jì)算機(jī)圖像處理。由于數(shù)字圖像在數(shù)學(xué)上是一個(gè)二維矩陣,所以數(shù)字圖像處理又可以描述為對(duì)一個(gè)二維矩陣施加一系列操作,以得到所期望的結(jié)果。與之相對(duì)應(yīng)的是模擬圖像處理(Analog Image Processing),它包括:電子處理和光學(xué)處理,如電視信號(hào)處理、遙感圖像處理等都是對(duì)模擬信號(hào)進(jìn)行處理的過(guò)程,模擬圖像處理一般為實(shí)時(shí)處理。

30、它的特點(diǎn)是速度快、精度差、靈活性差。</p><p>  3.1.1 數(shù)字圖像處理的特點(diǎn)</p><p><b> ?。?)信息量大</b></p><p>  由于數(shù)字圖像在計(jì)算機(jī)中采用二維矩陣表示和存儲(chǔ),所以其信息量很大。比如對(duì)一幅由512×512個(gè)像素組成的電視圖像,其灰度級(jí)用8比特的二進(jìn)制數(shù)來(lái)表示,其信息量為</p>

31、;<p>  512×512×8 = 256KB</p><p>  對(duì)于這樣大信息量的圖像,雖然我們可以獲取較多的信息,但是如果要對(duì)此圖像進(jìn)行處理,我們必須要用具有相當(dāng)大內(nèi)存和存儲(chǔ)器的計(jì)算機(jī)。</p><p> ?。?)數(shù)字圖像占用的頻帶較寬</p><p>  數(shù)字圖像信息占用的頻帶要比語(yǔ)音信息大幾個(gè)數(shù)量級(jí)。如語(yǔ)音帶寬約為4KH

32、z,而電視圖像的帶寬卻為5.6MHz 左右。所以在成像、傳輸、存儲(chǔ)、處理、顯示等各個(gè)環(huán)節(jié)的實(shí)現(xiàn)上,技術(shù)難度較大,成本亦高,這就對(duì)頻帶壓縮技術(shù)提出了更高的要求。</p><p> ?。?)數(shù)字圖像像素間相關(guān)性大</p><p>  數(shù)字圖像中各個(gè)像素的灰度并不是獨(dú)立的,其間的相關(guān)性很大,就電視畫(huà)面而言,同一幀各相鄰像素間的相關(guān)系數(shù)可達(dá)0.9 以上,而相鄰兩幀之間的相關(guān)性比幀內(nèi)相關(guān)性一般還要大

33、些,因此圖像信息具有很大的可壓縮性。如果在圖像通信領(lǐng)域中,能夠充分利用數(shù)字圖像的這一特性,將大大提高圖像處理和傳輸?shù)男省?lt;/p><p> ?。?)再現(xiàn)性好、適用面寬</p><p>  由于數(shù)字圖像在計(jì)算機(jī)中采用二維矩陣表示和存儲(chǔ),這樣計(jì)算機(jī)容易處理。因此,在傳送和復(fù)制圖像時(shí),只在計(jì)算機(jī)內(nèi)部進(jìn)行處理,這樣數(shù)據(jù)就不會(huì)丟失或遭破壞,保持了完好的再現(xiàn)性。這一點(diǎn)在模擬圖像處理中,幾乎是很難實(shí)現(xiàn)

34、的。另外,對(duì)于數(shù)字圖像處理來(lái)說(shuō),圖像可以來(lái)自多種信息源,它們可以是可見(jiàn)光圖像,也可以是不可見(jiàn)的多光普?qǐng)D像;可以是電子顯微鏡圖像,也可以是遙感圖像甚至天文望遠(yuǎn)鏡圖像。只要對(duì)這些來(lái)自不同信息源的圖像數(shù)字化后,都可以采用計(jì)算機(jī)來(lái)處理。</p><p> ?。?)圖像信息的視覺(jué)效果主觀性大、識(shí)別困難</p><p>  經(jīng)過(guò)處理后的圖像一般是給人觀察和評(píng)價(jià)的,因此受人的主觀因素影響較大,比如說(shuō)興趣

35、、視覺(jué)、情緒等。通常情況下,圖像的識(shí)別比較困難。如果要求取圖像上某一區(qū)域的面積,利用計(jì)算機(jī)可以很方便的達(dá)到目的,并且精確度很高;但是要計(jì)算機(jī)識(shí)別某一區(qū)域是什么東西,則十分困難。</p><p> ?。?)圖像處理技術(shù)綜合性強(qiáng)</p><p>  數(shù)字圖像處理涉及的技術(shù)領(lǐng)域相當(dāng)廣泛,如計(jì)算機(jī)技術(shù)、電子技術(shù)、通信技術(shù)等。當(dāng)然,數(shù)學(xué)、物理學(xué)等領(lǐng)域更是數(shù)字圖像處理的基礎(chǔ)。并且在數(shù)字圖像處理中涉及到

36、硬件、軟件、接口、網(wǎng)絡(luò)等多項(xiàng)技術(shù)。總而言之,數(shù)字圖像處理技術(shù)的發(fā)展涉及越來(lái)越多的基礎(chǔ)理論知識(shí),它是一項(xiàng)涉及多學(xué)科的綜合性技術(shù)。</p><p>  3.1.2 數(shù)字圖像處理的目的和主要內(nèi)容</p><p>  數(shù)字圖像處理就是利用計(jì)算機(jī)系統(tǒng)對(duì)數(shù)字圖像進(jìn)行各種特定的處理。通常情況下,對(duì)圖像進(jìn)行處理主要以下3 個(gè)目的:</p><p>  一是提高圖像的可觀性,以獲得所

37、期望的結(jié)果。例如如對(duì)圖像進(jìn)行灰度變換、幾何變換、濾波等從而改善圖像的質(zhì)量以達(dá)到所需的、清晰的效果;二是對(duì)圖像數(shù)據(jù)進(jìn)行編碼和壓縮,以便于解決數(shù)據(jù)量與存儲(chǔ)和傳輸?shù)拿?。三是特征提取,以便于?jì)算機(jī)進(jìn)行圖像分析。比如常用作模式識(shí)別的預(yù)處理,這就涉及到特征參數(shù)的提取問(wèn)題。</p><p>  不管圖像處理是何種目的,都需要計(jì)算機(jī)系統(tǒng)對(duì)圖像數(shù)據(jù)進(jìn)行輸入、分析加工和輸出,因此數(shù)字圖像處理研究的內(nèi)容主要有以下幾個(gè)方面:</

38、p><p> ?。?)圖像數(shù)字化:圖像數(shù)字化是將一幅圖像從其原來(lái)的形式轉(zhuǎn)換為數(shù)字形式的處理過(guò)程。轉(zhuǎn)換是不失真的,即原始圖像未被破壞掉。數(shù)字化過(guò)程包括掃描、采樣和量化三個(gè)步驟。所謂掃描是按照一定的先后順序?qū)σ环鶊D像進(jìn)行遍歷的過(guò)程;采樣是將在空間上連續(xù)分布的圖像轉(zhuǎn)換成離散的圖像點(diǎn);量化是將采樣得到的灰度值轉(zhuǎn)換為離散的整數(shù)值。經(jīng)過(guò)這三個(gè)步驟,可以得到一幅數(shù)字圖像。</p><p> ?。?)圖像增強(qiáng)

39、:圖像增強(qiáng)用以改善供人觀看的圖像的主觀質(zhì)量。當(dāng)無(wú)法知道圖像質(zhì)量下降的原因時(shí),可以采用圖像增強(qiáng)技術(shù)來(lái)改善圖像的質(zhì)量。由于圖像增強(qiáng)技術(shù)是用于改善圖像視感質(zhì)量而不是針對(duì)某種退化所采取的一種方法,所以很難預(yù)測(cè)哪一種特定技術(shù)才是最好的,只能通過(guò)實(shí)驗(yàn)和分析誤差來(lái)選擇一種合適的方法。況且接受者是人,處理結(jié)果質(zhì)量的好壞就受觀看者的心理、情緒、愛(ài)好等主觀因素的影響,所以效果的評(píng)價(jià)只是相對(duì)的。直方圖修正、邊緣增強(qiáng)等是其常用手段??偟膩?lái)說(shuō),圖像增強(qiáng)以清晰為目

40、標(biāo)。</p><p> ?。?)圖像復(fù)原:與圖像增強(qiáng)相似,圖像復(fù)原的目的也是改善圖像的質(zhì)量。圖像復(fù)原可以看作是圖像退化的逆過(guò)程,是將圖像退化的過(guò)程加以估計(jì),建立退化的數(shù)學(xué)模型后,補(bǔ)償退化過(guò)程造成的失真,以便獲得未經(jīng)干擾退化的原始圖像或原始圖像的最優(yōu)估值,從而改善圖像質(zhì)量。</p><p>  (4)圖像分割:把圖像分成區(qū)域的過(guò)程就是圖像分割。圖像中通常包含多個(gè)對(duì)象,例如,一幅航空照片,可以

41、分割為居民區(qū)、工業(yè)區(qū)、草原和湖泊等區(qū)域。好的圖像分割應(yīng)具備以下三個(gè)特征,一是分割出來(lái)的各區(qū)域?qū)δ撤N特質(zhì)而言具有相似性,區(qū)域內(nèi)部是連通的且沒(méi)有過(guò)多小孔;二是相鄰區(qū)域?qū)Ψ指钏罁?jù)的性質(zhì)有明顯的差異;三是區(qū)域邊界是明確的。但是到目前為止,對(duì)圖像分割的好壞進(jìn)行評(píng)價(jià)還沒(méi)有統(tǒng)一的準(zhǔn)則,因此,圖像分割時(shí)圖像分析和計(jì)算機(jī)視覺(jué)中的經(jīng)典難題。</p><p> ?。?)圖像分析:圖像分析主要是對(duì)圖像中感興趣的目標(biāo)進(jìn)行檢測(cè)和測(cè)量,以獲

42、得它們的客觀信息,從而建立對(duì)圖像的描述。圖像分析分3 步進(jìn)行,即分割、描述和分類。人類視覺(jué)系統(tǒng)的優(yōu)越性,使得人類可以方便的從一幅圖像中找出感興趣的物體或區(qū)域,而對(duì)于計(jì)算機(jī)而言,要做到這一點(diǎn)卻需要給它以客觀測(cè)度,使之按照顏色、灰度等把一些物體或區(qū)域加以分離,這叫分割。再用適當(dāng)?shù)臄?shù)學(xué)語(yǔ)言來(lái)表示已分離區(qū)域或物體的機(jī)構(gòu)與統(tǒng)計(jì)性質(zhì),或表示區(qū)域間的關(guān)系,得出一種簡(jiǎn)練的表達(dá)方式,這稱為描述。圖像經(jīng)分割、描述之后就較容易對(duì)之做進(jìn)一步的分類與識(shí)別處理。如

43、果說(shuō)圖像處理是一個(gè)從圖像到圖像的過(guò)程,則圖像分析就是一個(gè)從圖像到數(shù)據(jù)的過(guò)程。這里的數(shù)據(jù)可以是目標(biāo)特征的測(cè)量結(jié)果,或是基于測(cè)量的符號(hào)表示,它們描述了目標(biāo)的特點(diǎn)和性質(zhì)。</p><p> ?。?)圖像重建:圖像重建的目的是根據(jù)二維平面圖像數(shù)據(jù)構(gòu)造出三維物體的圖像。它與圖像增強(qiáng)不同,圖像增強(qiáng)的輸入是圖像,輸出也是圖像,而圖像重建輸入的是某種數(shù)據(jù),輸出是圖像。醫(yī)學(xué)上廣為采用的計(jì)算機(jī)層析掃描術(shù)(CT)就是一例。它是利用超聲

44、波、X 射線、核磁共振等手段取得物體的許多幅來(lái)自不同角度的反應(yīng)物體內(nèi)部的投影圖,然后再通過(guò)計(jì)算獲得物體內(nèi)部的圖像。實(shí)際上就是將多幅斷層二維平面數(shù)據(jù)重建成可描述人體組織器官的三維結(jié)構(gòu)的圖像。三維重建技術(shù)目前已成為虛擬現(xiàn)實(shí)技術(shù)及科學(xué)可視化技術(shù)的重要基礎(chǔ)。</p><p>  (7)圖像變換:圖像變換是指通過(guò)一種數(shù)學(xué)映射的方法,將空域中的圖像信息轉(zhuǎn)換到頻域或時(shí)頻域等空間上進(jìn)行分析的數(shù)學(xué)手段。最常采用的變換有傅里葉變換、

45、離散余弦變換和小波變換等。</p><p> ?。?)圖像壓縮編碼:圖像是一種重要的信息資源,經(jīng)常需要保存起來(lái),為此需要按一定的格式存入計(jì)算機(jī)。數(shù)字圖像的特點(diǎn)之一是數(shù)據(jù)量龐大。盡管現(xiàn)在有大容量的存儲(chǔ)器,但仍不能滿足對(duì)圖像數(shù)據(jù)(尤其是動(dòng)態(tài)圖像、高分辨率圖像)處理的需要。此外,由于圖像需要在不同設(shè)備之間進(jìn)行傳輸,而圖像的傳輸也需要占用通信資源,因此為了節(jié)省存儲(chǔ)空間,合理地利用通信資源,需要研究圖像壓縮技術(shù)。如果數(shù)據(jù)不

46、壓縮,則需要在存儲(chǔ)和傳輸中占很大的容量和帶寬,因而增加了成本。另外,利用人類的視覺(jué)特性,可對(duì)圖像的視覺(jué)冗余進(jìn)行壓縮,由此來(lái)達(dá)到減小描述圖像的數(shù)據(jù)量的目的。圖像編碼主要是采用不同的表達(dá)方法以減少表示圖像所需的數(shù)據(jù)量,從本質(zhì)上來(lái)說(shuō),圖像編碼與壓縮就是對(duì)要處理的圖像源數(shù)據(jù)按一定的規(guī)則進(jìn)行變換和組合,從而達(dá)到以盡可能少的代碼來(lái)表示盡可能多的數(shù)據(jù)信息。壓縮通過(guò)編碼來(lái)實(shí)現(xiàn),或者說(shuō)編碼帶來(lái)壓縮的效果,所以一般把此項(xiàng)處理稱為壓縮編碼。</p>

47、;<p>  3.2 VC++簡(jiǎn)介</p><p>  Visual C++是微軟公司推出的一種高度綜合性能的開(kāi)發(fā)Win32 環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。自其誕生以來(lái),因其易用性和良好的用戶界面,一直是Windows 環(huán)境下最主要的開(kāi)發(fā)工具。而且由于Visual C++本身就是一個(gè)圖形的開(kāi)發(fā)界面,提供了豐富的關(guān)于位圖操作的函數(shù),所以對(duì)開(kāi)發(fā)圖像處理系統(tǒng)提供了極大的方便。它現(xiàn)在已經(jīng)成為開(kāi)發(fā)W

48、in32 程序,包括圖像處理程序的主要開(kāi)發(fā)工具?,F(xiàn)在常用的版本有Visual C++ 6.0/Visual C++.NET/ Visual C++2005 等。</p><p>  3.2.1 Visual C++開(kāi)發(fā)語(yǔ)言的特點(diǎn)</p><p> ?。?)與Windows 緊密結(jié)合。程序員在Windows 平臺(tái)下開(kāi)發(fā)應(yīng)用程序時(shí),可以利用WindowsAPI 提供給應(yīng)用程序的接口程序?qū)in

49、dows 進(jìn)行控制。例如,程序員可以為自己的應(yīng)用程序提供一些圖形設(shè)備接口(GDI),來(lái)顯示一些圖形和格式的文本。Visual C++作為優(yōu)秀的可視化編程工具,它提供了大量類庫(kù)和各種控件,而這些類庫(kù)和控件都是構(gòu)架在Windows API 函數(shù)基礎(chǔ)之上的,是封裝了的API 函數(shù)的集合,讓程序員進(jìn)行應(yīng)用開(kāi)發(fā)時(shí)更方便,以加速Windows應(yīng)用程序開(kāi)發(fā)的過(guò)程。因此,Visual C++在使用API 等方面和Windows 聯(lián)系得最為緊密。<

50、/p><p> ?。?)強(qiáng)大的類庫(kù)支持和類改造能力。使用Visual C++ MFC 類庫(kù)編程,就可以得到MFC類庫(kù)強(qiáng)大的支持。MFC 本身就是一個(gè)龐大的C++類庫(kù),這些類有效地實(shí)現(xiàn)了對(duì)Win32 API、OLEAPI、ODBC API 等底層函數(shù)的封裝,因此不需要再記憶大量的API 函數(shù),只要實(shí)例化一個(gè)C++類,并采用該實(shí)例的成員變量即可,從而使開(kāi)發(fā)過(guò)程更加合理化,編程更加簡(jiǎn)便化。同時(shí),MFC框架集成了很多應(yīng)用程序

51、模板,而這些模板都采用了以文檔/視圖為中心的思想,每一個(gè)模板都包含一組特定的類。由于C++類支持繼承和虛擬函數(shù),程序員可以通過(guò)使用繼承和擴(kuò)展適當(dāng)?shù)腃++類來(lái)實(shí)現(xiàn)特定的目的。例如,應(yīng)用程序特定的事件由程序員的派生類來(lái)處理實(shí)現(xiàn)對(duì)基類的繼承。</p><p> ?。?)擁有高效率的運(yùn)行速度。要使軟件擁有高效率的運(yùn)行速度,我們應(yīng)該從程序編寫的質(zhì)量和工具的編譯質(zhì)量?jī)煞矫嬷?。由于Visual C++在開(kāi)發(fā)Windows 應(yīng)

52、用程序時(shí),它主要采用C語(yǔ)言、C++通用類以及原始的Windows 應(yīng)用程序編程接口,而這些函數(shù)都是比較低層的函數(shù),一次運(yùn)行起來(lái)速度比較快,使用靈活,從而保證了用Visual C++編寫出來(lái)的軟件產(chǎn)品擁有高效率的運(yùn)行速度。</p><p>  3.2.2 Visual C++ 6.0 的特點(diǎn)</p><p>  現(xiàn)在越來(lái)越多的人正在加入Visual C++程序員的行列,由于前一段時(shí)間.NET

53、 的盛行,VC.NET、VC2005 的相繼推出,對(duì)Visual C++的經(jīng)典版本Visual C++6.0 有些冷落。但是經(jīng)過(guò)一段時(shí)間的摸索,C++程序員們又一致認(rèn)為Visual C++6.0 是開(kāi)發(fā)C++ Windows 應(yīng)用程序最理想的工具。</p><p>  Visual C++ 6.0 是Microsoft 公司推出的Visual C++開(kāi)發(fā)工具的6.0 版本,該工具在速度和代碼量要求較高的場(chǎng)合中是首

54、選工具。在行內(nèi)有一句話“在Windows 下開(kāi)發(fā)軟件,只有你想不到的,沒(méi)有Visual C++做不到的”來(lái)形容Visual C++ 6.0 的功能齊全和強(qiáng)大。Visual C++ 6.0 在以前版本的基礎(chǔ)上又增加了許多特性,比如ATL 復(fù)合控件、Internet 特性、OLE-DB 提供者模塊、ADO 數(shù)據(jù)綁定等。與以前的版本相比,Visual C++ 6.0 的MFC 類庫(kù)沒(méi)有做太大的改進(jìn),但是其集成開(kāi)發(fā)環(huán)境做了一些改進(jìn),增加了一些新

55、特性,使其更易于應(yīng)用。這些新特性包括以下幾個(gè)方面:</p><p><b> ?。?)文本編輯器</b></p><p>  Find in Files 命令支持兩個(gè)獨(dú)立的輸出窗格,可以保存上次搜索結(jié)果。</p><p><b> ?。?)調(diào)試器</b></p><p>  可以直接運(yùn)行和調(diào)試程序,

56、還可以使用宏語(yǔ)言來(lái)自動(dòng)操作調(diào)試器。</p><p> ?。?)增強(qiáng)的資源編輯器</p><p>  可以在對(duì)話框中使用 WizardBar 將程序同可視化元素聯(lián)系起來(lái)。在使用加速鍵、對(duì)話框、菜單、字符串時(shí),可以對(duì)多個(gè)要改的項(xiàng)目作統(tǒng)一修改。</p><p> ?。?)可定制的工具欄和菜單欄</p><p>  可以創(chuàng)建新的工具條和菜單欄。如增加

57、或者刪除菜單命令和工具條按鈕等。</p><p>  (5)支持Internet 連接</p><p>  可以直接在 IDE 中查看網(wǎng)頁(yè)。該特性可以讓Visual Studio 用戶了解最新信息,獲取更新的文檔及完成產(chǎn)品的升級(jí)和修正工作。</p><p> ?。?)宏和自動(dòng)化功能</p><p>  宏記錄功能可以根據(jù)用戶的操作自動(dòng)生成宏操

58、作序列;自動(dòng)化功能可以實(shí)現(xiàn)一些重復(fù)性過(guò)程和工作。</p><p> ?。?)在工作區(qū)內(nèi)可以包含多個(gè)并列的工程文件</p><p>  以前的 Visual C++版本在不同工程之間復(fù)制代碼和資源時(shí),需要先打開(kāi)一個(gè)工程,然后打開(kāi)另一個(gè)工程的資源文件,然后進(jìn)行資源復(fù)制操作。而Visual C++ 6.0 版本可以在當(dāng)前工作區(qū)中增加一個(gè)新的工程,這個(gè)特性可以很方便快速的完成資源的復(fù)制操作。<

59、;/p><p>  (8)項(xiàng)目工作區(qū)和文件</p><p>  在 Visual C++ 6.0 中,一個(gè)項(xiàng)目系統(tǒng)在一個(gè)工作區(qū)內(nèi)包含多個(gè)不同的項(xiàng)目類型,比如工作區(qū)文件以dsw 為后綴名,項(xiàng)目文件以dsp 為后綴名,而B(niǎo)uild 文件分為內(nèi)部文件和外部文件等。</p><p>  3.2.3 Visual C++ 6.0 及其開(kāi)發(fā)環(huán)境</p><p&g

60、t;  微軟于 1992 年推出了Visual C++ 1.0,現(xiàn)在最新的版本為Visual C++ 2008。經(jīng)歷了近20年的發(fā)展,Visual C++已經(jīng)有了很大的變化,在界面、功能、庫(kù)支持方面都有許多的增強(qiáng)。其中,Visual C++ 6.0 版本以其強(qiáng)大的功能和較小的系統(tǒng)開(kāi)銷,至今深受廣大程序員的喜愛(ài)。VisualC++ 6.0 有三個(gè)版本,分別是標(biāo)準(zhǔn)版、專業(yè)版、企業(yè)版。其中標(biāo)準(zhǔn)版又稱學(xué)習(xí)版,而企業(yè)版的功能最為強(qiáng)大,我們這里所用

61、的版本就是Visual C++ 6.0 企業(yè)版。</p><p>  Visual C++ 6.0 集成開(kāi)發(fā)環(huán)境由一套綜合的開(kāi)發(fā)工具所組成,提供了良好的可視化編程環(huán)境,Visual C++ 6.0 不僅為用戶提供編輯代碼、編譯、連接、調(diào)試等基本功能,還提供多種輔助開(kāi)發(fā)工具,以使用戶的開(kāi)發(fā)過(guò)程更簡(jiǎn)單、方便。</p><p>  Visual C++ 6.0 集成開(kāi)發(fā)環(huán)境的主界面其主要包括菜單

62、、工具欄、編輯區(qū)、工作區(qū)窗口、輸出窗口和狀態(tài)欄等部分。</p><p><b>  1 編輯區(qū)</b></p><p>  編輯區(qū)是使用Visual C++進(jìn)行一切編輯的區(qū)域,它一般位于開(kāi)發(fā)界面的下方,C++的源代碼就在這里編輯和顯示。設(shè)計(jì)對(duì)話框時(shí),窗口繪制器也在此顯示。編輯區(qū)基本上是開(kāi)發(fā)界面的全部區(qū)域,不能被菜單或工具欄占據(jù)。</p><p>

63、;<b>  2 工作區(qū)</b></p><p>  工作區(qū)是 Visual C++一個(gè)最重要的組成部分,它一般位于開(kāi)發(fā)主界面的左側(cè),開(kāi)發(fā)者的大部分工作都是在IDE 中完成,IDE 使用項(xiàng)目工作區(qū)來(lái)組織項(xiàng)目以及項(xiàng)目信息在屏幕上出現(xiàn)的方式。在一個(gè)項(xiàng)目工作區(qū)中,可以處理一個(gè)工程和它所包含的文件、一個(gè)工程的子工程、多個(gè)相互獨(dú)立的工程和多個(gè)相互依賴的工程。項(xiàng)目工作區(qū)底部有3 個(gè)標(biāo)簽項(xiàng):分別為Clas

64、s View(類視圖)、Resource View(資源視圖)、File View(文件視圖),點(diǎn)擊某個(gè)具體的標(biāo)簽可以切換到對(duì)應(yīng)的項(xiàng)目工作區(qū)視圖中。</p><p><b>  3 輸出窗口</b></p><p>  輸出窗口位于整個(gè)主窗口的下方,主要用于顯示代碼調(diào)試和運(yùn)行中的相關(guān)信息,在這里可以看到編譯程序的進(jìn)展說(shuō)明、警告以及出錯(cuò)信息;在逐步編譯代碼時(shí),輸出窗口是

65、Visual C++調(diào)試程序顯示所有變量當(dāng)前值的地方,當(dāng)關(guān)閉輸出窗口后,它會(huì)在Visual C++需要顯示有關(guān)信息時(shí)自動(dòng)打開(kāi)。</p><p><b>  4 工具欄</b></p><p>  工具欄也是 IDE 的重要組成部分,主要列出了在代碼開(kāi)發(fā)過(guò)程中經(jīng)常用到的一些功能。通常第一次運(yùn)行Visual C++時(shí),在菜單欄的下面有3 個(gè)工具欄,它們分別是:標(biāo)準(zhǔn)工具欄、

66、向?qū)Чぞ邫诤驼{(diào)試工具欄。</p><p><b>  3.3 本章小結(jié)</b></p><p>  本章首先對(duì)數(shù)字圖像處理作了一個(gè)簡(jiǎn)單的概述,介紹了數(shù)字圖像處理的特點(diǎn)、目的及其主要研究的內(nèi)容,對(duì)數(shù)字圖像處理有一個(gè)初步的認(rèn)識(shí);然后分析了用VC++語(yǔ)言進(jìn)行軟件開(kāi)發(fā)的優(yōu)勢(shì);最后對(duì)要使用的集成開(kāi)發(fā)環(huán)境VC++6.0 進(jìn)行了大致的介紹,以便于后面的使用。</p>

67、<p>  第四章 算法分析與描述</p><p>  圖像銳化處理的目的是為了使圖像的邊緣。輪廓線以及圖像的細(xì)節(jié)變得清晰。經(jīng)過(guò)平滑處理的圖像變得模糊的根本原因是圖像受到了平均或積分運(yùn)算,因此對(duì)其進(jìn)行逆運(yùn)算(微分運(yùn)算)就可以使圖像變得清晰。為了要把圖像中間任何方向延伸的邊緣和輪廓線變得清晰,必須選擇那些不具備空間方向性的和具有旋轉(zhuǎn)不變的線性微分算子。最基本的一類邊緣檢測(cè)算子是微分類算子。包括: Sobe

68、l算子、Robel梯度算子、Prewitt邊緣檢測(cè)算子、Laplacian算子等。</p><p>  從頻率域來(lái)考慮,圖形模糊的實(shí)質(zhì)是因?yàn)槠涓哳l分量被衰減,因此可以用高通濾波器來(lái)使圖像變得清晰。這里介紹3種常用的頻域高通濾波器,分別是理想高通濾波器(IHPF)、巴特沃思高通濾波器(BHPE)。</p><p>  4.1 空域微分銳化方法</p><p>  圖像

69、的模糊相當(dāng)于圖像被平均或被積分,為實(shí)現(xiàn)圖像的銳化,必須用它的反運(yùn)算“微分”,加強(qiáng)高頻分量的作用,從而使圖像輪廓清晰。由于模糊圖像的特征(如邊沿的走向等)各不相同,要進(jìn)行銳化,應(yīng)該采用各向同性、具有旋轉(zhuǎn)不變的線性微分算子。</p><p>  圖像處理中最常用的微分方法是求梯度。對(duì)于圖像f(x,y),它所在的梯度是一個(gè)矢量,定義為</p><p>  點(diǎn)(x,y)梯度的幅度為梯度的模,即&l

70、t;/p><p>  對(duì)數(shù)字圖像用微分運(yùn)算不方便,一般用差分來(lái)近似。常用的梯度差分有:</p><p>  為了運(yùn)算簡(jiǎn)便,可以簡(jiǎn)化為</p><p>  或者利用Roberts 梯度算子</p><p>  Roberts 算子也可以簡(jiǎn)化為</p><p>  常用的梯度算子還有Laplacian 算子。Lapalacia

71、n 算子是仿效屬性上的,它是用二階差分實(shí)現(xiàn)的。</p><p>  用模板算子來(lái)表示為:</p><p>  也可以推廣Laplacian 算子,考慮進(jìn)對(duì)角線方向,這樣它就是一個(gè)8 鄰域的算子,其模板為</p><p>  Laplacian 算子有兩個(gè)缺點(diǎn),一個(gè)是邊沿的方向被丟失,另一個(gè)是Laplacian 算子為二階差分,雙倍加強(qiáng)了圖中的噪聲影響。優(yōu)點(diǎn)是各向同性

72、,即旋轉(zhuǎn)不變。</p><p>  梯度算子一旦算出后,就可以根據(jù)不同的需要生成不同的梯度增強(qiáng)圖像。</p><p>  最簡(jiǎn)單的就是用該點(diǎn)的梯度幅度代替此點(diǎn)的灰度。此方法的缺點(diǎn)是增強(qiáng)的圖像僅僅顯示灰度變換比較陡峭的邊沿輪廓,而灰度變化比較平緩或者比較均勻的地方則呈現(xiàn)黑色。</p><p>  人們又提出了一些改進(jìn)的方法,例如</p><p>

73、;  其中T 是一個(gè)非負(fù)的閾值。適當(dāng)?shù)倪x取T,即可使明顯的邊沿輪廓得到突出,并且不會(huì)破壞原來(lái)灰度變換比較平緩的背景。</p><p>  4.1.1拉普拉斯微分算子函數(shù)</p><p>  拉式算子是一個(gè)刻畫(huà)圖像灰度的二階商算子,它是點(diǎn)、線、邊界提取算子,亦稱為邊界提取算子。通常圖像和對(duì)他實(shí)施拉式算子后的結(jié)果組合后產(chǎn)生一個(gè)銳化圖像。拉式算子用來(lái)改善因擴(kuò)散效應(yīng)的模糊特別有效,因?yàn)樗辖抵颇?/p>

74、型。擴(kuò)散效應(yīng)是成像過(guò)程中經(jīng)常發(fā)生的現(xiàn)象。</p><p>  最簡(jiǎn)單的二階各向同性微分算子是拉普拉斯微分算子,具有旋轉(zhuǎn)不變性。二維圖像f(x,y)的拉普拉斯微分算子定義為:</p><p>  寫成模板系數(shù)形式形式即為L(zhǎng)aplacian算子:</p><p>  其上形式為離散拉普拉斯算子的模板,另外還有擴(kuò)展模板,表示如下:</p><p>

75、  從模板形式容易看出,如果在圖像中一個(gè)較暗的區(qū)域中出現(xiàn)了一個(gè)亮點(diǎn),那么用拉普拉斯運(yùn)算就會(huì)使這個(gè)亮點(diǎn)變得更亮。因?yàn)閳D像中的邊緣就是那些灰度發(fā)生跳變的區(qū)域,所以拉普拉斯銳化模板在邊緣檢測(cè)中很有用。一般增強(qiáng)技術(shù)對(duì)于陡峭的邊緣和緩慢變化的邊緣很難確定其邊緣線的位置。但此算子卻可用二次微分正峰和負(fù)峰之間的過(guò)零點(diǎn)來(lái)確定,對(duì)孤立點(diǎn)或端點(diǎn)更為敏感,因此特別適用于以突出圖像中的孤立點(diǎn)、孤立線或線端點(diǎn)為目的的場(chǎng)合。同梯度算子一樣,拉普拉斯算子也會(huì)增強(qiáng)圖像

76、中的噪聲,有時(shí)用拉普拉斯算子進(jìn)行邊緣檢測(cè)時(shí),可將圖像先進(jìn)行平滑處理。</p><p>  laplace算子是與方向無(wú)光的各向同性邊緣檢測(cè)算子,若只關(guān)心邊緣點(diǎn)的位置而不顧其周圍的實(shí)際灰度差時(shí),一般選擇該算子進(jìn)行檢測(cè).特點(diǎn):各向同性,線性和位移是不變的,對(duì)線性和孤立點(diǎn)檢測(cè)效果好,但邊緣方向信息丟失,常產(chǎn)生雙像素的邊緣,對(duì)噪聲有雙倍的加強(qiáng)作用。</p><p>  4.1.2 Roberts交

77、叉微分算子函數(shù)</p><p>  Roberts算子模板是一個(gè)2×2的模板,左上角的是當(dāng)前待處理像素f(x.y),則交叉微分算子定義如下:</p><p><b>  其模板可以表示為:</b></p><p><b>  ,</b></p><p>  例如:已知原始圖像F,求:用Ro

78、berts交叉微分算子的處理結(jié)果。</p><p>  4.1.3 Prewitt微分算子函數(shù)(平均差分法)</p><p>  Prewitt微分算子的思路與Sobel微分算子的思路類似,是在一個(gè)奇數(shù)大小的模板中定義其微分運(yùn)算。</p><p>  Priwitt微分算子定義如下:</p><p>  因?yàn)槠骄軠p少或消除噪聲,Prewit

79、t梯度算子法就是先求平均,再求差分來(lái)求梯度。水平和垂直梯度模板分別為:</p><p>  利用檢測(cè)模板可求得水平和垂直方向的梯度,再通過(guò)梯度合成和邊緣點(diǎn)判定,就可得到平均差分法的檢測(cè)結(jié)果。</p><p>  prewitt算子為在檢測(cè)邊緣的同時(shí)減少噪聲的影響,從加大邊緣檢測(cè)算子的模板大小出發(fā),由2*2擴(kuò)大到3*3來(lái)計(jì)算差分算子,采用prewitt算子能檢測(cè)到邊緣點(diǎn),還可以抑制噪聲。&l

80、t;/p><p>  4.1.4 Sobel微分算子函數(shù)(加權(quán)平均差分法)</p><p>  Sobel算子具有一定的噪聲抑制能力,在檢測(cè)階躍邊緣時(shí)得到的邊緣寬度至少為二像素,它不依賴于邊緣方向的二階微分算子,是一個(gè)標(biāo)準(zhǔn)量而不是向量,具有旋轉(zhuǎn)不變即各向同性的性質(zhì)。在圖像處理中常被用于提取圖像的邊緣。Sobel算子是典型的基于一階導(dǎo)數(shù)的邊緣檢測(cè)算子,由于該算子中引入了類似局部平均的運(yùn)算,因此對(duì)

81、噪聲具有平滑作用,能很好的消除噪聲的影響。Sobel算子包含兩組3x3的矩陣,分別為橫向及縱向模板,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。</p><p>  Sobel微分算子定義如下:</p><p><b> ?。ㄊ?)</b></p><p><b>  (式2) </b></p>

82、;<p>  如果用圖像處理的模板來(lái)表示,則有:</p><p><b> ?。ㄊ?)</b></p><p>  下面以一個(gè)簡(jiǎn)單的例子來(lái)體會(huì)該算法。設(shè)原圖像為</p><p>  對(duì)中模板罩不住的地方其處理結(jié)果令為0,其它的像素一次按照式(式1)進(jìn)行計(jì)算。例如,對(duì)的模板下的圖像子塊為:</p><p>&

83、lt;b>  計(jì)算結(jié)果為</b></p><p><b>  最終處理結(jié)果為</b></p><p>  單獨(dú)使用Sobel算子做邊緣檢測(cè),邊緣定位精度不高,有時(shí)還可能對(duì)非邊緣像素的響應(yīng)大于某些邊緣處的響應(yīng)或者響應(yīng)差別不是很大,造成漏檢或誤檢,但是它對(duì)噪聲具有較好的魯棒性。</p><p>  Prewitt算子和Sobel算

84、子提取邊緣的結(jié)果差不多。在提取邊緣的同時(shí)它對(duì)噪聲具有平滑作用,能夠抑制一定的噪聲。由于Prewitt邊緣檢測(cè)算子是通過(guò)八個(gè)方向模板對(duì)圖像進(jìn)行卷積運(yùn)算,因此運(yùn)算量比較大。</p><p>  sobel算子在prewitt算子基礎(chǔ)上能檢測(cè)邊緣點(diǎn),且能進(jìn)一步抑制噪聲的影響,但檢測(cè)的邊緣較寬。梯度算子和laplacian算子都對(duì)噪聲敏感,因此一般用它們檢測(cè)邊緣前要先對(duì)圖像進(jìn)行平滑。</p><p&g

85、t;  4.2 頻域高通濾波銳化方法</p><p>  這里所講的高通濾波是指頻域的高通濾波,也是圖像銳化處理中常用的一種方法。圖形中的邊緣和線條與圖像頻譜中的高頻分量相對(duì)應(yīng),因此可以通過(guò)高通濾波的方法,使低頻分量得到抑制,從而達(dá)到增強(qiáng)高頻分量,使圖像的邊緣或線條變得清晰的目的。其數(shù)學(xué)表達(dá)式。</p><p>  這里G(u,v)為高通濾波器處理后的圖像;H(u,v)為頻域高通濾波器的傳

86、遞函數(shù);F(u,v)為原始圖像f(u,v)的傅氏變換。</p><p>  4.2.1理想高通濾波器</p><p>  其傳遞函數(shù)H(u,v)可以表示為:</p><p>  為截止頻率,根據(jù)需要選擇。是頻率平面上點(diǎn)(u,v)到原點(diǎn)(0,0)的距離。</p><p>  4.2.2巴特沃思高通濾波器</p><p>

87、;  n階巴特沃思高通濾波器的傳遞函數(shù)H(u,v)可以表示為:</p><p>  為截止頻率,n為級(jí)數(shù)。</p><p>  4.2.3指數(shù)高通濾波器</p><p>  指數(shù)高通濾波器的傳遞函數(shù)H(u,v)可以表示為:</p><p>  為截止頻率,n為級(jí)數(shù)。</p><p>  第五章 詳細(xì)設(shè)計(jì)過(guò)程</p

88、><p>  圖像銳化處理源圖像如下:</p><p><b>  圖5-1源圖像</b></p><p>  5.1微分算子圖像銳化編程實(shí)現(xiàn)說(shuō)明</p><p>  利用前面介紹的微分算子就可以輕松地實(shí)現(xiàn)空域中圖像銳化。在這里,我們利用Lapacian 算子來(lái)進(jìn)行示例。</p><p>  下面的函

89、數(shù)LinearSharp()利用Lapacian 算子實(shí)現(xiàn)了圖像的銳化,其具體代碼實(shí)現(xiàn)如下所示。</p><p>  /*************************************************************************</p><p><b>  *</b></p><p><b>  

90、* \函數(shù)名稱:</b></p><p>  * LinearSharpen()</p><p><b>  *</b></p><p><b>  * \輸入?yún)?shù):</b></p><p>  * LPBYTE lpImage - 指向圖像數(shù)據(jù)得指針</p><p&

91、gt;  * int nWidth - 圖像數(shù)據(jù)寬度</p><p>  * int nHeight - 圖像數(shù)據(jù)高度</p><p><b>  *</b></p><p><b>  * \返回值:</b></p><p><b>  * 無(wú)</b></p>

92、<p><b>  *</b></p><p><b>  * \說(shuō)明:</b></p><p>  * 線性銳化圖像增強(qiáng)</p><p>  * 本函數(shù)采用拉普拉斯算子對(duì)圖像進(jìn)行線性銳化</p><p>  * 在原來(lái)圖像上加上拉普拉斯算子銳化的信息</p><p&g

93、t;<b>  *</b></p><p>  *************************************************************************</p><p><b>  */</b></p><p>  void LinearSharpen (LPBYTE lpImag

94、e, int nWidth, int nHeight)</p><p><b>  {</b></p><p>  // 遍歷圖像的縱坐標(biāo)</p><p><b>  int y;</b></p><p>  // 遍歷圖像的橫坐標(biāo)</p><p><b>  in

95、t x;</b></p><p>  double * pdGrad ;</p><p>  pdGrad = new double[nWidth*nHeight];</p><p><b>  // 初始化為0</b></p><p>  memset(pdGrad, 0, nWidth*nHeight*s

96、izeof(double)) ;</p><p><b>  // 設(shè)置模板系數(shù)</b></p><p>  static int nWeight[3][3] ;</p><p>  nWeight[0][0] = -1 ;</p><p>  nWeight[0][1] = -1 ;</p><p&

97、gt;  nWeight[0][2] = -1 ;</p><p>  nWeight[1][0] = -1 ;</p><p>  nWeight[1][1] = 8 ;</p><p>  nWeight[1][2] = -1 ;</p><p>  nWeight[2][0] = -1 ;</p><p>  n

98、Weight[2][1] = -1 ;</p><p>  nWeight[2][2] = -1 ;</p><p>  //這個(gè)變量用來(lái)表示Laplacian 算子像素值</p><p>  int nTmp[3][3];</p><p><b>  // 臨時(shí)變量</b></p><p>  

99、double dGrad;</p><p>  // 模板循環(huán)控制變量</p><p><b>  int yy ;</b></p><p><b>  int xx ;</b></p><p>  for(y=1; y<nHeight-1 ; y++ )</p><p&g

100、t;  for(x=1 ; x<nWidth-1 ; x++ )</p><p><b>  {</b></p><p>  dGrad = 0 ;</p><p>  // Laplacian 算子需要的各點(diǎn)像素值</p><p><b>  // 模板第一行</b></p>

101、<p>  nTmp[0][0] = lpImage[(y-1)*nWidth + x - 1 ] ;</p><p>  nTmp[0][1] = lpImage[(y-1)*nWidth + x ] ;</p><p>  nTmp[0][2] = lpImage[(y-1)*nWidth + x + 1 ] ;</p><p><b>  

102、// 模板第二行</b></p><p>  nTmp[1][0] = lpImage[y*nWidth + x - 1 ] ;</p><p>  nTmp[1][1] = lpImage[y*nWidth + x ] ;</p><p>  nTmp[1][2] = lpImage[y*nWidth + x + 1 ] ;</p>&l

103、t;p><b>  // 模板第三行</b></p><p>  nTmp[2][0] = lpImage[(y+1)*nWidth + x - 1 ] ;</p><p>  nTmp[2][1] = lpImage[(y+1)*nWidth + x ] ;</p><p>  nTmp[2][2] = lpImage[(y+1)*nW

104、idth + x + 1 ] ;</p><p><b>  // 計(jì)算梯度</b></p><p>  for(yy=0; yy<3; yy++)</p><p>  for(xx=0; xx<3; xx++)</p><p><b>  {</b></p><p&

105、gt;  dGrad += nTmp[yy][xx] * nWeight[yy][xx] ;</p><p><b>  }</b></p><p>  // 梯度值寫入內(nèi)存</p><p>  *(pdGrad+y*nWidth+x)=dGrad;</p><p><b>  }</b></

106、p><p>  for(y=0; y<nHeight ; y++ )</p><p><b>  {</b></p><p>  for(x=0 ; x<nWidth ; x++ )</p><p><b>  {</b></p><p>  lpImage[y*nW

107、idth+x] = (unsigned char)max(0,min(255,(lpImage[y*nWidth+x]</p><p>  + (int)pdGrad[y*nWidth+x]) ));</p><p><b>  }</b></p><p><b>  }</b></p><p> 

108、 delete []pdGrad ;</p><p>  pdGrad = NULL ;</p><p><b>  }</b></p><p>  實(shí)現(xiàn)函數(shù)LinearSharp()后,在菜單“圖像增強(qiáng)”添加菜單項(xiàng)“圖像銳化”。</p><p>  向類CimageProcessingView 中添加該菜單的點(diǎn)擊事件處

109、理程序,其具體代碼如下所示。</p><p>  /*************************************************************************</p><p><b>  *</b></p><p><b>  * \函數(shù)名稱:</b></p><

110、p>  * OnEnhanceSharp()</p><p><b>  *</b></p><p><b>  * \輸入?yún)?shù):</b></p><p><b>  * 無(wú)</b></p><p><b>  *</b></p>&l

111、t;p><b>  * \返回值:</b></p><p><b>  * 無(wú)</b></p><p><b>  *</b></p><p><b>  * \說(shuō)明:</b></p><p>  * 該函數(shù)利用Laplacian 算子實(shí)現(xiàn)圖像的銳化

112、</p><p><b>  *</b></p><p>  *************************************************************************</p><p><b>  */</b></p><p>  void CImagePro

113、cessingView::OnEnhanceSharp()</p><p><b>  {</b></p><p><b>  //更改光標(biāo)形狀</b></p><p>  BeginWaitCursor();</p><p>  CImageProcessingDoc * pDoc = (CIma

114、geProcessingDoc *)this->GetDocument();</p><p>  CDib * pDib = pDoc->m_pDibInit;</p><p>  LPBITMAPINFOHEADER lpBMIH=pDib->m_lpBMIH;</p><p>  // 判斷是否是8-bpp 位圖</p><

115、p>  if (lpBMIH->biBitCount != 8)</p><p><b>  {</b></p><p><b>  // 提示用戶</b></p><p>  MessageBox("目前只支持256 色位圖的圖像分割!", "系統(tǒng)提示" ,</p

溫馨提示

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

評(píng)論

0/150

提交評(píng)論