圖像顏色RGB調(diào)整的MATLAB實(shí)現(xiàn)_第1頁(yè)
圖像顏色RGB調(diào)整的MATLAB實(shí)現(xiàn)_第2頁(yè)
圖像顏色RGB調(diào)整的MATLAB實(shí)現(xiàn)_第3頁(yè)
圖像顏色RGB調(diào)整的MATLAB實(shí)現(xiàn)_第4頁(yè)
圖像顏色RGB調(diào)整的MATLAB實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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、摘要 Matlab是當(dāng)今最優(yōu)秀的科技應(yīng)用軟件之一,它一強(qiáng)大的科學(xué)計(jì)算與可視化功能,簡(jiǎn)單易用,開放式可擴(kuò)展環(huán)境,特別是所附帶的30多種面向不同領(lǐng)域工具箱支持,使得它在許多科學(xué)領(lǐng)域中成為計(jì)算機(jī)輔助設(shè)計(jì)與分析,算法研究和應(yīng)用開發(fā)的基本工具盒首選平臺(tái)在圖像處理中,Matlab也得到了廣泛的應(yīng)用,例如圖像變換,設(shè)計(jì)FIR濾波器,圖像增強(qiáng),四叉樹分解,邊緣檢測(cè),小波分析等等。不同的顏色空間在描述圖像的顏色時(shí)側(cè)重點(diǎn)不同。如RGB(紅、綠、藍(lán)三原色)顏色空間適用于彩色監(jiān)視器和彩色攝象機(jī),HSI(色調(diào)、飽和度、亮度)更符合人描述和解釋顏色的方式(或稱為HSV,色調(diào)、飽和度、亮度),CMY(青、深紅、黃)、CMY

2、K(青、深紅、黃、黑)主要針對(duì)彩色打印機(jī)、復(fù)印機(jī)等,YIQ(亮度、色差、色差)是用于NTSC規(guī)定的電視系統(tǒng)格式,YUV(亮度、色差、色差)是用于PAL規(guī)定的電視系統(tǒng)格式,YCbCr(亮度單一要素、藍(lán)色與參考值的差值、紅色與參考值的差值)在數(shù)字影像中廣泛應(yīng)用。彩色圖像的處理有時(shí)需要將圖像數(shù)據(jù)在不同的顏色空間中表示,因此,圖像的顏色空間之間的轉(zhuǎn)換成為一項(xiàng)有意義的工作。其中RGB在顏色空間轉(zhuǎn)換中其關(guān)鍵作用,是各個(gè)空間轉(zhuǎn)換的橋梁。Matlab中的顏色空間轉(zhuǎn)換只涉及到了RGB、HSV、YCbCr、YIQ等,沒(méi)有包含l和其它顏色空間的轉(zhuǎn)換。 關(guān)鍵字:Matlab,圖像處理,RGB 武漢理工大學(xué)本科生能力拓

3、展訓(xùn)練任務(wù)書學(xué)生姓名 專業(yè)班級(jí):指導(dǎo)教師 : 工作單位 :自動(dòng)化學(xué)院題目: 圖像顏色RGB調(diào)整的MATLAB實(shí)現(xiàn) 初始條件: PC機(jī),MATLAB要求完成的主要任務(wù):對(duì)24bits彩色圖像的顏色,使用RGB顏色模型, 來(lái)對(duì)其進(jìn)處理。 設(shè)計(jì)圖形界面(GUI)程序,使用三個(gè)滑動(dòng)條實(shí)現(xiàn)R,G,B各分量上下可調(diào)。調(diào)整范圍在0到1之間,即:滑動(dòng)條被拖動(dòng)時(shí),產(chǎn)生一個(gè)0到1之間的系數(shù),乘以該分量的原始值,得到調(diào)整后的分量值。顯示原始圖像,和調(diào)整后的圖像。同時(shí)顯示原始的R,G,B三分量的灰度圖像。任務(wù)安排:設(shè)計(jì)任務(wù)及要求分析方案比較及論證說(shuō)明系統(tǒng)原理闡述,寫入設(shè)計(jì)方案及結(jié)構(gòu)圖軟件設(shè)計(jì)說(shuō)明:軟件思想,流程圖,源

4、程序及注釋調(diào)試記錄及結(jié)果分析總結(jié)參考資料5篇以上附錄:程序清單時(shí)間安排:6月25日 安排設(shè)計(jì)任務(wù)6月28日 收集資料,方案選擇7月1日 程序設(shè)計(jì)7月5日-8日 程序調(diào)試7月8日- 撰寫報(bào)告9月7日 交設(shè)計(jì)報(bào)告 指導(dǎo)教師簽名: 年 月 日 系主任簽(或責(zé)任教師)簽名: 年 月 日 目錄摘要TOC o 1-3 h u HYPERLINK l _Toc1498 1.MATLAB簡(jiǎn)介 1.MATLAB簡(jiǎn)介 MATLAB是美國(guó)MathWorks公司出品的商業(yè)HYPERLINK /view/1658637.htm數(shù)學(xué)軟件,用于HYPERLINK /view/7420.htm算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以

5、及HYPERLINK /view/920695.htm數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB是matrix和laboratory兩個(gè)詞的組合,意為矩陣工廠(矩陣實(shí)驗(yàn)室 圖1-1HYPERLINK /picview/10598/10598/0/0ff41bd5ad6eddc42061e47838dbb6fd536633aa.html MATLAB工作界面)。是由美國(guó)HYPERLINK /view/1855191.htmmathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式HYPERLINK /view/8332.htm程序設(shè)計(jì)

6、的高科技計(jì)算環(huán)境。它將HYPERLINK /view/295760.htm數(shù)值分析、HYPERLINK /view/2627393.htm矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非HYPERLINK /view/300474.htm線性動(dòng)態(tài)系統(tǒng)的HYPERLINK /view/44500.htm建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效HYPERLINK /view/920695.htm數(shù)值計(jì)算的眾多科學(xué)HYPERLINK /view/257682.htm領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式HYPERLINK /view/1285

7、11.htm程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。MATLAB和HYPERLINK /view/30608.htmMathematica、HYPERLINK /view/127864.htmMaple并稱為三大HYPERLINK /view/1284.htm數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行HYPERLINK /view/10337.htm矩陣運(yùn)算、繪制HYPERLINK /view/15061.htm函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)HYPERLINK /view/7420.htm算法、創(chuàng)建用戶界面、連接其他HYPER

8、LINK /view/552871.htm編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、HYPERLINK /view/642820.htm信號(hào)處理與通訊、HYPERLINK /view/14662.htm圖像處理、HYPERLINK /view/1345304.htm信號(hào)檢測(cè)、HYPERLINK /view/2659790.htm金融建模設(shè)計(jì)與分析等HYPERLINK /view/257682.htm領(lǐng)域。MATLAB的基本數(shù)據(jù)單位是矩陣,它的HYPERLINK /view/178461.htm指令HYPERLINK /view/420676.htm表達(dá)式與HYPERLINK /view/

9、1284.htm數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來(lái)解算問(wèn)題要比用C,HYPERLINK /view/36402.htmFORTRAN等語(yǔ)言完成相同的事情簡(jiǎn)捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的HYPERLINK /view/1658637.htm數(shù)學(xué)軟件。在新的版本中也加入了對(duì)HYPERLINK /view/10075.htmC,HYPERLINK /view/36402.htmFORTRAN,HYPERLINK /view/824.htmC+,HYPERLINK /view/29.htmJAVA的支持??梢灾苯诱{(diào)用,用戶也可以將

10、自己編寫的實(shí)用程序?qū)氲組ATLABHYPERLINK /view/15061.htm函數(shù)庫(kù)中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用。2.圖像處理簡(jiǎn)介數(shù)字圖像處理,通俗地講是指應(yīng)用計(jì)算機(jī)以及數(shù)字設(shè)備對(duì)圖像進(jìn)行加工處理的技術(shù)。2.1.數(shù)字圖像處理發(fā)展概述20世紀(jì)20年代,圖像處理技術(shù)首次應(yīng)用于改善倫敦到紐約之間的海底電纜傳送圖片的質(zhì)量。1964年,美國(guó)噴氣推動(dòng)實(shí)驗(yàn)室用計(jì)算機(jī)成功地對(duì)4000多張?jiān)虑蛘掌M(jìn)行處理。 70年代中期,隨著離散數(shù)學(xué)理論的創(chuàng)立和完善,數(shù)字圖像處理技術(shù)得到了迅猛的發(fā)展,理論和方法不斷完善。90年代,隨著個(gè)人計(jì)算機(jī)進(jìn)入

11、家庭,硬件價(jià)格不斷下降,數(shù)字世界逐漸進(jìn)入人們的生活。2.2.圖像處理技術(shù)圖像處理技術(shù)包括:1.圖像信息的獲取:為了在計(jì)算機(jī)上進(jìn)行圖像處理,必須把作為處理對(duì)象的模擬圖像轉(zhuǎn)換成數(shù)字圖像信息。圖像信息的獲取,一般包括圖像的攝取、轉(zhuǎn)換及數(shù)字化等幾個(gè)步驟。該部分主要由處理系統(tǒng)硬件實(shí)現(xiàn)。2.圖像信息的存儲(chǔ)于交換:由于數(shù)字圖像信息量大,且在處理過(guò)程中必須對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和交換,為了解決大數(shù)據(jù)量及交換與傳輸時(shí)間的矛盾,通常除采用大容量機(jī)內(nèi)存存儲(chǔ)器進(jìn)行并行傳送,直接存儲(chǔ)訪問(wèn)外,還必須采用外部磁盤、光盤及磁帶存儲(chǔ)方式,從而達(dá)到提高處理的目的。該部分組要功能也由硬件完成。3.數(shù)字圖像處理:數(shù)字圖像處理,即把在空間上離

12、散的,在幅度上量化分層的數(shù)字圖像,在經(jīng)過(guò)一些特定數(shù)理模式的加工處理,以達(dá)到有利于人眼視覺(jué)或某種接收系統(tǒng)所需要的圖像過(guò)程。4.數(shù)字圖像通訊:80年代以來(lái),由于計(jì)算機(jī)技術(shù)和超大規(guī)模集成電路技術(shù)的巨大發(fā)展,推動(dòng)了通訊技術(shù)(包括語(yǔ)言、數(shù)據(jù)、圖像)的飛速發(fā)展。因?yàn)閳D像通訊具有形象直觀、可靠、高效率等一系列優(yōu)點(diǎn),尤其是數(shù)字圖像通訊比模擬圖像通訊更具抗干擾性,便于壓縮編碼處理和易于加密,因此在圖像通訊工程中數(shù)字處理技術(shù)獲得廣泛應(yīng)用。5.圖像的輸出和顯示:數(shù)字圖像處理的最終目的是為了提供便于人眼或接收系統(tǒng)解釋和社別圖像,因此圖像的輸出和顯示很重要。一般圖像輸出的方式可分為硬拷貝,諸如照相、打印、掃描鼓等,還有

13、所謂的軟拷貝,諸如CRT監(jiān)視器及各種新型的平板監(jiān)視器等。3圖像處理的內(nèi)容圖像處理的內(nèi)容包括:1.圖像數(shù)字化:圖像數(shù)字化即圖像采樣和量化,是指把連續(xù)的圖像信號(hào)變?yōu)殡x散的數(shù)字信號(hào),以適應(yīng)計(jì)算機(jī)的處理。2.圖像編碼壓縮:把數(shù)字化的圖像數(shù)據(jù)按一定規(guī)則進(jìn)行排列或運(yùn)算過(guò)程,稱為圖像編碼。利用圖像本身的內(nèi)在特性,通過(guò)某種特殊的編碼方式,達(dá)到減少原圖像數(shù)據(jù)時(shí)空占用量的處理叫做圖像壓縮編碼。3.圖像變換:一般指利用正交變換的性質(zhì)和特點(diǎn),將圖像轉(zhuǎn)換到變換域中進(jìn)行處理,并且大部分變換都有快速算法。4.圖像增強(qiáng):圖像增強(qiáng)的目的是突出圖像中所感興趣的部分,如強(qiáng)化圖像的高頻分量,可使圖像中物體輪廓清晰,細(xì)節(jié)明顯。5.圖像

14、復(fù)原:圖像復(fù)原是盡可能恢復(fù)圖像的本來(lái)面貌,是對(duì)圖像整體而言,而且在復(fù)原處理時(shí),往往必須追求降質(zhì)原因,以便“對(duì)癥下藥”,而增強(qiáng)往往是局部。6.圖像分割:將圖像中包含的物體,按其灰度或幾何特性分割,并進(jìn)行處理分析,從中提取有效分量、數(shù)據(jù)等有用信息。這是進(jìn)一步進(jìn)行圖像處理如模式識(shí)別、機(jī)器視覺(jué)等技術(shù)的基礎(chǔ)。7.圖像分類:簡(jiǎn)單地說(shuō)就是在圖像分割的基礎(chǔ)上,進(jìn)行我體的判決分類。8.圖像重建:它是對(duì)一些三維物體,應(yīng)用x射線、超聲波等物理方法,取得物體內(nèi)部結(jié)構(gòu)數(shù)據(jù),再將這些數(shù)據(jù)進(jìn)行運(yùn)算處理而構(gòu)成物體內(nèi)部某些部位的圖像。目前圖像重建最成功的例子是CT技術(shù)(計(jì)算機(jī)斷層掃描成像技術(shù))、彩色超聲波等。RGB模型 RGB

15、模型也稱為加色法混色模型。它是以RGB三色光互相疊加來(lái)實(shí)現(xiàn)混色的方法,因而適合于顯示器等發(fā)光體的顯示。其混色規(guī)律是:以等量的紅、綠、藍(lán)基色光混合時(shí)。 如果是三原色光中的兩種色光(注意,不是顏料)進(jìn)行等比例混合的話,那么,得到的結(jié)果是品紅、黃、青三色光。紅+綠=黃紅+藍(lán)=品紅綠+藍(lán)=青紅+綠+藍(lán)=白三種基色光全無(wú)=黑這是色光混合,稱為加色混合法。加色法的混色規(guī)律可用圖表示。其配色方程描述:F(物體顏色)=R(紅色的百分比)+G(綠色的百分比)+B(藍(lán)色的百分比)如果就是這三種顏料相混的話,那么,大體上,紅+綠=暗灰紅;紅+藍(lán)=紫色;綠+藍(lán)=青綠色。這是色彩混合,稱為減色混合法。切記,色光混合跟顏

16、料混合是不同性質(zhì)的。4.GUI界面設(shè)定1.在matlab命令窗口中運(yùn)行g(shù)uide命令,來(lái)打開GUIDE界面,如下: 圖4-1 GUIDE界面2.然后,選擇空模板(Blang GUI),點(diǎn)擊OK,即可打開GUIDE 的設(shè)計(jì)界面,如下: 圖4-2 GUIDE設(shè)計(jì)界面3.點(diǎn)擊工具欄上的菜單編輯器(Menu Editor),打開菜單編輯器,如下: 圖4-3 菜單編輯器在Menu Bar 中新建一個(gè)菜單項(xiàng),名字為“文件”,其他設(shè)置請(qǐng)看下圖: 圖4-4 菜單屬性設(shè)置5.在“文件”菜單下添加菜單項(xiàng):“打開”,“保存”,“退出”。見下圖: 圖4-5 完成后的菜單編輯器6.保存我的界面為pjimage.fig.

17、 保存完畢之后,會(huì)自動(dòng)打開pjimage.m 文件,而我們所有的程序都是要寫在這個(gè)M 文件里面的。在界面上,單擊鼠標(biāo)右鍵選擇“Property Inspector”,即可打開屬性窗口。設(shè)置當(dāng)前Figure 窗口的Tag 屬性為:figure_pjimage,窗口的標(biāo)題(Name 屬性)為:圖像處理圖像處理實(shí)例,如下: 圖4-6 GUI界面屬性設(shè)置7.然后點(diǎn)擊GUI界面坐側(cè)的Axes按鈕在界面設(shè)置出兩個(gè)坐標(biāo)空間,并用上面的方法將兩個(gè)坐標(biāo)空間的Tag屬性改為“axes_src”和 “axes_dst”;然后點(diǎn)擊GUI界面坐廁的push Button按鈕,在界面上設(shè)置兩個(gè)按鈕1,并用上面的方法將兩個(gè)

18、按鈕的Tag屬性分別設(shè)置為 “pushbutton_cf” 和 “pushbutton_hz”,String屬性分別設(shè)置為 “DCT button”和 “HZ Button”,BabckgroundClor 屬性分別設(shè)置為黃色和紅色。設(shè)置完后進(jìn)行保存,得到界面如下圖上所示: 圖4-7 設(shè)置完成的GUI界面5.仿真處理設(shè)計(jì)好圖形界面(GUI)程序,使用三個(gè)滑動(dòng)條實(shí)現(xiàn)R,G,B各分量上下可調(diào),即是如下圖所示。 圖5-1原始圖像和調(diào)節(jié)后的圖像改變其紅綠藍(lán)系數(shù),得到如下圖 圖5-2 改變滑動(dòng)條后的調(diào)整圖像至此,該過(guò)程結(jié)束,達(dá)到題目的要求,使用三個(gè)滑動(dòng)條實(shí)現(xiàn)R,G,B各分量上下可調(diào)。調(diào)整范圍在0到1之間

19、,顯示原始圖像,和調(diào)整后的圖像。同時(shí)顯示原始的R,G,B三分量的灰度圖像。圖像顏色RGB調(diào)整的MATLAB實(shí)現(xiàn)完成。 總結(jié) 本次的基礎(chǔ)強(qiáng)化訓(xùn)練結(jié)束后,我感觸頗深。想到萬(wàn)事開頭難,的確是這樣的。剛開始接觸MATLAB時(shí),感覺(jué)什么都不懂,因?yàn)檫@個(gè)軟件的復(fù)雜性遠(yuǎn)遠(yuǎn)超出了其他的軟件,全英文不說(shuō),還比較繁瑣。其實(shí)本次課程設(shè)計(jì)的難點(diǎn)就是在程序編程上面和軟件的使用上。如果以前沒(méi)用過(guò)這個(gè)軟件,我們會(huì)很難下手,但是通過(guò)慢慢的熟悉這個(gè)軟件后,發(fā)現(xiàn)其實(shí)主要的難點(diǎn)就是在程序上了。如果沒(méi)有程序還是很難做出來(lái)的。因?yàn)楸敬握n設(shè)所涉及到的知識(shí)相Matlab的GUI界面以及所涉及到的圖像處理知識(shí)其實(shí)都只是皮毛。在做起來(lái)后,發(fā)現(xiàn)

20、網(wǎng)上查閱資料是很困難的,因?yàn)榫W(wǎng)上資料不全,所以只好查閱相關(guān)資料,查閱相關(guān)MATLAB書籍,在有了相關(guān)的知識(shí)儲(chǔ)備后,開始著手設(shè)計(jì),一次次是失敗中找原因,有時(shí)候找不出來(lái)真的是很急,這是候我很感謝同學(xué)的無(wú)私幫助,關(guān)于好多問(wèn)題,我請(qǐng)教的他們,沒(méi)有同學(xué)的幫忙這次基礎(chǔ)強(qiáng)化訓(xùn)練真的是很難做出來(lái)的。當(dāng)最后程序?qū)懲辏逊抡孀鐾陼r(shí),我終于長(zhǎng)長(zhǎng)的舒了口氣。本次基礎(chǔ)強(qiáng)化訓(xùn)練大大的加強(qiáng)了我對(duì)MATLAB軟件的熟悉程度和處理問(wèn)題能力,同時(shí)也鍛煉了我查閱相關(guān)資料的能力和自我思考能力。 參考文獻(xiàn)1.李顯宏 MATLAB7.x界面設(shè)計(jì)與編譯技巧 電子工業(yè)出版社 20062. 飛思科技產(chǎn)品研發(fā)中心 MATLAB6.5輔助圖像處理

21、 電子工業(yè)出版社 20033. 羅軍輝 馮平 MATLAB7.0在圖像處理中的應(yīng)用 機(jī)械工業(yè)出版社 20074. 秦襄培 鄭賢中 MATLAB圖像處理寶典 電子工業(yè)出版社 20115. 賀興華 周媛媛 MATLAB7.x圖像處理 人民郵電出版社 2006附錄程序清單:function varargout = pjimage(varargin)% PJIMAGE MATLAB code for pjimage.fig% PJIMAGE, by itself, creates a new PJIMAGE or raises the existing% singleton*.% H = PJIMAG

22、E returns the handle to a new PJIMAGE or the handle to% the existing singleton*.% PJIMAGE(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in PJIMAGE.M with the given input arguments.% PJIMAGE(Property,Value,.) creates a new PJIMAGE or raises the% existing singleton*. S

23、tarting from the left, property value pairs are% applied to the GUI before pjimage_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to pjimage_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose GUI al

24、lows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help pjimage% Last Modified by GUIDE v2.5 06-Sep-2013 16:11:48% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Sing

25、leton, gui_Singleton, . gui_OpeningFcn, pjimage_OpeningFcn, . gui_OutputFcn, pjimage_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_St

26、ate, varargin:);end% End initialization code - DO NOT EDIT% Executes just before pjimage is made visible.function pjimage_OpeningFcn(hObject, eventdata, handles, varargin)setappdata(handles.figure_pjimage,img_src,0);% This function has no output args, see OutputFcn.% hObject handle to figure% eventd

27、ata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to pjimage (see VARARGIN)% Choose default command line output for pjimagehandles.output = hObject;% Update handles structureguidata(hObject, handles

28、);% UIWAIT makes pjimage wait for user response (see UIRESUME)% uiwait(handles.figure_pjimage);% Outputs from this function are returned to the command line.function varargout = pjimage_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject

29、handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = handles.output;% % Executes on slider movement.function slider1_Callback(hObject, eventda

30、ta, handles)% hObject handle to slider1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,Value) returns position of slider% get(hObject,Min) and get(hObject,Max) to determine range of slidergl

31、obal Rglobal Gglobal Bglobal val1global val2global val3val1=get(hObject,Value);set(handles.text1,String,num2str(val1);axes(handles.axes3);imshow(val1*R);axes(handles.axes4);imshow(val2*G);axes(handles.axes5);imshow(val3*B);axes(handles.axes2);I=cat(3,val1*R,val2*G,val3*B);imshow(I);% Executes during

32、 object creation, after setting all properties.function slider1_CreateFcn(hObject, eventdata, handles)% hObject handle to slider1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls

33、 usually have a light gray background.if isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,.9 .9 .9);end% Executes on slider movement.function slider2_Callback(hObject, eventdata, handles)% hObject handle to slider2 (see GCBO)% eventdata reserve

34、d - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,Value) returns position of slider% get(hObject,Min) and get(hObject,Max) to determine range of sliderglobal Rglobal Gglobal Bglobal val1global val2global val3val2=get(hObje

35、ct,Value);set(handles.text2,String,num2str(val2);axes(handles.axes3);imshow(val1*R);axes(handles.axes4);imshow(val2*G);axes(handles.axes5);imshow(val3*B);axes(handles.axes2);I=cat(3,val1*R,val2*G,val3*B);imshow(I);% Executes during object creation, after setting all properties.function slider2_Creat

36、eFcn(hObject, eventdata, handles)% hObject handle to slider2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls usually have a light gray background.if isequal(get(hObject,Backgrou

37、ndColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,.9 .9 .9);end% Executes on slider movement.function slider3_Callback(hObject, eventdata, handles)% hObject handle to slider3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure wi

38、th handles and user data (see GUIDATA)% Hints: get(hObject,Value) returns position of slider% get(hObject,Min) and get(hObject,Max) to determine range of sliderglobal Rglobal Gglobal Bglobal val1global val2global val3val3=get(hObject,Value);set(handles.text3,String,num2str(val3);axes(handles.axes3);

39、imshow(val1*R);axes(handles.axes4);imshow(val2*G);axes(handles.axes5);imshow(val3*B);axes(handles.axes2);I=cat(3,val1*R,val2*G,val3*B);imshow(I);% Executes during object creation, after setting all properties.function slider3_CreateFcn(hObject, eventdata, handles)% hObject handle to slider3 (see GCB

40、O)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls usually have a light gray background.if isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,Backgrou

41、ndColor,.9 .9 .9);end% function Untitled_1_Callback(hObject, eventdata, handles)% hObject handle to Untitled_1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% function m_file_open_Callback(hObject, eventdata, h

42、andles)% hObject handle to m_file_open (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)filename,pathname=uigetfile(.*.bmp;*.jpg;*.png;*.jpeg,ImageFiles(*.bmp,*.jpg,*.png,*.jpeg);.*.*,All Files(*.*),.Pick an image

43、);if isequal(filename,0)|isequal(pathname,0), return; endglobal Rglobal Gglobal Baxes(handles.axes1); fpath=pathname filename; w=imread(fpath); imshow(w); A=w; R=A(:,:,1);G=A(:,:,2);B=A(:,:,3);% function m_file_save_Callback(hObject, eventdata, handles)filename,pathname=uiputfile(*.bmp,BMP files;*.j

44、pg;,JPG files,Pick an Image);if isequal(filename,0)|isequal(pathname,0) return;else fpath=fullfile(pathname,filename);endimg_src=getappdata(handles.figure_pjimage,img_src);imwrite(imc_src,fpath);% hObject handle to m_file_save (see GCBO)% eventdata reserved - to be defined in a future version of MAT

45、LAB% handles structure with handles and user data (see GUIDATA)% function m_file_exit_Callback(hObject, eventdata, handles)close(handles.figure_pjimage);% hObject handle to m_file_exit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and us

46、er data (see GUIDATA)% Executes on slider movement.function slider1_Callback(hObject, eventdata, handles)% hObject handle to slider1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,Value) ret

47、urns position of slider% get(hObject,Min) and get(hObject,Max) to determine range of sliderglobal Rglobal Gglobal Bval1=get(hObject,Value); set(handles.text1,String,num2str(val1);axes(handles.axes3);imshow(val1*R);% Executes during object creation, after setting all properties.function slider1_Creat

48、eFcn(hObject, eventdata, handles)% hObject handle to slider1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls usually have a light gray background.if isequal(get(hObject,Backgrou

49、ndColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,.9 .9 .9);end% Executes on slider movement.function slider2_Callback(hObject, eventdata, handles)% hObject handle to slider2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure wi

50、th handles and user data (see GUIDATA)% Hints: get(hObject,Value) returns position of slider% get(hObject,Min) and get(hObject,Max) to determine range of slider% Executes during object creation, after setting all properties.function slider2_CreateFcn(hObject, eventdata, handles)% hObject handle to s

51、lider2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls usually have a light gray background.if isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(h

52、Object,BackgroundColor,.9 .9 .9);end% Executes on slider movement.function slider3_Callback(hObject, eventdata, handles)% hObject handle to slider3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hOb

53、ject,Value) returns position of slider% get(hObject,Min) and get(hObject,Max) to determine range of slider% Executes during object creation, after setting all properties.function slider3_CreateFcn(hObject, eventdata, handles)% hObject handle to slider3 (see GCBO)% eventdata reserved - to be defined

54、in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls usually have a light gray background.if isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,.9 .9 .9);end附錄資料:不需要的可以自行刪除各類濾

55、波器的MATLAB程序理想低通濾波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),meshgrid);Hd=ones(size(IA);r=sqrt(f1.2+f2.2);Hd(r0.2)=0;Y=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor

56、,none,Facelighting,phong); 二、理想高通濾波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),meshgrid);Hd=ones(size(IA);r=sqrt(f1.2+f2.2);Hd(r0.2)=0;Y=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Fac

57、ecolor,interp,Edgecolor,none,Facelighting,phong); Butterworth低通濾波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),meshgrid);D=0.3;r=f1.2+f2.2;n=4;for i=1:size(IA,1) for j=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=1/(tn+1); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);fig

58、uresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); Butterworth高通濾波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),meshgrid);D=0.3;r=f1.2+f2.2;n=4;for i=1:size(IA,1) for j=1:size(IA,2) t=(D*D)/r(i,j); Hd(i,j)=1/(tn+1); e

59、ndendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 高斯低通濾波器IA=imread(lena.bmp);IB=imread(babarra.bmp);f1,f2=freqspace(size(IA),meshgri

60、d);D=100/size(IA,1);r=f1.2+f2.2;Hd=ones(size(IA);for i=1:size(IA,1) for j=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=exp(-t); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,inte

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論