數(shù)字圖像局部區(qū)域填充_第1頁
數(shù)字圖像局部區(qū)域填充_第2頁
數(shù)字圖像局部區(qū)域填充_第3頁
數(shù)字圖像局部區(qū)域填充_第4頁
數(shù)字圖像局部區(qū)域填充_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字圖像處理課程設(shè)計1 課程設(shè)計目的 局部區(qū)域填充是對指定區(qū)域的填充來擦掉圖像中的小塊區(qū)域。掌握用roifill函數(shù)對特定區(qū)域進行填充的方法,通過編程熟悉函數(shù)功能,熟悉使用MATLAB軟件平臺,熟悉使用圖像處理工具箱,掌握實驗設(shè)計過程。 通過構(gòu)造各種幾何圖形并填充,使學(xué)生掌握圖形填充的基本技能,了解區(qū)域填充算法,重點掌握種子填充算法。 本課程設(shè)計旨在利用Matlab環(huán)境及所學(xué)的數(shù)字圖像處理相關(guān)理論知識和方法實現(xiàn)圖像的局部區(qū)域填充,通過圖像局部區(qū)域填充前后對比,對填充效果進行分析,最后得出結(jié)論。2 課程設(shè)計要求利用所學(xué)的數(shù)字圖像處理技術(shù),建立實現(xiàn)某一個主題處理的系統(tǒng),利用MATLAB軟件系統(tǒng)來實

2、現(xiàn)圖像的局部區(qū)域填充,要求:(1)熟悉和掌握MATLAB 程序設(shè)計方法;(2)學(xué)習(xí)和熟悉MATLAB圖像處理工具箱;(3)學(xué)會運用MATLAB工具箱對圖像進行處理和分析;(4)能對圖像jpg格式進行打開、保存、另存、退出等功能操作;(5)利用所學(xué)數(shù)字圖像處理技術(shù)知識、MATLAB軟件對圖像進行圖像局部區(qū)域填充。(6)在程序開發(fā)時,必須清楚主要實現(xiàn)函數(shù)目的和作用,需要在程序書寫時做適當(dāng)注釋說明,理解每一句函數(shù)的具體意義和使用范圍;(7)掌握roipoly函數(shù)和roifill函數(shù)的功能。(8)對比原圖像與使用函數(shù)后圖像之間的區(qū)別。3 MATLAB簡介 MATLAB是建立在向量、數(shù)組和矩陣基礎(chǔ)上的一

3、種分析和仿真工具軟件包,包含各種能夠進行常規(guī)運算的“工具箱”,如常用的矩陣代數(shù)運算、數(shù)組運算、方程求根、優(yōu)化計算及函數(shù)求導(dǎo)積分符號運算等;同時還提供了編程計算的編程特性,通過編程可以解決一些復(fù)雜的工程問題;也可繪制二維、三維圖形,輸出結(jié)果可視化。目前,已成為工程領(lǐng)域中較常用的軟件工具包之一。3.1 MATLAB主要功能 它是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境。使用它,可以較使用傳統(tǒng)的編程語言,如C、C+等,更快的解決技術(shù)計算問題。高級語言可用于技術(shù)計算;開發(fā)環(huán)境可對代碼、文件和數(shù)據(jù)進行管理;數(shù)學(xué)函數(shù)可用于線性代數(shù)、統(tǒng)計、傅立葉分析、篩選、優(yōu)化以及數(shù)

4、值積分等;二維和三維圖形函數(shù)可用于可視化數(shù)據(jù);各種工具可用于構(gòu)建自定義的圖形用戶界面;各種函數(shù)可將基于MATLAB的算法與外部應(yīng)用程序和語言;其應(yīng)用范圍非常廣,包括信號和圖像處理、通迅、控制系統(tǒng)設(shè)計、測試和測量等眾多應(yīng)用領(lǐng)域。3.2 MATLAB優(yōu)勢3.2 工作平臺和編程環(huán)境 MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級,MATLAB的用戶界面也越來越精致,更加接近Win

5、dows的標(biāo)準(zhǔn)界面,人機交互性更強,操作更簡單。而且新版本的MATLAB提供了完整的聯(lián)機查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過編譯就可以直接運行,而且能夠及時地報告出現(xiàn)的錯誤及進行出錯原因分析。3.2.2 程序語言 MATLAB一個高級的矩陣1語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個較大的復(fù)雜的應(yīng)用程序(M文件)后再一起運行。新版本的MATLAB語言是基于最為流行的C語言基礎(chǔ)上的,因此語法特征與C語言極為相似,而且更加簡單。使之更利于非計算機專業(yè)的科

6、技人員使用。而且這種語言可移植性好、可拓展性極強,這也是MATLAB能夠深入到科學(xué)研究及工程計算各個領(lǐng)域的重要原因。3.2.3 科學(xué)計算及數(shù)據(jù)處理能力 MATLAB是一個包含大量算法的集合。其可以快捷的實現(xiàn)用戶所需的各種計算功能。函數(shù)中所使用的算法都是科研和工程計算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和差錯處理。在通常情況下,可以用它來代替底層編程語言,如C和C+ 。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。MATLAB的這些函數(shù)集包括從最簡單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉變換的復(fù)雜函數(shù)。函數(shù)所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微

7、分方程的組的求解、符號運算、傅立葉變換和數(shù)據(jù)的統(tǒng)計分析、工程中的優(yōu)化問題、稀疏矩陣運算、復(fù)數(shù)的各種運算、三角函數(shù)和其他初等數(shù)學(xué)運算、多維數(shù)組操作以及建模動態(tài)仿真等。3.2.3 圖形處理工能 圖形處理功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達式作圖??捎糜诳茖W(xué)計算和工程繪圖。新版本的MATLAB對整個圖形處理功能作了很大的改進和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形

8、的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。3.2.5 模塊集合工具箱 MATLAB對許多專門的領(lǐng)域都開發(fā)了功能強大的模塊集和工具箱。一般來說,它們都是由特定領(lǐng)域的專家開發(fā)的,用戶可以直接使用工具箱學(xué)習(xí)、應(yīng)用和評估不同的方法而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多領(lǐng)域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫接口、概

9、率統(tǒng)計、樣條擬合、優(yōu)化算法、偏微分方程求解、神經(jīng)網(wǎng)絡(luò)、小波分析、信號處理、圖像處理、系統(tǒng)辨識、控制系統(tǒng)設(shè)計、LMI控制、魯棒控制、模型預(yù)測、模糊邏輯、金融分析、地圖工具、非線性控制設(shè)計、實時快速原型及半物理仿真、嵌入式系統(tǒng)開發(fā)、定點仿真、DSP與通訊、電力系統(tǒng)仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。3.3 MATLAB 函數(shù)與數(shù)據(jù)類型它提供了以下類型的函數(shù),用于執(zhí)行數(shù)學(xué)運算和數(shù)據(jù)分析:矩陣操作和線性代數(shù)多項式和內(nèi)插傅立葉分析和篩選數(shù)據(jù)分析和統(tǒng)計優(yōu)化和數(shù)值積分 MATLAB可對包括雙精度浮點數(shù)、單精度浮點數(shù)和整型在內(nèi)的多種數(shù)據(jù)類型進行運算。附加的工具箱提供了專門的數(shù)學(xué)計算函

10、數(shù),用于包括信號處理、優(yōu)化、統(tǒng)計、符號數(shù)學(xué)、偏微分方程求解以及曲線擬合在內(nèi)的各個領(lǐng)域。MATLAB中有15種基本數(shù)據(jù)類型,主要是整型、浮點、邏輯、字符、日期和時間、結(jié)構(gòu)數(shù)組、單元格數(shù)組以及函數(shù)句柄等。4 設(shè)計方案4.1 設(shè)計過程利用MATLAB圖像處理工具箱,設(shè)計自己的Photoshop,實現(xiàn)圖像局部區(qū)域填充。要求:按照軟件工程方法,根據(jù)需求進行程序的功能分析和界面設(shè)計,給出設(shè)計詳細(xì)說明。然后按照自己擬定的功能要求進行程序設(shè)計和調(diào)試。 (1)圖像的讀取和保存。(2)對圖像指定區(qū)域的選擇。 (3)把RGB圖像轉(zhuǎn)換成灰度圖像。(4)通過解邊界的拉普拉斯方程,指定填充特定區(qū)域。(5)通過roipol

11、y函數(shù)對圖像進行處理。(6)編寫程序,通過roifill,以實現(xiàn)圖像局部區(qū)域填充。(7)擦掉一個圖像指定區(qū)域的小塊區(qū)域。(8)設(shè)計圖形用戶界面,讓用戶能夠清晰的感受到兩圖像之間的區(qū)別,顯示和保存該選擇區(qū)域。4.2 設(shè)計方法4.2.1圖像局部區(qū)域的選擇多邊形選擇方法:用roipoly函數(shù)設(shè)定圖像中的多邊形區(qū)域,該函數(shù)返回與輸入圖像大小一致的二值圖像BW,選中的區(qū)域值為1,其余的部分值為0.其語法格式為:BW=roipoly(I,c,r)其功能是:用向量c.r指定多邊形各角點的X.Y軸的坐標(biāo)。4.2.2特定區(qū)域填充MATLAB圖像處理工具箱中提供的roifill函數(shù)6對于特定區(qū)域進行填充,其語法格

12、式為:J=roifill(I,c,r)其功能是:填充由向量c.r指定的多邊形,c和r分別為多邊形各頂點的X.Y坐標(biāo)。它是通過解邊界的拉普拉斯方程,利用多邊形邊界的點的灰度平滑的插值得到多邊形內(nèi)部的點。通常可以利用指定區(qū)域的填充來擦掉圖像中的小塊區(qū)域。5 程序設(shè)計5.1根據(jù)指定坐標(biāo)選擇六邊形用roipoly函數(shù)用于設(shè)定圖像中的多邊形區(qū)域?qū)崿F(xiàn)程序代碼如下:I=imread(D:matlabbin000.jpg);c=222 272 300 272 222 194;r=21 21 75 121 121 75;BW=roipoly(I,c,r);figure(1),imshow(I)figure(2)

13、,imshow(BW)實現(xiàn)程序代碼的說明:%用imread函數(shù)來讀入格式為0000.jpg的圖像%設(shè)定六邊形各頂點的X.Y坐標(biāo)%用roipoly函數(shù)對圖像進行處理%roipoly函數(shù)實現(xiàn)對特定區(qū)域的選擇%用inshow函數(shù)來顯示原始圖像與roipoly函數(shù)對特定區(qū)域進行選擇后的圖像5.2圖像的局部區(qū)域填充用roifill函數(shù)用于特定區(qū)域進行填充實現(xiàn)代碼程序如下:a=imread(D:matlabbinjintian.jpg);I=rgb2gray(a);c=200 250 278 248 199 172;r=21 21 75 121 121 75;J=roifill(I,c,r);subplo

14、t(1,2,1),imshow(I)figure,subplot(1,2,2),imshow(J)實現(xiàn)程序代碼的說明:%用imread函數(shù)來讀入格式為jintian.jpg的圖像%把彩色圖像轉(zhuǎn)換成灰度圖像%設(shè)定多邊形各頂點的X.Y坐標(biāo)%用roifill函數(shù)對圖像進行處理%roifill函數(shù)實現(xiàn)對特定區(qū)域的填充%用inshow函數(shù)來顯示原始圖像與roifill函數(shù)對特定區(qū)域進行填充后的圖像6 仿真結(jié)果6.1 指定區(qū)域仿真結(jié)果圖6.1原始圖像:圖6.1是原始圖像,為彩色圖像,由imread函數(shù)從文件中中直接讀取出來。圖6.2仿真后圖像圖6.1為原始圖像,圖6.2為特定區(qū)域選擇為六邊形后仿真的圖像,

15、仿真后的圖像與預(yù)期結(jié)果相同,達到了實驗?zāi)康摹?.2圖像局部區(qū)域填充仿真結(jié)果圖6.2原始圖像圖6.2為原始圖像,由rgb2gray函數(shù)將彩色圖像轉(zhuǎn)變?yōu)榘l(fā)灰度圖像。圖6.2roifill函數(shù)對特定區(qū)域填充后的圖像圖6.2為原始圖像,圖6.2為仿真后的結(jié)果,即圖像局部區(qū)域的填充,但仿真后的結(jié)果與原圖像相比較,沒有多大區(qū)別,預(yù)期的結(jié)果為擦掉特定區(qū)域的一小部分。結(jié) 論 通過對本次課程設(shè)計熟悉的掌握了roifill函數(shù)的運用,掌握了對特定區(qū)域的填充,根據(jù)指定的坐標(biāo)選擇六邊形。把理論知識熟悉的運用到具體的實踐中。 本課程設(shè)計主要介紹了數(shù)字圖像的理論知識及運用 MATLAB 來實現(xiàn)對具體區(qū)域填充的方法和研究。

16、基于數(shù)字圖像局部區(qū)域的填充,介紹了如何利用圖像處理工具MATLAB 來進行。在圖像處理過程中選擇區(qū)域起到控制操作范圍的作用,利用選擇區(qū)域可以按照不同的形式來選定圖像的局部區(qū)域進行調(diào)整或效果處理,同時還可以保證選擇區(qū)域以外的部分不會受到影響。 隨著計算機處理能力的不斷增強,數(shù)字圖像處理學(xué)科在飛速發(fā)展的同時,也越來越廣泛地向許多其他學(xué)科快速交叉滲透,使得圖像作為信息獲取以及信息的利用等方面也變得越來越重要。目前數(shù)字圖像處理的應(yīng)用越來越廣泛,已經(jīng)滲透到工業(yè)、醫(yī)療保健、航空航天、軍事等各個領(lǐng)域,在國民經(jīng)濟中發(fā)揮越來越大的作用。如偽彩色增強應(yīng)用在金相分析、醫(yī)學(xué)影像、巖土圖像、遙感應(yīng)用等。假彩色增強:主要表現(xiàn)在醫(yī)學(xué)領(lǐng)域中如:腎動脈造影上的應(yīng)用、乳腺腫瘤診斷上的應(yīng)用等。參考文獻1龔聲蓉,劉純平

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論