【正文】
聲,乘性噪聲,可以通過以下三個函數(shù)來實現(xiàn):y=imnoise(,39。3 4],經(jīng)過該函數(shù)處理后,原矩陣變?yōu)閇3 4。下圖就是對圖像的截圖:縮放功能在MATLAB中,用函數(shù)imresize來實現(xiàn)對圖像的放大或縮小。執(zhí)行該操作,調(diào)節(jié)滑動條到上圖所示位置,結(jié)果如下圖截圖在MATLAB中,用函數(shù)imcrop實現(xiàn)對圖像的剪切操作。)。由于imadjust函數(shù)有五個參數(shù),所以原則上需要設(shè)計五個滑動條來調(diào)節(jié)對比度,這對用戶來說顯然比較麻煩,因此在設(shè)計的時候固定其中的三個參數(shù),通過調(diào)節(jié)兩個參數(shù)的值來改變亮度和對比度。input parameter 39。,39。defans={39。input parameter 239。由于該函數(shù)有五個參數(shù)需要輸入,為了方便用戶改變,所以這里設(shè)計一個輸入對話框,用戶通過對話框把五個參數(shù)賦值給[low_in high_in],[low_out high_out],gamma這五個參數(shù),如下一組命令建立了如圖所示的輸入對話框:prompt={39。程序為:y=rgb2gray()。由于RGB圖像是三維圖像,所以圖像數(shù)據(jù)是一個三維數(shù)組,為了顯示灰度圖像,把三維圖像降為二維,可以只取其中的二維數(shù)據(jù),實現(xiàn)方法程序為:y=((:,:,1))。 執(zhí)行后效果圖如下:如果沒有保存彈出錯誤對話框:退出程序如下所示:clc。Uigetfile函數(shù)的調(diào)用格式為[name,path]=yigetfile(…), 在按下對話框中的執(zhí)行按鈕“打開”后,返回選擇的文件名和路徑,分別保存到“name”和“path”中。(4)、分析一個圖像的頻譜特征,利用傅里葉變換,將圖像從空間域變換到頻域,然后進行各種處理,經(jīng)過高通濾波器或是低通濾波器。由于作者的水平有限,實現(xiàn)的功能不是很多,而且都是一般的功能;(1)、將一個RGB圖像轉(zhuǎn)換為灰度圖像。四. 程序需求和功能模塊分析在設(shè)計過程中出滿足了一般的數(shù)字圖像處理功能。4)編寫程序通過最近鄰插值和雙線性插值等算法將用戶所選取的圖像區(qū)域進行放大和縮小整數(shù)倍的操作,并保存,比較幾種插值的效果。然后按照自己擬定的功能要求進行程序設(shè)計和調(diào)試。 《基于MATLAB的圖像處理》課程設(shè)計學(xué)生姓名: 徐清福 學(xué) 號: 110700136 專業(yè)班級: 信通一班 指導(dǎo)教師: 鄭曉明 二○一零 年 4 月 8 日目 錄(二號字體)…………………………………………………2…………………………………………………2……………………………………………2…………………………………………2…………………………………………………3……………………………………………………16………………………………………………………17……………………………………………………………18………………………………………………………34課程設(shè)計的內(nèi)容如下:綜合運用MATLAB工具箱實現(xiàn)圖像處理的GUI程序設(shè)計。 1)圖像的讀取和保存。5)圖像直方圖統(tǒng)計和直方圖均衡,要求顯示直方圖統(tǒng)計,比較直方圖均衡后的效果。例如讀取圖像、保存圖像、圖像的旋轉(zhuǎn)變換、加噪聲去噪聲、彩色圖像直方圖統(tǒng)計、頻譜分析、灰度圖像處理和彩色圖像的顏色轉(zhuǎn)換模型等基本功能。(2)、可以對圖像做各種變換,如旋轉(zhuǎn)等。(5)、為了科學(xué)地定量描述和使用顏色,人們提出了各種顏色模型,按用途可分為三類:計算顏色模型,視覺顏色模型和工業(yè)顏色模型。如果按下取消按鈕或是發(fā)生錯誤,則返回值是0。close all。 imshow(y)。 imshow(y)。input parameter139。,39。[0 ]39。139。,1,defans)。 [0 ],[0 1],,滑動條設(shè)計如下圖:亮度調(diào)整的tag名為ld,取值范圍0~1,gamma值的tag名為gamma,取值范圍為0~5。=get(,39。該操作剪切的是圖像中的一個矩形子圖,用戶可以通過參數(shù)指定這個矩形四個頂點的坐標,也可以交互地用鼠標選取這個矩形。插值方法可選用三種方法,最近鄰插值,雙線性插值,雙三次插值。1 2]。gaussian39。 pepper39。,p1)。horz=1:10:256。這樣圖像能量的低頻成分將集中到頻譜中心,圖像上的邊緣、線條細節(jié)信息等高頻成分將分散在圖像頻譜的邊緣。this is a color image ,can not convert 39。elsey1=imnoise(x,39。 % 數(shù)據(jù)類型轉(zhuǎn)換k=fft2(f)。d0=3。 % 計算高通濾波器傳遞函數(shù) if d=d0 h=0。y2=ifft2(result)。x=()。失敗39。 pepper39。 % 傅立葉變換g=fftshift(g)。 %截止頻率為10m=fix(M/2)。% 計算低通濾波器傳遞函數(shù) result(i,j)=h*g(i,j)。imshow(y3)。if isrgb(x) HSV=rgb2hsv(x)。,39。其中提供了三種邊沿檢測:sobel、prewitt、canny邊沿檢測功能。sobel39。,然后在file菜單中選擇新建new中的gui,即可彈出一個新建的figure文件。再例如同一個操作對灰度圖像可以使用,當用戶選擇的是彩色圖像時,該操作就會出錯?這是由于設(shè)計程序時,本身程序是有針對性的,有些程序只能對灰度圖像有效,有些對彩色圖像有效,但是用戶并不清楚這些,所以在設(shè)計的過程中就要考慮全面,要分開設(shè)計。計算的可視化可以將雜亂的數(shù)據(jù)通過圖形表示從中觀察出其內(nèi)在的關(guān)系。例如邊緣檢測函數(shù)的實現(xiàn),在建立了BUTTON GROUP之后,添加RADIO BUTTON按鈕,然后右鍵調(diào)用SelectionChangeF,彈出M文件,在相應(yīng)的地方編寫。)。imshow(y)。sobel39。prewitt39。imshow(BW)。canny39。由于不同版本的MATLAB可能不兼容,特別是高版本的在低版本的MATLAB中幾乎打不開,而只是一堆亂碼。通過本次課程設(shè)計,使自己對MATLAB GUI設(shè)計流程有了比較深刻的體會,同時也了解了一般軟件設(shè)計的過程。},39。no file selected39。else y=imread([path,name])。 =y。save as39。,39。elsefile=strcat(pathname,filename)。end%function exit_Callback(hObject, eventdata, handles)% hObject handle to exit (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clc。if isrgb() y=rgb2gray()。,39。input parameter139。input parametergamma39。,39。}。 p1=str2num(p{1})。 x=()。%function jietu_Callback(hObject, eventdata, handles)% hObject handle to jietu (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)set(,39。)。 %function fangda_Callback(hObject, eventdata, handles)% hObject handle to fangda (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)axes()。defans={39。input the magnification times39。nearest39。 prompt={39。39。,1,defans)。)。if isrgb() for k=1:3 y(:,:,k)=flipud(x(:,:,k))。 imshow(y)。endimshow(y)。end% function left90_Callback(hObject, eventdata, handles)% hObject handle to left90 (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)axes()。function right90_Callback(hObject, eventdata, handles)% hObject handle to right90 (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)axes()。function other_Callback(hObject, eventdata, handles)% hObject handle to other (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see