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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p>  1.課程設(shè)計(jì)的主要任務(wù)及目的1</p><p>  1.設(shè)計(jì)的主要任務(wù)1</p><p>  2.圖像處理簡(jiǎn)介2</p><p>  1.數(shù)字圖像處理發(fā)展概述2</p><p>  2.圖像處理技術(shù)2</p>

2、<p>  3.圖像處理的內(nèi)容3</p><p>  3.GUI及HIS模型簡(jiǎn)介4</p><p><b>  1.GUI簡(jiǎn)介4</b></p><p>  2.HIS模型簡(jiǎn)介4</p><p>  4.GUI界面設(shè)計(jì)7</p><p><b>  6.仿真結(jié)果10

3、</b></p><p><b>  6.總結(jié)12</b></p><p><b>  參考文獻(xiàn)13</b></p><p><b>  附錄14</b></p><p>  圖像HSI調(diào)整的MATLAB實(shí)現(xiàn)</p><p>  1.課

4、程設(shè)計(jì)的主要任務(wù)及目的</p><p><b>  1.設(shè)計(jì)的主要任務(wù)</b></p><p>  對(duì)24bits彩色圖像的顏色,使用HSI顏色模型,來對(duì)其進(jìn)處理。</p><p>  設(shè)計(jì)圖形界面(GUI)程序,使用三個(gè)滑動(dòng)條實(shí)現(xiàn)H,S,I各分量上下可調(diào)。調(diào)整范圍在0到1之間,即:滑動(dòng)條被拖動(dòng)時(shí),產(chǎn)生一個(gè)0到1之間的系數(shù),乘以該分量的原始值,

5、得到調(diào)整后的分量值。顯示原始圖像,和調(diào)整后的圖像。同時(shí)顯示原始的H,S,I三分量灰度圖像。</p><p><b>  2.課程設(shè)計(jì)的目的</b></p><p>  1.綜合運(yùn)用相關(guān)課程中所學(xué)到的理論知識(shí)去獨(dú)立完成設(shè)計(jì)課題。</p><p>  2.通過查閱手冊(cè)和相關(guān)文獻(xiàn)資料,培養(yǎng)獨(dú)立分析和解決問題的能力。</p><p&

6、gt;  3.進(jìn)一步熟悉Matlab運(yùn)用和圖像處理的知識(shí),加深對(duì)專業(yè)知識(shí)和理論知識(shí)學(xué)習(xí)的認(rèn)識(shí)和理解。</p><p>  4.學(xué)會(huì)撰寫課程設(shè)計(jì)的總結(jié)報(bào)告。</p><p>  5.培養(yǎng)嚴(yán)肅認(rèn)真的工作作風(fēng)和嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度。</p><p><b>  2.圖像處理簡(jiǎn)介</b></p><p>  數(shù)字圖像處理,通俗地講是指

7、應(yīng)用計(jì)算機(jī)以及數(shù)字設(shè)備對(duì)圖像進(jìn)行加工處理的技術(shù)。</p><p>  1.數(shù)字圖像處理發(fā)展概述</p><p>  20世紀(jì)20年代,圖像處理技術(shù)首次應(yīng)用于改善倫敦到紐約之間的海底電纜傳送圖片的質(zhì)量。</p><p>  1964年,美國(guó)噴氣推動(dòng)實(shí)驗(yàn)室用計(jì)算機(jī)成功地對(duì)4000多張?jiān)虑蛘掌M(jìn)行處理。</p><p>  70年代中期,隨著離散數(shù)

8、學(xué)理論的創(chuàng)立和完善,數(shù)字圖像處理技術(shù)得到了迅猛的發(fā)展,理論和方法不斷完善。</p><p>  90年代,隨著個(gè)人計(jì)算機(jī)進(jìn)入家庭,硬件價(jià)格不斷下降,數(shù)字世界逐漸進(jìn)入人們的生活。</p><p><b>  2.圖像處理技術(shù)</b></p><p><b>  圖像處理技術(shù)包括:</b></p><p&g

9、t;  1.圖像信息的獲取:為了在計(jì)算機(jī)上進(jìn)行圖像處理,必須把作為處理對(duì)象的模擬圖像轉(zhuǎn)換成數(shù)字圖像信息。圖像信息的獲取,一般包括圖像的攝取、轉(zhuǎn)換及數(shù)字化等幾個(gè)步驟。該部分主要由處理系統(tǒng)硬件實(shí)現(xiàn)。</p><p>  2.圖像信息的存儲(chǔ)于交換:由于數(shù)字圖像信息量大,且在處理過程中必須對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和交換,為了解決大數(shù)據(jù)量及交換與傳輸時(shí)間的矛盾,通常除采用大容量機(jī)內(nèi)存存儲(chǔ)器進(jìn)行并行傳送,直接存儲(chǔ)訪問外,還必須采用外部

10、磁盤、光盤及磁帶存儲(chǔ)方式,從而達(dá)到提高處理的目的。該部分組要功能也由硬件完成。</p><p>  3.數(shù)字圖像處理:數(shù)字圖像處理,即把在空間上離散的,在幅度上量化分層的數(shù)字圖像,在經(jīng)過一些特定數(shù)理模式的加工處理,以達(dá)到有利于人眼視覺或某種接收系統(tǒng)所需要的圖像過程。</p><p>  4.數(shù)字圖像通訊:80年代以來,由于計(jì)算機(jī)技術(shù)和超大規(guī)模集成電路技術(shù)的巨大發(fā)展,推動(dòng)了通訊技術(shù)(包括語(yǔ)言

11、、數(shù)據(jù)、圖像)的飛速發(fā)展。因?yàn)閳D像通訊具有形象直觀、可靠、高效率等一系列優(yōu)點(diǎn),尤其是數(shù)字圖像通訊比模擬圖像通訊更具抗干擾性,便于壓縮編碼處理和易于加密,因此在圖像通訊工程中數(shù)字處理技術(shù)獲得廣泛應(yīng)用。</p><p>  5.圖像的輸出和顯示:數(shù)字圖像處理的最終目的是為了提供便于人眼或接收系統(tǒng)解釋和社別圖像,因此圖像的輸出和顯示很重要。一般圖像輸出的方式可分為硬拷貝,諸如照相、打印、掃描鼓等,還有所謂的軟拷貝,諸如

12、CRT監(jiān)視器及各種新型的平板監(jiān)視器等。</p><p><b>  3.圖像處理的內(nèi)容</b></p><p>  圖像處理的內(nèi)容包括:</p><p>  1.圖像數(shù)字化:圖像數(shù)字化即圖像采樣和量化,是指把連續(xù)的圖像信號(hào)變?yōu)殡x散的數(shù)字信號(hào),以適應(yīng)計(jì)算機(jī)的處理。</p><p>  2.圖像編碼壓縮:把數(shù)字化的圖像數(shù)據(jù)按

13、一定規(guī)則進(jìn)行排列或運(yùn)算過程,稱為圖像編碼。利用圖像本身的內(nèi)在特性,通過某種特殊的編碼方式,達(dá)到減少原圖像數(shù)據(jù)時(shí)空占用量的處理叫做圖像壓縮編碼。</p><p>  3.圖像變換:一般指利用正交變換的性質(zhì)和特點(diǎn),將圖像轉(zhuǎn)換到變換域中進(jìn)行處理,并且大部分變換都有快速算法。</p><p>  4.圖像增強(qiáng):圖像增強(qiáng)的目的是突出圖像中所感興趣的部分,如強(qiáng)化圖像的高頻分量,可使圖像中物體輪廓清晰,

14、細(xì)節(jié)明顯。</p><p>  5.圖像復(fù)原:圖像復(fù)原是盡可能恢復(fù)圖像的本來面貌,是對(duì)圖像整體而言,而且在復(fù)原處理時(shí),往往必須追求降質(zhì)原因,以便“對(duì)癥下藥”,而增強(qiáng)往往是局部。</p><p>  6.圖像分割:將圖像中包含的物體,按其灰度或幾何特性分割,并進(jìn)行處理分析,從中提取有效分量、數(shù)據(jù)等有用信息。這是進(jìn)一步進(jìn)行圖像處理如模式識(shí)別、機(jī)器視覺等技術(shù)的基礎(chǔ)。</p><

15、;p>  7.圖像分類:簡(jiǎn)單地說就是在圖像分割的基礎(chǔ)上,進(jìn)行我體的判決分類。</p><p>  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ù))、彩色超聲波等。</p><p>  3.GUI及HIS模型簡(jiǎn)介</p>

16、<p><b>  1.GUI簡(jiǎn)介</b></p><p>  通常在開發(fā)一個(gè)應(yīng)用程序時(shí)都會(huì)盡量做到界面友好、直觀。最常用的方法就是使用圖形用戶界面。在Matlab中,圖形用戶界面是一個(gè)包含多種對(duì)象的圖形窗口。用戶必須對(duì)功能對(duì)象進(jìn)行界面布局和編程,從而使用戶在激活GUI的功能對(duì)象時(shí)能夠執(zhí)行相應(yīng)的行為。</p><p>  Matlab為用戶開發(fā)圖形界面提供了

17、一個(gè)方便、高效的集成開發(fā)環(huán)境GUIDE(Graphic User Interface Development Environment)。GUIDE主要是一個(gè)界面設(shè)計(jì)工具集,Matlab將所有GUI的控件都集成在這個(gè)環(huán)境中并提供界面外觀、屬性和行為響應(yīng)方式的設(shè)置方法。GUIDE將用戶設(shè)計(jì)好的GUI界面保存在一個(gè)FIG文件中,同時(shí)還自動(dòng)生成一個(gè)包含GUI初始化和組件界面布局控制代碼的M文件。這個(gè)M文件為實(shí)現(xiàn)回調(diào)函數(shù)(當(dāng)用戶激活GUI某一個(gè)組

18、件時(shí)執(zhí)行的函數(shù))提供了一個(gè)參考框架,這樣既簡(jiǎn)化了GUI應(yīng)用程序的創(chuàng)建工作,用戶又可以直接使用這個(gè)框架來編寫自己的函數(shù)代碼。</p><p>  整個(gè)GUI的實(shí)現(xiàn)過程可以分為以下幾步:</p><p>  1.使用界面設(shè)計(jì)編輯器進(jìn)行GUI界面布局設(shè)計(jì);</p><p>  2.理解應(yīng)用程序M文件中所使用的編程技術(shù);</p><p>  3.編寫

19、GUI組件行為響應(yīng)控制(即回調(diào)函數(shù))代碼。</p><p><b>  2.HIS模型簡(jiǎn)介</b></p><p>  在圖像處理及顯示的過程中,為了能正確的使用顏色模型,需要建立顏色模型。顏色模型是三維顏色空間中的一個(gè)可見光集,它包含某個(gè)顏色域的所有模型。常見的顏色模型有RGB,HSV,NTSC,HIS,YCbCr等,各顏色模型之間可通過公式進(jìn)行相互轉(zhuǎn)換。</

20、p><p>  HSI〔Hue-Saturation-Intensity(Lightness),HSI或HSL〕顏色模型用H、S、I三參數(shù)描述顏色特性,其中H定義顏色的波長(zhǎng),稱為色調(diào);S表示顏色的深淺程度,稱為飽和度;I表示強(qiáng)度或亮度 </p><p>  當(dāng)人觀察一個(gè)彩色物體時(shí),用色調(diào)、飽和度、亮度來描述物體的顏色。色調(diào)是描述純色的屬性(純黃色、橘黃或者紅色);飽和度給出一種純色被白光稀釋的

21、程度的度量;亮度是一個(gè)主觀的描述,實(shí)際上,它是不可以測(cè)量的,體現(xiàn)了無色的強(qiáng)度概念,并且是描述彩色感覺的關(guān)鍵參數(shù)。而強(qiáng)度(灰度)是單色圖像最有用的描述子,這個(gè)量是可以測(cè)量且很容易解釋。則將提出的這個(gè)模型稱作為HSI(色調(diào)、飽和度、強(qiáng)度)彩色模型,該模型可在彩色圖像中從攜帶的彩色信息(色調(diào)和飽和度)里消去強(qiáng)度分量的影響,使得HSI模型成為開發(fā)基于彩色描述的圖像處理方法的良好工具,而這種彩色描述對(duì)人來說是自然而直觀的。</p>

22、<p>  HSI模型基于兩個(gè)重要的事實(shí):其一,I分量與圖象的彩色信息無關(guān);其二,H和S分量與人感受顏色的方式是緊密相連的。</p><p>  HSI模型中的各分量可定義在如圖1(a)中所示的雙棱錐中,其中每個(gè)橫截面如圖1(b)所示。對(duì)其中的任1個(gè)色點(diǎn)P,其H的值對(duì)應(yīng)指向該點(diǎn)的矢量與R軸的夾角。這個(gè)點(diǎn)的S與指向該點(diǎn)的矢量長(zhǎng)成正比,越長(zhǎng)越飽和。</p><p><b>

23、  圖1.HIS模型</b></p><p>  圖片的RGB模型轉(zhuǎn)換成HIS模型的方法有多種,包括:幾何推導(dǎo)法,坐標(biāo)變換法,分段定義法,Bajon近似算法,標(biāo)準(zhǔn)模型法,具體轉(zhuǎn)換方法見圖2</p><p>  圖2.幾種RGB模型轉(zhuǎn)換為HIS模型方法</p><p>  本次課設(shè)采用的是方法1:幾何推導(dǎo)法,程序如下</p><p>

24、;  r = im(:, :, 1);</p><p>  g = im(:, :, 2);</p><p>  b = im(:, :, 3);</p><p><b>  %I</b></p><p>  I = (r + g + b)/3;</p><p><b>  %S<

25、/b></p><p>  tmp1 = min(min(r, g), b);</p><p>  tmp2 = r + g + b;</p><p>  tmp2(tmp2 == 0) = eps;</p><p>  S = 1 - 3.*tmp1./tmp2;</p><p><b>  %H&l

26、t;/b></p><p>  tmp1 = 0.5*((r - g) + (r - b));</p><p>  tmp2 = sqrt((r - g).^2 + (r - b).*(g - b));</p><p>  theta = acos(tmp1./(tmp2 + eps));</p><p>  H = theta;<

27、;/p><p>  H(b > g) = 2*pi - H(b > g);</p><p>  H = H/(2*pi);</p><p>  H(S == 0) = 0;</p><p><b>  4.GUI界面設(shè)計(jì)</b></p><p>  GUI界面設(shè)計(jì)圖如下圖1所示</p

28、><p>  圖3.GUI界面設(shè)計(jì)圖</p><p>  GUI界面中各元件的作用以及程序如下:</p><p>  axes1:用于顯示所選擇的圖片;</p><p>  axes2:用于顯示H分量灰度圖像;</p><p>  axes3:用于顯示S分量灰度圖像;</p><p>  axes4

29、:用于顯示I分量灰度圖像;</p><p>  axes5:用于顯示調(diào)節(jié)H,S,I分量后的圖像;</p><p>  pushbutton1:點(diǎn)擊該按鈕后,可以打開資源管理器,并從中選擇所要讀取處理的圖片。</p><p><b>  程序:</b></p><p><b>  global H</b&g

30、t;</p><p><b>  global S</b></p><p><b>  global I</b></p><p>  [filename ,pathname]=uigetfile({'*.jpg';'*.bmp';'*.bmp'},'&

31、#39;);</p><p>  str=[pathname filename];</p><p>  im=imread(str);</p><p>  axes(handles.axes1);</p><p>  imshow(im);</p><p>  im = im2double(im);</p>

32、<p>  r = im(:, :, 1);</p><p>  g = im(:, :, 2);</p><p>  b = im(:, :, 3);</p><p><b>  %I</b></p><p>  I = (r + g + b)/3;</p><p><b&g

33、t;  %S</b></p><p>  tmp1 = min(min(r, g), b);</p><p>  tmp2 = r + g + b;</p><p>  tmp2(tmp2 == 0) = eps;</p><p>  S = 1 - 3.*tmp1./tmp2;</p><p><b

34、>  %H</b></p><p>  tmp1 = 0.5*((r - g) + (r - b));</p><p>  tmp2 = sqrt((r - g).^2 + (r - b).*(g - b));</p><p>  theta = acos(tmp1./(tmp2 + eps));</p><p>  H =

35、 theta;</p><p>  H(b > g) = 2*pi - H(b > g);</p><p>  H = H/(2*pi);</p><p>  H(S == 0) = 0;</p><p>  axes(handles.axes5);</p><p>  imshow(H,S,I)</

36、p><p>  pushbutton2:點(diǎn)擊該按鈕后,將會(huì)分別在axes2,axes3,axes4上顯示原始的H,S,I三分量灰度圖像。</p><p><b>  程序:</b></p><p><b>  global H</b></p><p><b>  global S</b&

37、gt;</p><p><b>  global I</b></p><p>  axes(handles.axes2);</p><p>  imshow(H);</p><p>  axes(handles.axes3);</p><p>  imshow(S);</p><

38、;p>  axes(handles.axes4);</p><p>  imshow(I);</p><p>  slider1:改變圖片的H分量并將改變后的圖片顯示在axes5中。</p><p><b>  程序:</b></p><p><b>  global H</b></p&

39、gt;<p><b>  global S</b></p><p><b>  global I</b></p><p>  global sliderValue1</p><p>  global sliderValue2</p><p>  global sliderValue3&

40、lt;/p><p>  sliderValue1=get(handles.slider1,'Value');</p><p>  set(handles.edit1,'String',num2str(sliderValue1));</p><p>  guidata(hObject,handles);</p><p&g

41、t;  axes(handles.axes5);</p><p>  imshow(H*sliderValue1,S*sliderValue2,I*sliderValue3);</p><p>  slider2:改變圖片的H分量并將改變后的圖片顯示在axes5中。</p><p><b>  程序:</b></p><p&

42、gt;<b>  global H</b></p><p><b>  global S</b></p><p><b>  global I</b></p><p>  global sliderValue1</p><p>  global sliderValue2<

43、/p><p>  global sliderValue3</p><p>  sliderValue2=get(handles.slider2,'Value');</p><p>  set(handles.edit2,'String',num2str(sliderValue2));</p><p>  guida

44、ta(hObject,handles);</p><p>  axes(handles.axes5);</p><p>  imshow(H*sliderValue1,S*sliderValue2,I*sliderValue3);</p><p>  slider3:改變圖片的I分量并將改變后的圖片顯示在axes5中。</p><p><

45、;b>  程序:</b></p><p><b>  global H</b></p><p><b>  global S</b></p><p><b>  global I</b></p><p>  global sliderValue1</p&

46、gt;<p>  global sliderValue2</p><p>  global sliderValue3</p><p>  sliderValue3=get(handles.slider3,'Value');</p><p>  set(handles.edit3,'String',num2str(slid

47、erValue3));</p><p>  guidata(hObject,handles);</p><p>  axes(handles.axes5);</p><p>  imshow(H*sliderValue1,S*sliderValue2,I*sliderValue3);</p><p><b>  6.仿真結(jié)果<

48、/b></p><p>  點(diǎn)擊pushbutton1,選擇需要處理的圖片并顯示在axes1中。</p><p><b>  圖4.選擇圖片</b></p><p>  點(diǎn)擊pushbutton2,分別在axes2,axes3,axes4中顯示原始的H,S,I三分量灰度圖像</p><p>  圖5.原始H,S,I

49、三分量灰度圖像</p><p>  分別調(diào)節(jié)H,S,I三個(gè)slider改變圖片的H,S,I三個(gè)屬性并將改變后的圖片顯示在axes5中。</p><p>  圖6.調(diào)節(jié)H,S,I三分量后的圖片</p><p><b>  6.總結(jié)</b></p><p>  經(jīng)過將近一周的設(shè)計(jì),撰寫,本次課程設(shè)計(jì)圖像HIS調(diào)整的Matla

50、b實(shí)現(xiàn)終于完成了。本次課設(shè)有個(gè)特點(diǎn)就是剛開始著手是感覺很難,都不知道從哪里下手,但到完成的時(shí)候就發(fā)現(xiàn)其實(shí)并不難,根本不復(fù)雜。這是因?yàn)楸敬握n設(shè)所涉及到的知識(shí)相Matlab的GUI界面以及所涉及到的圖像處理知識(shí)以前我都沒接觸過,但當(dāng)做完才發(fā)現(xiàn)其實(shí)這次所涉及到的知識(shí)Matlab的GUI界面以及所涉及到的圖像處理知識(shí)都知識(shí)皮毛。</p><p>  還是和以前做課設(shè)一樣,完成本次課設(shè)共經(jīng)歷了三個(gè)階段。第一階段是查閱資料。

51、拿到課設(shè)題目后,我開始上網(wǎng)在網(wǎng)上找是否有以前學(xué)長(zhǎng)做過的可以供參考下,但是沒有找到,沒有辦法,只好全靠自己獨(dú)立完成了。于是,我便去了圖書館借了關(guān)于圖像處理方面以及Matlab在圖像處理方面的書籍,在結(jié)合老師發(fā)給的PDF文檔,課件,經(jīng)過將近一天辦的閱讀,總算對(duì)GUI,HIS模型有看一定的了解,大體的設(shè)計(jì)思路也出來了。</p><p>  第二階段便正式開始做了。首先是在GUI上畫圖,由于以前學(xué)習(xí)過VB方面的知識(shí),所以

52、對(duì)于GUI的使用并沒有無從下手的感覺。重要的就是在圖片變換那一塊了,對(duì)于將RGB模型轉(zhuǎn)換成HIS模型應(yīng)該算是本次課設(shè)最棘手的一塊了。我所借的資料上關(guān)于HIS模型的知識(shí)非常少,對(duì)于RGB與HIS之間的轉(zhuǎn)換根本沒提到,更何況還要編程實(shí)現(xiàn)。于是只好通過上網(wǎng)搜索,找了很多其他的模式之間的轉(zhuǎn)換,然后再將RGB于HIS轉(zhuǎn)換的公式代入,仿真。這其中經(jīng)過了很多次的失敗,包括圖像老是顯示不出來,程序出錯(cuò)等等,最終,經(jīng)過不斷的修改,調(diào)試,終于成功的完成了仿

53、真。</p><p>  最后一階段便是撰寫課程設(shè)計(jì)報(bào)告了。經(jīng)過多次的課程設(shè)計(jì),撰寫報(bào)告已經(jīng)算是最簡(jiǎn)單的一個(gè)環(huán)節(jié)了。但要寫好,將自己這將近一個(gè)星期的經(jīng)歷全部寫進(jìn)來也不是一個(gè)小的工程量的,還是要認(rèn)真,有耐心的去完成。</p><p>  總的來說,通過獨(dú)立完成本次課程設(shè)計(jì),對(duì)我本人而言收獲頗豐學(xué)到了許多新的知識(shí)。對(duì)Matlab這個(gè)重要的軟件進(jìn)一步熟悉了,也學(xué)到了一些圖像處理方面的知識(shí),同時(shí)自

54、己的實(shí)際動(dòng)手能力也得到了提升。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]《MATLAB/SIMULINK實(shí)用教程》張化光主編。人民郵電出版社,2009.3</p><p>  [2]《MATLAB6.5輔助圖像處理》飛思科技產(chǎn)品研發(fā)中心編著。 電子工業(yè)出版社,2003.1</p><p>

55、;  [3] 《Matlab7.x界面設(shè)計(jì)與編譯技巧》李宏顯主編。電子工業(yè)出版社,2005.3</p><p>  [4]《數(shù)字圖像處理》曹茂永主編。北京大學(xué)出版社,2007.9</p><p>  [5]《圖形圖像處理技術(shù)》張枝軍主編。北京大學(xué)出版社,2006.1</p><p><b>  附錄</b></p><p&g

56、t;<b>  程序清單:</b></p><p>  function varargout = untitled(varargin)</p><p>  % UNTITLED M-file for untitled.fig</p><p>  % UNTITLED, by itself, creates a new UNTITLED

57、 or raises the existing</p><p>  % singleton*.</p><p>  % H = UNTITLED returns the handle to a new UNTITLED or the handle to</p><p>  % the existing singleton*.</p

58、><p>  % UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local</p><p>  % function named CALLBACK in UNTITLED.M with the given input arguments.</p><p>  

59、% UNTITLED('Property','Value',...) creates a new UNTITLED or raises the</p><p>  % existing singleton*. Starting from the left, property value pairs are</p><p>  %

60、 applied to the GUI before untitled_OpeningFunction gets called. An</p><p>  % unrecognized property name or invalid value makes property application</p><p>  % stop. All inputs are

61、 passed to untitled_OpeningFcn via varargin.</p><p>  % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one</p><p>  % instance to run (singleton)".</

62、p><p>  % See also: GUIDE, GUIDATA, GUIHANDLES</p><p>  % Copyright 2002-2003 The MathWorks, Inc.</p><p>  % Edit the above text to modify the response to help untitled</p><

63、p>  % Last Modified by GUIDE v2.5 02-Sep-2012 21:18:36</p><p>  % Begin initialization code - DO NOT EDIT</p><p>  gui_Singleton = 1;</p><p>  gui_State = struct('gui_Name

64、9;, mfilename, ...</p><p>  'gui_Singleton', gui_Singleton, ...</p><p>  'gui_OpeningFcn', @untitled_OpeningFcn, ...</p><p>  'gui_OutputFcn', @untit

65、led_OutputFcn, ...</p><p>  'gui_LayoutFcn', [] , ...</p><p>  'gui_Callback', []);</p><p>  if nargin && ischar(varargin{1})</p><p>  gui_St

66、ate.gui_Callback = str2func(varargin{1});</p><p><b>  end</b></p><p>  if nargout</p><p>  [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});</p><p

67、><b>  else</b></p><p>  gui_mainfcn(gui_State, varargin{:});</p><p><b>  end</b></p><p>  % End initialization code - DO NOT EDIT</p><p>  %

68、--- Executes just before untitled is made visible.</p><p>  function untitled_OpeningFcn(hObject, eventdata, handles, varargin)</p><p>  % This function has no output args, see OutputFcn.</p&

69、gt;<p>  % hObject handle to figure</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA

70、)</p><p>  % varargin command line arguments to untitled (see VARARGIN)</p><p>  % Choose default command line output for untitled</p><p>  handles.output = hObject;</p>&l

71、t;p>  % Update handles structure</p><p>  guidata(hObject, handles);</p><p>  % UIWAIT makes untitled wait for user response (see UIRESUME)</p><p>  % uiwait(handles.figure1);<

72、;/p><p>  % --- Outputs from this function are returned to the command line.</p><p>  function varargout = untitled_OutputFcn(hObject, eventdata, handles) </p><p>  % varargout cell a

73、rray for returning output args (see VARARGOUT);</p><p>  % hObject handle to figure</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handle

74、s structure with handles and user data (see GUIDATA)</p><p>  % Get default command line output from handles structure</p><p>  varargout{1} = handles.output;</p><p>  % --- Exec

75、utes on button press in pushbutton1.</p><p>  function pushbutton1_Callback(hObject, eventdata, handles)</p><p>  % hObject handle to pushbutton1 (see GCBO)</p><p>  % eventdata

76、 reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p><b>  global H</b></p><p><b>

77、;  global S</b></p><p><b>  global I</b></p><p>  [filename ,pathname]=uigetfile({'*.jpg';'*.bmp';'*.bmp'},'');</p><p>  st

78、r=[pathname filename];</p><p>  im=imread(str);</p><p>  axes(handles.axes1);</p><p>  imshow(im);</p><p>  im = im2double(im);</p><p>  r = im(:, :, 1);&l

79、t;/p><p>  g = im(:, :, 2);</p><p>  b = im(:, :, 3);</p><p><b>  %I</b></p><p>  I = (r + g + b)/3;</p><p><b>  %S</b></p><

80、;p>  tmp1 = min(min(r, g), b);</p><p>  tmp2 = r + g + b;</p><p>  tmp2(tmp2 == 0) = eps;</p><p>  S = 1 - 3.*tmp1./tmp2;</p><p><b>  %H</b></p>&

81、lt;p>  tmp1 = 0.5*((r - g) + (r - b));</p><p>  tmp2 = sqrt((r - g).^2 + (r - b).*(g - b));</p><p>  theta = acos(tmp1./(tmp2 + eps));</p><p>  H = theta;</p><p>  H

82、(b > g) = 2*pi - H(b > g);</p><p>  H = H/(2*pi);</p><p>  H(S == 0) = 0;</p><p>  axes(handles.axes5);</p><p>  imshow(H,S,I)</p><p>  % --- Execute

83、s on button press in pushbutton2.</p><p>  function pushbutton2_Callback(hObject, eventdata, handles)</p><p>  % hObject handle to pushbutton2 (see GCBO)</p><p>  % eventdata re

84、served - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p><b>  global H</b></p><p><b>  

85、global S</b></p><p><b>  global I</b></p><p>  axes(handles.axes2);</p><p>  imshow(H);</p><p>  axes(handles.axes3);</p><p>  imshow(S);

86、</p><p>  axes(handles.axes4);</p><p>  imshow(I);</p><p>  % --- Executes on slider movement.</p><p>  function slider1_Callback(hObject, eventdata, handles)</p>

87、<p>  % hObject handle to slider1 (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (se

88、e GUIDATA)</p><p><b>  global H</b></p><p><b>  global S</b></p><p><b>  global I</b></p><p>  global sliderValue1</p><p&

89、gt;  global sliderValue2</p><p>  global sliderValue3</p><p>  sliderValue1=get(handles.slider1,'Value');</p><p>  set(handles.edit1,'String',num2str(sliderValue1));

90、</p><p>  guidata(hObject,handles);</p><p>  axes(handles.axes5);</p><p>  imshow(H*sliderValue1,S*sliderValue2,I*sliderValue3);</p><p>  % Hints: get(hObject,'Valu

91、e') returns position of slider</p><p>  % get(hObject,'Min') and get(hObject,'Max') to determine range of slider</p><p>  % --- Executes during object creation, after

92、setting all properties.</p><p>  function slider1_CreateFcn(hObject, eventdata, handles)</p><p>  % hObject handle to slider1 (see GCBO)</p><p>  % eventdata reserved - to be de

93、fined in a future version of MATLAB</p><p>  % handles empty - handles not created until after all CreateFcns called</p><p>  % Hint: slider controls usually have a light gray background, cha

94、nge</p><p>  % 'usewhitebg' to 0 to use default. See ISPC and COMPUTER.</p><p>  usewhitebg = 1;</p><p>  if usewhitebg</p><p>  set(hObject,'Backgro

95、undColor',[.9 .9 .9]);</p><p><b>  else</b></p><p>  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><p><b>  end&l

96、t;/b></p><p>  % --- Executes on slider movement.</p><p>  function slider2_Callback(hObject, eventdata, handles)</p><p>  % hObject handle to slider2 (see GCBO)</p>&l

97、t;p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p><b>  global H</b></p&g

98、t;<p><b>  global S</b></p><p><b>  global I</b></p><p>  global sliderValue1</p><p>  global sliderValue2</p><p>  global sliderValue3&l

99、t;/p><p>  sliderValue2=get(handles.slider2,'Value');</p><p>  set(handles.edit2,'String',num2str(sliderValue2));</p><p>  guidata(hObject,handles);</p><p>

100、;  axes(handles.axes5);</p><p>  imshow(H*sliderValue1,S*sliderValue2,I*sliderValue3);</p><p>  % Hints: get(hObject,'Value') returns position of slider</p><p>  % ge

101、t(hObject,'Min') and get(hObject,'Max') to determine range of slider</p><p>  % --- Executes during object creation, after setting all properties.</p><p>  function slider2_Creat

102、eFcn(hObject, eventdata, handles)</p><p>  % hObject handle to slider2 (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles

103、 empty - handles not created until after all CreateFcns called</p><p>  % Hint: slider controls usually have a light gray background, change</p><p>  % 'usewhitebg' to 0 to use d

104、efault. See ISPC and COMPUTER.</p><p>  usewhitebg = 1;</p><p>  if usewhitebg</p><p>  set(hObject,'BackgroundColor',[.9 .9 .9]);</p><p><b>  else</b

105、></p><p>  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><p><b>  end</b></p><p>  % --- Executes on slider movement.<

106、;/p><p>  function slider3_Callback(hObject, eventdata, handles)</p><p>  % hObject handle to slider3 (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version o

107、f MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p><b>  global H</b></p><p><b>  global S</b></p><p><b

108、>  global I</b></p><p>  global sliderValue1</p><p>  global sliderValue2</p><p>  global sliderValue3</p><p>  sliderValue3=get(handles.slider3,'Value'

109、;);</p><p>  set(handles.edit3,'String',num2str(sliderValue3));</p><p>  guidata(hObject,handles);</p><p>  axes(handles.axes5);</p><p>  imshow(H*sliderValue1,

110、S*sliderValue2,I*sliderValue3);</p><p>  % Hints: get(hObject,'Value') returns position of slider</p><p>  % get(hObject,'Min') and get(hObject,'Max') to determine

111、 range of slider</p><p>  % --- Executes during object creation, after setting all properties.</p><p>  function slider3_CreateFcn(hObject, eventdata, handles)</p><p>  % hObject

112、 handle to slider3 (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles empty - handles not created until after all CreateFcns called<

113、/p><p>  % Hint: slider controls usually have a light gray background, change</p><p>  % 'usewhitebg' to 0 to use default. See ISPC and COMPUTER.</p><p>  usewhitebg = 1

114、;</p><p>  if usewhitebg</p><p>  set(hObject,'BackgroundColor',[.9 .9 .9]);</p><p><b>  else</b></p><p>  set(hObject,'BackgroundColor',get

115、(0,'defaultUicontrolBackgroundColor'));</p><p><b>  end</b></p><p>  function edit1_Callback(hObject, eventdata, handles)</p><p>  % hObject handle to edit1 (

116、see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p>  sliderValue1

117、=get(handles.edit1,'String');</p><p>  sliderValue1=str2num(sliderValue1);</p><p>  if (isempty{sliderValue1}||sliderValue1<0||sliderValue1>1)</p><p>  set(handles.sli

118、der1,'Value',0);</p><p>  set(handles.edit1,'String','0');</p><p><b>  else</b></p><p>  set(handles.slider1,'Value',sliderValue1);</p

119、><p><b>  end</b></p><p>  % Hints: get(hObject,'String') returns contents of edit1 as text</p><p>  % str2double(get(hObject,'String')) returns cont

120、ents of edit1 as a double</p><p>  % --- Executes during object creation, after setting all properties.</p><p>  function edit1_CreateFcn(hObject, eventdata, handles)</p><p>  % hOb

121、ject handle to edit1 (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles empty - handles not created until after all CreateFcns calle

122、d</p><p>  % Hint: edit controls usually have a white background on Windows.</p><p>  % See ISPC and COMPUTER.</p><p><b>  if ispc</b></p><p>  set(hO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論