基于matlab數(shù)字圖像處理GUI設計_第1頁
基于matlab數(shù)字圖像處理GUI設計_第2頁
基于matlab數(shù)字圖像處理GUI設計_第3頁
基于matlab數(shù)字圖像處理GUI設計_第4頁
基于matlab數(shù)字圖像處理GUI設計_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.PAGE.目錄摘要2一.數(shù)字圖像概述31.1數(shù)字圖像處理的意義41.2數(shù)字圖像處理技術的開展5二.matlab圖像處理簡介62.1matlab簡介62.2matlab圖像界面GUI簡介7三.數(shù)字圖像處理軟件的設計73.1軟件的總體設計73.1.1整體界面設計83.1.2菜單欄設計83.2文件的讀入與顯示83.3圖像的保存93.4圖像的灰度處理93.5圖像二值化103.6圖像R直方圖113.7圖像G直方圖113.8圖像B直方圖123.9直方圖均衡123.10圖像的腐蝕13四.exe文件的生成14參考文獻15摘要數(shù)字圖像處理是一門新興技術,隨著計算機硬件的開展,數(shù)字圖像的實時處理已經(jīng)成為可能,由于數(shù)字圖像處理的各種算法的出現(xiàn),使得其處理速度越來越快,能更好的為人們效勞。數(shù)字圖像處理是一種通過計算機采用一定的算法對圖形圖像進展處理的技術。數(shù)字圖像處理技術已經(jīng)在各個領域上都有了比擬廣泛的應用。圖像處理的信息量很大,對處理速度的要求也比擬高。MATLAB強大的運算和圖形展示功能,使圖像處理變得更加的簡單和直觀。本文介紹了MATLAB語言的特點,基于MATLAB的數(shù)字圖像處理環(huán)境,介紹了如何利用MATLAB及其圖像處理工具箱進展數(shù)字圖像處理,并通過一些例子來說明利用MATLAB圖像處理工具箱進展圖像處理的方法。主要論述了利用MATLAB的GUI實現(xiàn)圖像二值化分析等圖像處理。關鍵詞:MATLAB,數(shù)字圖像處理,GUI,二值圖像AbstractDigitalimageprocessingisanemergingtechnology,withthedevelopmentofputerhardware,real-timedigitalimageprocessinghasbeepossibleduetodigitalimageprocessingalgorithmstoappear,makingitfasterandfasterprocessingspeed,betterforPeopleservices.Digitalimageprocessingisusedbysomealgorithmsputergraphicsimageprocessingtechnology.Digitalimageprocessingtechnologyhasbeeninvariousareashavearelativelywiderangeofapplications.Imageprocessinglargeamountofinformationontheprocessingspeedrequirementisrelativelyhigh.MATLABpowerfulputingandgraphicsdisplaycapabilities,sothatimageprocessingbeesmoresimpleandintuitive.ThispaperintroducescharacteristicsofMATLABlanguageandthisMATLAB-baseddigitalimageprocessingenvironment,describeshowtousetheMATLABImageProcessingToolboxforitsdigitalimageprocessing,andthroughsomeexamplestoillustratetheuseofMATLABImageProcessingToolboxforimageprocessingmethod.MainlydiscussestheuseofMATLABforimageenhancement,2-numericimageandotherimageprocessingtechnologies.Keywords:MATLAB,digitalimageprocessing,GUI,imageenhancement,2-numericimage

一、數(shù)字圖像處理概述1.1數(shù)字圖像處理的意義數(shù)字圖像處理〔DigitalImageProcessing〕,就是利用數(shù)字計算機或者其他數(shù)字硬件,對從圖像信息轉換而得到的電信號進展某些數(shù)學運算,以提高圖像的實用性。例如從衛(wèi)星圖片中提取目標物的特征參數(shù),三維立體斷層圖像的重建等??偟膩碚f,數(shù)字圖像處理包括點運算、幾何處理、圖像增強、圖像復原、圖像形態(tài)學處理、圖像編碼、圖像重建、模式識別等。由于計算機處理能力的不斷增強,數(shù)字圖像處理學科在飛速開展的同時,也越來越廣泛地向許多其他學科快速穿插滲透,使得圖像作為信息獲取以及信息的利用等方面也變得越來越重要。目前數(shù)字圖像處理的應用越來越廣泛,已經(jīng)滲透到工業(yè)、醫(yī)療保健、航空航天、軍事等各個領域,在國民經(jīng)濟中發(fā)揮越來越大的作用。MathWorks公司推出的MATLAB軟件是學習數(shù)理知識的好幫手。應用MATLAB友好的界面和豐富、實用、高效的指令及模塊,可以使人較快地認識、理解圖像處理的相關概念,逐步掌握圖像信號處理的根本方法,進而能夠解決相關的工程和科研中的問題。圖像是人類獲取和交換信息的主要來源,因此,圖像處理的應用領域必然涉及到人類生活和工作的方方面面。隨著人類活動圍的不斷擴大,圖像處理的應用領域也將隨之不斷擴大,已在國家平安、經(jīng)濟開展、日常生活中充當越來越重要的角色,對國計民生的作用不可低估。1.2數(shù)字圖像處理技術的開展數(shù)字圖像處理最早出現(xiàn)于20世紀50年代,當時的電子計算機已經(jīng)開展到一定水平,人們開場利用計算機來處理圖形和圖像信息。數(shù)字圖像處理作為一門學科大約形成于20世紀60年代初期。早期的圖像處理的目的是改善圖像的質量,它以人為對象,以改善人的視覺效果為目的。圖像處理中,輸入的是質量低的圖像,輸出的是改善質量后的圖像,常用的圖像處理方法有圖像增強、復原、編碼、壓縮等。首次獲得實際成功應用的是美國噴氣推進實驗室〔JPL〕。他們對航天探測器徘徊者7號在1964年發(fā)回的幾千月球照片使用了圖像處理技術,如幾何校正、灰度變換、去除噪聲等方法進展處理,并考慮了太陽位置和月球環(huán)境的影響,由計算機成功地繪制出月球外表地圖,獲得了巨大的成功。隨后又對探測飛船發(fā)回的近十萬照片進展更為復雜的圖像處理,以致獲得了月球的地形圖、彩色圖及全景鑲嵌圖,獲得了非凡的成果,為人類登月創(chuàng)舉奠定了堅實的根底,也推動了數(shù)字圖像處理這門學科的誕生。在以后的宇航空間技術,如對火星、土星等星球的探測研究中,數(shù)字圖像處理技術都發(fā)揮了巨大的作用。數(shù)字圖像處理取得的另一個巨大成就是在醫(yī)學上獲得的成果。1972年英國EMI公司工程師Housfield創(chuàng)造了用于頭顱診斷的X射線計算機斷層攝影裝置,也就是我們通常所說的CT〔puterTomograph〕。CT的根本方法是根據(jù)人的頭部截面的投影,經(jīng)計算機處理來重建截面圖像,稱為圖像重建。1975年EMI公司又成功研制出全身用的CT裝置,獲得了人體各個部位鮮明清晰的斷層圖像。1979年,這項無損傷診斷技術獲得了諾貝爾獎,說明它對人類作出了劃時代的奉獻。與此同時,圖像處理技術在許多應用領域受到廣泛重視并取得了重大的開拓性成就,屬于這些領域的有航空航天、生物醫(yī)學工程、工業(yè)檢測、機器人視覺、公安司法、軍事制導、文化藝術等,使圖像處理成為一門引人注目、前景遠大的新型學科。隨著圖像處理技術的深入開展,從70年代中期開場,隨著計算機技術和人工智能、思維科學研究的迅速開展,數(shù)字圖像處理向更高、更深層次開展。人們已開場研究如何用計算機系統(tǒng)解釋圖像,實現(xiàn)類似人類視覺系統(tǒng)理解外部世界,這被稱為圖像理解或計算機視覺。很多國家,特別是興旺國家投入更多的人力、物力到這項研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的視覺計算理論,這個理論成為計算機視覺領域其后十多年的主導思想。圖像理解雖然在理論方法研究上已取得不小的進展,但它本身是一個比擬難的研究領域,存在不少困難,因人類本身對自己的視覺過程還了解甚少,因此計算機視覺是一個有待人們進一步探索新的領域。二、matlab圖像處理簡介2.1matlab簡介MATLAB的名稱源自MatrixLaboratory,由美國MathWorks公司推出。20世紀九十年代的時候,matlab已經(jīng)成了國際控制界公認的標準計算軟件。2001年推出了matlab6.0版本,其中有simulink工具包。開發(fā)了與外部進展直接數(shù)據(jù)交換的組件。同時也推出了符號計算工具包。它是一種科學計算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計算和可視化集成在一起,構成了一個方便的、界面友好的用戶環(huán)境,并提供了大量的置函數(shù)。從而被廣泛地應用于科學計算、算法開發(fā)—預設計和驗證、數(shù)據(jù)采集、建模仿真與原型設計、數(shù)據(jù)分析研究與可視化、科學與工程繪圖、應用開發(fā)環(huán)境、控制系統(tǒng)、信息處理、神經(jīng)網(wǎng)絡、圖像處理、小波分析等領域的分析、仿真和設計工作,而且利用MATLAB產(chǎn)品的開放式構造,可以非常容易地對MATLAB的功能進展擴大,從而在不斷深化對問題認識的同時,不斷完善MATLAB產(chǎn)品以提高產(chǎn)品自身的競爭能力。MATLAB中的數(shù)字圖像是以矩陣形式表示的,這意味著ATLAB強大的矩陣運算能力用于圖像處理非常有利,矩陣運算的語法對MATLAB中的數(shù)字圖像同樣適用。本文對MATLAB圖像處理工具箱進展探索及應用,實驗證明該軟件功能強大,語言簡潔易學,人機界面友好,工具箱具有豐富的技術支持并集成了該領域家的智慧,應用簡單而效果良好。2.2matlab圖形界面GUI簡介用戶界面是指:實現(xiàn)人與機器〔或程序〕之間交互作用的工具和方法。如鍵盤、鼠標等都可成為與計算機交換信息的接口。圖形用戶界面GUI〔全稱GraphicalUserInterfaces〕那么是由窗口、光標、按鍵、菜單、文字說明等對象構成的一個用戶界面,用戶圖形界面〔GUI〕是程序的圖形化界面。GUI可以使用戶定制用與MATLAB的交互方式。把圖形界面加到MATLAB的函數(shù)和M文件中。GUI可以在MATLAB中生成非常有效的工具和應用程序,或是建立演示工作的交互式界面。創(chuàng)立MATLAB用戶圖形界面必須有三個根本元素:〔1〕組件:在matlabGUI中的每一個工程如按鈕、標簽、編輯框等都是一個圖形化組件。組件又可分為三類:圖形化控件(按鈕,編輯框,列表,滾動條等)、靜態(tài)元素(窗口和文本字符串)、菜單和坐標系。圖形化控件和靜態(tài)元素由函數(shù)uicontrol創(chuàng)立,菜單由函數(shù)uimenu和uicontextmenu創(chuàng)立,坐標系經(jīng)常用于顯示圖形化數(shù)據(jù),由函數(shù)axes創(chuàng)立。〔2〕圖象窗口(Figure):GUI的每一個組件都必須安排在圖象窗口中,可以用函figure來創(chuàng)立空圖象窗口,空圖象窗口經(jīng)常用于放置各種類型的組件?!?〕回應:當用戶用鼠標單擊或用鍵盤鍵入一些信息,那么程序就要有相應的執(zhí)行動作。鼠標單擊或鍵入信息是一個事件,如果matlab程序運行相應的函數(shù),那么matlab函數(shù)肯定會有所反響。例如,如果用戶單擊一按鈕,這個事件必然引起相應的matlab語句執(zhí)行。這些相應的語句被稱為回應,在執(zhí)行GUI的單個圖形組件時,必須有一個回應。三、數(shù)字圖像處理軟件設計本軟件包的主要功能是通過matlab的GUI界面編制一個簡易的圖形界面以讀取bmp格式的原始圖像數(shù)據(jù),并對它們進展分析和處理,得到所需要的效果,并把處理后的相關信息用圖像顯示出來。本軟件的主要功能有:bmp圖像文件的翻開和保存,圖像灰度處理和腐蝕、直方圖的分析等等。3.1軟件總體設計3.1.1整體界面設計3.1.2菜單欄設計3.2圖像的讀入與顯示[name,path]=uigetfile({'*.bmp'},'載入圖像');ifisequal(name,0)|isequal(path,0)errordlg('沒有選中文件','出錯');return;elsex=imread([path,name]);axes(handles.axes1);imshow(x);handles.img=x;handles.noise_img=x;3.3圖像的保存%文件保存[filename,pathname]=uiputfile('*.bmp','圖片保存為');ifisequal([filename,pathname],[0,0])errordlg('沒有保存','出錯');return;elsefile=strcat(pathname,filename);(handles.axes2);i=getimage(gca);imwrite(i,file);end3.4圖像的灰度處理%灰度處理axes(handles.axes2);ifisrgb(handles.img)y=rgb2gray(handles.img);%RGBimshow(y);elsemsgbox('這已經(jīng)是灰度圖像','轉換失敗');3.5圖像的二值化%二值圖像axes(handles.axes2);x=(handles.img);ifisrgb(x)msgbox('這是彩色圖像,不能轉換為二值圖像','轉換失敗');elsej=im2bw(x);imshow(j);end3.6圖像R直方圖%R直方圖set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imhist(handles.img(:,:,1));%直方圖統(tǒng)計x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);3.7圖像G直方圖%G直方圖set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);ifisrgb(handles.img)x=imhist(handles.img(:,:,2));%直方圖統(tǒng)計x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);elsemsgbox('這是灰度圖像','旋轉失敗');end3.8圖像B直方圖%B直方圖set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);ifisrgb(handles.img)x=imhist(handles.img(:,:,3));x1=x(1:10:256);horz=1:10:256;bar(horz,x1);%axis([02550150000]);set(handles.axes2,'xtick',0:50:255);%set(handles.axes2,'ytick',0:2000:15000);elsemsgbox('這是灰度圖像','旋轉失敗');end3.9直方圖均衡%直方圖均衡set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);ifisrgb(handles.img)a=histeq(handles.img(:,:,1));b=histeq(handles.img(:,:,2));c=histeq(handle

溫馨提示

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

評論

0/150

提交評論