圖像增強(qiáng)的GUI設(shè)計(jì)要點(diǎn)_第1頁(yè)
圖像增強(qiáng)的GUI設(shè)計(jì)要點(diǎn)_第2頁(yè)
圖像增強(qiáng)的GUI設(shè)計(jì)要點(diǎn)_第3頁(yè)
圖像增強(qiáng)的GUI設(shè)計(jì)要點(diǎn)_第4頁(yè)
圖像增強(qiáng)的GUI設(shè)計(jì)要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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、圖像處理課程實(shí)踐論文題目:圖像增強(qiáng)功能組件的GUI設(shè)計(jì)院(系)信息科學(xué)與工程學(xué)院專業(yè)通信工程屆別班級(jí)學(xué)號(hào)姓名指導(dǎo)老師目錄TOC o 1-5 h z一、空域增強(qiáng)1 HYPERLINK l bookmark6 o Current Document 1.1直方圖均衡化1 HYPERLINK l bookmark8 o Current Document 1.2平滑濾波2 HYPERLINK l bookmark12 o Current Document 1.3銳化濾波4 HYPERLINK l bookmark18 o Current Document 1.4自適應(yīng)濾波5二、頻域增強(qiáng)6 HYPERLI

2、NK l bookmark20 o Current Document 2.1低通濾波6 HYPERLINK l bookmark26 o Current Document 2.2高通濾波7三、其他增強(qiáng)方法9 HYPERLINK l bookmark45 o Current Document 3.1灰度變換9 HYPERLINK l bookmark47 o Current Document 3.2椒鹽噪聲加入9 HYPERLINK l bookmark49 o Current Document 3.3圖像鏡像10 HYPERLINK l bookmark55 o Current Documen

3、t 3.4圖像求反10 HYPERLINK l bookmark61 o Current Document 3.5邊緣檢測(cè)11 HYPERLINK l bookmark63 o Current Document 3.6圖像旋轉(zhuǎn)11 HYPERLINK l bookmark65 o Current Document 3.7打開保存撤銷退出初始化12 HYPERLINK l bookmark67 o Current Document 四、GUI界面的使用說(shuō)明14 HYPERLINK l bookmark69 o Current Document 4.1簡(jiǎn)介14 HYPERLINK l bookma

4、rk71 o Current Document 4.2具體操作14 HYPERLINK l bookmark73 o Current Document 五、功能組件測(cè)試報(bào)告15六、參考文獻(xiàn)16七、附錄17 1.1直方圖均衡化1.1.1知識(shí)點(diǎn)直方圖均衡是指將一個(gè)已知灰度分布的圖像經(jīng)過(guò)一種變換,使之變成一幅具有均勻灰度分布的新圖像。把原始圖的直方圖變換為均勻分布的形式,這樣就增加了象素灰度值的動(dòng)態(tài)范圍,從而達(dá)到增強(qiáng)圖像整體對(duì)比度的效果直方圖均衡化的增強(qiáng)函數(shù)需要滿足兩個(gè)條件:EH(s)在0WsWL-1范圍內(nèi)是一個(gè)單值單增函數(shù);對(duì)應(yīng)0WsWL-1有0WEH(s)WL-1。上面第一個(gè)條件保證原圖各灰度級(jí)

5、在變換后仍保持從黑到白(或從白到黑)的排列次序。第二個(gè)條件保證變換前后灰度值動(dòng)態(tài)范圍的一致性。1.1.2程序設(shè)計(jì)思路通過(guò)histeq(X)函數(shù)實(shí)現(xiàn)直方圖均衡。因?yàn)榇撕瘮?shù)只能對(duì)灰度圖像進(jìn)行直方圖均衡。故應(yīng)先將彩圖轉(zhuǎn)為灰度圖像。直方圖均衡實(shí)現(xiàn)程序段如下:globalTaxes(handles.axes2);T=getimage;k=histeq(handles.k);imshow(k);title(經(jīng)過(guò)直方圖均衡后的圖像);handles.k=k;guidata(hObject,handles);1.1.3結(jié)果與分析說(shuō)明1、結(jié)果將彩圖轉(zhuǎn)為灰度圖像:灰度變換后的圖像原始圖像圖1在上一步的基礎(chǔ)上對(duì)第二

6、幅圖進(jìn)行直方圖均衡:經(jīng)過(guò)直方圖均衡后的圖像原始團(tuán)像圖22、分析和說(shuō)明圖1和圖2的右側(cè)圖分別是左側(cè)圖的灰度變換圖和經(jīng)過(guò)直方圖均衡化后的圖像。由于直方圖均衡化增加了圖像灰度動(dòng)態(tài)范圍,所以也增加了圖像的對(duì)比度,反映在圖像上就是圖像有較大的反差,許多細(xì)節(jié)可以看到比較清晰了。1.2平滑濾波1.2.1知識(shí)點(diǎn)最簡(jiǎn)單的平滑濾波是用一個(gè)像素領(lǐng)域的平均值作為濾波結(jié)果,此時(shí)濾波模板的所有系數(shù)都取為1。為了保證輸出圖仍在原來(lái)的灰度值范圍,在算得卷積值R后要將其除以系數(shù)總個(gè)數(shù)在進(jìn)行賦值。例如對(duì)3X3的模板來(lái)說(shuō),在算得R后要將其除以系數(shù)9。領(lǐng)域平均的一般表達(dá)式為1g(x,y)=2f(s,t)n2(S,t)eN(x,y)其

7、中,N(x,y)對(duì)應(yīng)f(x,y)中(x,y)的nXn領(lǐng)域,與模板W所覆蓋的范圍對(duì)應(yīng)。1.2.2程序設(shè)計(jì)思路conv函數(shù)可計(jì)算起點(diǎn)為k=0的兩個(gè)序列的卷積。利用此函數(shù)和卷積的性質(zhì),編寫平滑濾波器的程序?qū)D像進(jìn)行領(lǐng)域平均平滑濾波。平滑濾波實(shí)現(xiàn)的程序段如下:globalTaxes(handles.axes2);T=getimage;h=111;111;111;H=h/9;i=double(handles.k);k=convn(i,h);imshow(k,);title(經(jīng)過(guò)線性平滑后的圖像)handles.k=kguidata(hObject,handles)1.2.3結(jié)果與分析說(shuō)明1、結(jié)果將彩圖轉(zhuǎn)

8、為灰度圖像:原始團(tuán)像圖3在上一步的基礎(chǔ)上對(duì)第二幅圖疊加參數(shù)為0.05的椒鹽噪聲:圖4對(duì)圖4中的灰度圖像進(jìn)行多次的平滑濾波灰度變換后的團(tuán)像圖52、分析說(shuō)明圖5依次為用3x3,5x5,7x7,9x9平滑模板對(duì)圖4中的灰度圖像進(jìn)行平滑濾波的結(jié)果。有圖可見,當(dāng)所用平滑模板尺寸增大時(shí),對(duì)噪聲的消除效果有所增強(qiáng)。不過(guò)同時(shí)所得到的圖像變得更為模糊,可視的細(xì)節(jié)逐漸減小。1.3銳化濾波1.3.1知識(shí)點(diǎn)圖像銳化的目的是加強(qiáng)圖像中景物的邊緣和輪廓。因?yàn)檫吘壓洼喞嘉挥诨叶韧蛔兊牡胤?,所以銳化算法的實(shí)現(xiàn)基于微分運(yùn)算。拉普拉斯算子是各向同性的階微分算子。數(shù)字圖像f(x,y)的二階偏導(dǎo)數(shù)可表示為:f=2f(x,y)-f(

9、x+1,y)-f(x-1,y)dx2f=2f(x,y)-f(x,y+1)-f(x,y-1)cy2拉普拉斯算子可增強(qiáng)圖像中的灰度不連續(xù)邊緣,減弱灰度值緩慢變化區(qū)域的對(duì)比度,將結(jié)果疊加到原始圖像上,就可以得到邊緣增強(qiáng)后的圖像。1.3.2程序設(shè)計(jì)思路fspecial函數(shù)用于建立預(yù)定義的濾波算子,k=fspecial(type,para)其中type指定算子的類型,para指定相應(yīng)的參數(shù)。故利用該函數(shù)進(jìn)行銳化濾波的程序編寫。銳化濾波實(shí)現(xiàn)的程序段如下:globalTaxes(handles.axes2);T=getimage;K=fspecial(laplacian,0.7);k=filter2(K,T

10、)/100;imshow(k);title(經(jīng)過(guò)線性銳化后的圖像);handles.k=k;guidata(hObject,handles);1.3.3結(jié)果與分析說(shuō)明對(duì)灰度圖像經(jīng)過(guò)銳化濾波后:2、分析說(shuō)明通過(guò)對(duì)左右圖的比較,可以看出經(jīng)過(guò)銳化之后的圖像,其中景物的邊緣和輪廓更加的清晰。故銳化濾波器可以用于景物邊緣的檢測(cè)和提取。1-4自適應(yīng)濾波1.4.1知識(shí)點(diǎn)自適應(yīng)濾波法是能夠在一定程度上根據(jù)環(huán)境的改變,使用自適應(yīng)算法來(lái)改變?yōu)V波器的參數(shù)和結(jié)構(gòu)的濾波法。1.4.2程序設(shè)計(jì)思路wiener函數(shù)用于建立預(yù)定義的濾波算子,k=wiener2(I,mn,noise)其中I是處理的數(shù)據(jù),用m,n指定相應(yīng)的參數(shù)

11、。故利用該函數(shù)進(jìn)行自適應(yīng)濾波的程序編寫。自適應(yīng)濾波實(shí)現(xiàn)的程序段如下:globalTaxes(handles.axes2);T=getimage;k=wiener2(handles.k,5,5);imshow(k);title(經(jīng)過(guò)自適應(yīng)濾波后的圖像);handles.k=k;guidata(hObject,handles);1.3.3結(jié)果21低通濾波2.2.1知識(shí)點(diǎn)物理上可以實(shí)現(xiàn)的一種低通濾波器是巴特沃斯低通濾波器。一個(gè)階為n截?cái)囝l率為Do的巴特沃斯高通濾波器的轉(zhuǎn)移函數(shù)為H(u,v)=1+D/D(U,V)2n0低通巴特沃斯濾波器在高低頻率間的過(guò)渡比較光滑,所以用巴特沃斯低通濾波器得到的輸出圖其

12、振鈴現(xiàn)象不明顯。具體來(lái)說(shuō),階為1時(shí)沒有振鈴現(xiàn)象,而隨著階的增加振鈴現(xiàn)象也增加。一般情況下,常取使H最大值降到某個(gè)百分比的頻率為截?cái)囝l率。當(dāng)D(u,v)=Do時(shí),H(u,v)=0.5。2.1.2程序設(shè)計(jì)思路通過(guò)對(duì)離散傅立葉變換的學(xué)習(xí),我們知道一個(gè)有限長(zhǎng)序列可以用N個(gè)頻域抽樣值唯一的確定,即其中H(k)是h(n)的離散傅立葉變換,是H(z)在單位圓上的均勻抽樣值,其列長(zhǎng)N,即直接從頻域出發(fā),對(duì)理想頻響進(jìn)行抽樣,然后,用離散傅立葉反變換求單位脈沖響應(yīng)再用Z變換求系統(tǒng)函數(shù)。低通濾波實(shí)現(xiàn)的程序段如下:axes(handles.axes2);k1=handles.k;f=double(k1);%數(shù)據(jù)類型轉(zhuǎn)

13、換,matlab不支持圖像的無(wú)符號(hào)整型的計(jì)算g=fft2(f);%傅里葉變換g=fftshift(g);%轉(zhuǎn)換數(shù)據(jù)矩陣M,N=size(g);nn=2;%二階巴特沃斯低通濾波器d0=50;%截止頻率50m=fix(M/2);n=fix(N/2);fori=1:Mforj=1:Nd=sqrt(i-m)入2+(j-n)入2);h=1/(1+0.414*(d/d0)入(2*nn);%計(jì)算低通濾波器傳遞函數(shù)result(i,j)=h*g(i,j);endendresult=ifftshift(result);k2=ifft2(result);k=uint8(real(k2);imshow(k);%顯示

14、處理后的圖像title(經(jīng)過(guò)低通濾波后的圖像);handles.k=k;guidata(hObject,handles);2.1.3結(jié)果與分析說(shuō)明2、結(jié)果將彩圖轉(zhuǎn)為灰度圖像:圖8圖9圖10在上一步的基礎(chǔ)上對(duì)第二幅圖疊加椒鹽噪聲得到圖9:對(duì)灰度圖像經(jīng)過(guò)低通濾波之后得到如圖10:2、分析說(shuō)明由圖9的加噪圖像可以看出該圖有比較明顯的噪聲存在,嚴(yán)重影響美觀。經(jīng)過(guò)低通濾波進(jìn)行平滑之后的灰度圖像可以消除一些噪聲,產(chǎn)生的振鈴效果也較少,但所得到的圖像變的更為模糊。2.2高通濾波2.2.1知識(shí)點(diǎn)一個(gè)階為n,截?cái)囝l率為D0的巴特沃斯高通濾波器的轉(zhuǎn)移函數(shù)為H(u,v)=11+D/D(U,V)2n0與巴特沃斯低通濾

15、波器類似,高通的巴特沃斯濾波器在通過(guò)和濾掉的頻率之間也沒有不連續(xù)的分界。由于在高低頻率間的過(guò)渡比較光滑,所以用巴特沃斯高通濾波器得到的輸出圖其振鈴現(xiàn)象不明顯。2.2.2程序設(shè)計(jì)思路與低通濾波器相似,低通濾波器的程序段如下:axes(handles.axes2);x=(handles.k);f=double(x);%數(shù)據(jù)類型轉(zhuǎn)換k1=fft2(f);%傅里葉變換g=fftshift(k1);%轉(zhuǎn)換數(shù)據(jù)矩陣M,N=size(g);nn=2;d0=25;%截止頻率25m=fix(M/2);n=fix(N/2);fori=1:Mforj=1:Nd=sqrt(i-m)入2+(j-n)入2);%計(jì)算高通濾

16、波器傳遞函數(shù)ifd=d0h=0;elseh=1;endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);k2=ifft2(result);k=uint8(real(k2);imshow(k);%顯示濾波處理后的圖像title(經(jīng)過(guò)高通濾波后的圖像);handles.k=k;guidata(hObject,handles);2.2.3結(jié)果與分析說(shuō)明經(jīng)過(guò)高通濾波之后:1、結(jié)果將彩圖轉(zhuǎn)為灰度圖像:圖11圖122、分析說(shuō)明由圖12可以看出經(jīng)過(guò)高通濾波之后其對(duì)應(yīng)的圖像的各區(qū)域的邊界得到了較為明顯的增強(qiáng),但因?yàn)楦咄ㄌ幚碇蟮牡皖l分量大都被濾波,所以原來(lái)

17、比較平滑區(qū)域內(nèi)部的灰度動(dòng)態(tài)范圍被壓縮,整幅圖比較昏暗,顯示效果并不好。三、其他操作31灰度變換可利用rgb2gray(X)函數(shù)對(duì)其他圖像進(jìn)行灰度圖像的轉(zhuǎn)化。實(shí)現(xiàn)灰度變換的程序段如下:globalTaxes(handles.axes2);T=getimage;k=rgb2gray(handles.k);imshow(k);title(灰度變換后的圖像);handles.k=k;guidata(hObject,handles);3.2椒鹽噪聲通過(guò)imnoise(I,type,parameters)來(lái)加入各種噪聲。實(shí)現(xiàn)加入椒鹽噪聲的程序段如下:globalTaxes(handles.axes2);T

18、=getimage;prompt=設(shè)置椒鹽噪聲參數(shù):;defans=0.05;p=inputdlg(prompt,input,1,defans);p1=str2num(p1);k=imnoise(handles.k,salt&pepper,p1);imshow(k);title(加入椒鹽噪聲后的圖像);handles.k=k;guidata(hObject,handles);3.3圖像鏡像通過(guò)fliplr(I,type,parameters)和flipud(I,type,parameters)來(lái)分別實(shí)現(xiàn)水平和垂直鏡像。實(shí)現(xiàn)水平鏡像的程序段如下:globalTaxes(handles.axes2

19、);T=getimage;k=handles.k;k=fliplr(handles.k);imshow(k);title(水平鏡像后的圖像);handles.k=k;guidata(hObject,handles);實(shí)現(xiàn)垂直鏡像的程序段如下:globalTaxes(handles.axes2);T=getimage;k=handles.k;k=flipud(handles.k);imshow(k);title(垂直鏡像后的圖像);handles.k=k;guidata(hObject,handles);3.4圖像求反求反是很常見的一種圖像處理方法,常見在膠片處理中,本次課設(shè)我通過(guò)matlab的

20、通過(guò)imcomplement(I,type,parameters)來(lái)實(shí)現(xiàn)圖像的求反操作。實(shí)現(xiàn)圖像求反的程序段如下:globalTaxes(handles.axes2);T=getimage;k=imcomplement(handles.k);%求反函數(shù)imshow(k);title(求反后的圖像);handles.k=k;guidata(hObject,handles);3.5邊緣檢測(cè)在圖像分析處理中邊緣檢測(cè)可謂是最常見的一種檢測(cè)方法,由于其出色的識(shí)別能力,邊緣檢測(cè)不僅被廣泛用在靜態(tài)圖像檢測(cè)中,動(dòng)態(tài)圖像視頻的邊緣檢測(cè)技術(shù)也被廣泛使用著。本次課設(shè)我通過(guò)matlab的edge(I,type,par

21、ameters)來(lái)實(shí)現(xiàn)圖像的邊緣檢測(cè)操作。當(dāng)然matlab強(qiáng)大的功能中還包含許多其他邊緣檢測(cè)的方法,這里不再贅述。實(shí)現(xiàn)邊緣檢測(cè)的程序段如下:globalTaxes(handles.axes2);T=getimage;k=edge(handles.k,canny);imshow(k);title(通過(guò)Canny邊緣檢測(cè)后的圖像);handles.k=k;guidata(hObject,handles);3.6圖像旋轉(zhuǎn)在圖像處理中常常會(huì)因?yàn)樵O(shè)備和視角的原因需要將待處理的圖像進(jìn)行旋轉(zhuǎn)以便更好地處理或是使用。Matlab同樣提供了圖像旋轉(zhuǎn)的功能函數(shù),并且能夠由用戶自由輸入設(shè)置旋轉(zhuǎn)角度,實(shí)現(xiàn)圖像自由旋轉(zhuǎn)

22、的程序如下:globalTaxes(handles.axes2);T=getimage;prompt=輸入旋轉(zhuǎn)角度(逆時(shí)針):;defans=0;p=inputdlg(prompt,input,1,defans);p1=str2num(p1);k=imrotate(handles.k,p1,bilinear,crop);imshow(k);title(旋轉(zhuǎn)后的圖像);handles.k=k;guidata(hObject,handles);1 3.7打開文件保存為撤銷退出初始化打開通過(guò)filename,pathname二uigetfile(*.jpg;*.bmp;*.tif;*.*載入圖像)選

23、擇相應(yīng)路徑打開的圖像;通過(guò)file二pathname,filename;k二imread(file);讀取選中的圖像;最后,通過(guò)imshow(x)在顯示區(qū)域上顯示圖像。故打開圖像的程序段如下:filename,pathname=uigetfile(*.jpg;*.bmp;*.tif;*.*,打開);ifisequal(filename,O)|isequal(pathname,O)errordlg(沒有選中文件,出錯(cuò));return;elsefile=pathname,filename;globalZ%用于初始化的全局變量ZZ=file;o=imread(file);axes(handles.a

24、xesl);imshow(o);title(原始圖像);k=imread(file);axes(handles.axes2);imshow(k);title(待處理圖像);handles.k=k;guidata(hObject,handles);end保存利用“uiputfile”、“imwrite函數(shù)實(shí)現(xiàn)圖像文件的保存。保存圖像的程序段如下:sfilename,sfilepath=uiputfile(*.jpg;*.bmp;*.tif;*.*,保存圖像文件,untitled.jpg);%選擇圖像文件保存的路徑與格式ifisequal(sfilename,sfilepath,O,O)sfile

25、fullname=sfilepath,sfilenameaxes(handles.axes2);imwrite(handles.k,sfilefullname,jpg);%實(shí)現(xiàn)對(duì)圖像的保存elsemsgbox(你按了取消鍵,保存失敗);end撤銷撤銷上一步的操作。通過(guò)另設(shè)一個(gè)全局變量T保存是上一次操作后的圖像。實(shí)現(xiàn)撤銷上步操作的程序段如下:axes(handles.axes2);%撤銷globalTimshow(T);title(返回上一步操作效果);handles.k=T;guidata(hObject,handles);退出清除所有數(shù)據(jù)并關(guān)閉操作窗口,實(shí)現(xiàn)退出程序的程序段如下:clc;cl

26、oseall;clear;初始化將待處理文件還原為最初打開的文件,通過(guò)在“打開”子程序中預(yù)先設(shè)置一個(gè)保留源文件的全局變量Z,并在“初始化”子程序中調(diào)用Z并覆蓋全局變量T來(lái)實(shí)現(xiàn),程序如下:globalZaxes(handles.axes2);k=imread(Z);imshow(k);title(原始圖像);handles.k=k;guidata(hObject,handles);四、GUI界面的使用說(shuō)明4.1簡(jiǎn)介軟件的總體設(shè)計(jì)界面布局如下圖所示,主要分為2個(gè)部分:顯示區(qū)域與操作區(qū)域。顯示區(qū)域:顯示載入原圖,以及通過(guò)處理后的圖像。操作區(qū)域:通過(guò)功能鍵實(shí)現(xiàn)對(duì)圖像的各種處理。在截圖中可見,左部為一系

27、列功能按鍵如“還原”、“撤銷”等等;界面正中部分為圖片顯示部分,為了便于使用者觀察變化,我將處理后的圖像放在了功能按鍵集中的左側(cè)來(lái)顯示,右側(cè)顯示原始圖像。4.2具體操作或“保存”一按鈕,選擇路徑分別實(shí)現(xiàn)打開和保存圖像點(diǎn)擊“打開”一?圖片的讀取與保存。彩圖轉(zhuǎn)換為灰度圖像導(dǎo)入一張彩圖之后,點(diǎn)擊“灰度圖像”丨喇濮I按鈕,在顯示區(qū)域的右側(cè)會(huì)出現(xiàn)該圖像的灰度圖像。如圖1其他功能將圖像變?yōu)榛叶葓D像之后,可以點(diǎn)擊左側(cè)的按鈕實(shí)現(xiàn)其對(duì)應(yīng)的功能。撤銷上一步的操作點(diǎn)擊左側(cè)“撤銷”按鈕即可實(shí)現(xiàn)撤銷上一步的效果初始化圖像點(diǎn)擊左側(cè)下方“圖像初始化”按鈕即可將待處理圖像初始化退出程序點(diǎn)擊左側(cè)“退出”業(yè)按鈕即可關(guān)閉整個(gè)界面五

28、、功能組件測(cè)試報(bào)告為了檢測(cè)課程設(shè)計(jì)的存在問題,我做了以下測(cè)試首先打開一張3D彩色圖像作為原始數(shù)據(jù)輸入。發(fā)現(xiàn)當(dāng)初始數(shù)據(jù)是3D彩色輸入時(shí),本圖像增強(qiáng)功能組會(huì)出現(xiàn)這樣的問題:無(wú)法進(jìn)行線性銳化,原因是卷積函數(shù)conv2無(wú)法處理3D真彩;進(jìn)行線性平滑會(huì)將圖像清空,原因應(yīng)該是因?yàn)椴噬妮斎雸D像在進(jìn)行銳化的時(shí)候灰度值輸入不正確;進(jìn)行高通濾波會(huì)將圖像垂直壓縮并劇烈失真,原因是所采用的高通濾波器算法函數(shù)在進(jìn)行濾波時(shí)只能提取出彩色圖像的中一部分信息,因此在濾波后失真非常明顯;進(jìn)行低通濾波也會(huì)將圖像垂直壓縮,并將圖像轉(zhuǎn)為灰度圖像;無(wú)法進(jìn)行自適應(yīng)濾波,原因是wiener函數(shù)不支持3D真彩圖像輸入;無(wú)法進(jìn)行水平鏡像操作

29、,原因是使用的fliplr函數(shù)只支持2D矩陣數(shù)據(jù)輸入;對(duì)彩圖進(jìn)行高通濾波對(duì)彩圖進(jìn)行低通濾波無(wú)法進(jìn)行垂直鏡像操作,原因在于flipud函數(shù)只支持2D矩陣數(shù)據(jù)輸入;無(wú)法用直方圖均衡器處理,原因是histeq函數(shù)的輸入數(shù)據(jù)必須是二維的;無(wú)法直接進(jìn)行邊緣檢測(cè),原因是edge函數(shù)的輸入數(shù)據(jù)必須是二維的;從出發(fā),求反以后也同樣無(wú)法進(jìn)行邊緣檢測(cè),原因是求反并不會(huì)將原始圖像轉(zhuǎn)為2D灰度圖像,因此edge函數(shù)仍不起作用。綜上所述,我這次所做的圖像增強(qiáng)設(shè)計(jì)的大多數(shù)圖像處理功能都要求待處理數(shù)據(jù)是二維數(shù)據(jù),或是說(shuō)圖像是黑白灰度圖像才行。為了進(jìn)一步探明我所采用的函數(shù)的特征,我將原始的彩色圖像用灰度處理功能進(jìn)行處理后保存

30、下來(lái),并打開該黑白圖像,作為本次測(cè)試的原始輸入圖像數(shù)據(jù)。在本次測(cè)試中,發(fā)現(xiàn)了以下問題:無(wú)法進(jìn)行灰度變換,原因是待處理圖像必須是三維彩色輸入;邊緣檢測(cè)是提取圖像細(xì)節(jié)的一種很好的方法,我在這里做了幾個(gè)測(cè)試,結(jié)果如下:圖像求反后進(jìn)行邊緣檢測(cè)和直接進(jìn)行邊緣檢測(cè)相比,沒有明顯不同,這說(shuō)明黑白圖像在進(jìn)行求反以后相鄰像素間的距離不會(huì)改變;不論哪種濾波器,在使用之后進(jìn)行邊緣檢測(cè)和直接進(jìn)行邊緣檢測(cè)相比,都會(huì)有一定程度的細(xì)節(jié)失真,而且就此次測(cè)試的原始圖像GXF來(lái)說(shuō),失真程度排列如下:高通自適應(yīng)低通濾波器。直接邊緣檢測(cè)求反后檢測(cè)低通濾波后高通濾波后自適應(yīng)濾波后八、參考文獻(xiàn)1】圖像處理(第3版)章毓晉編著2】精通MA

31、TLABGUI設(shè)計(jì)(第2版)陳垚光等編著3】數(shù)字圖像處理及MATLAB實(shí)現(xiàn):學(xué)習(xí)與實(shí)驗(yàn)指導(dǎo)楊杰編著4】MATLAB數(shù)字圖像處理張德豐等編著5】詳解MATLAB圖像函數(shù)及其應(yīng)用張婧占君陳珊編著七、附錄實(shí)現(xiàn)此次圖像課程設(shè)計(jì)的MATLABGUI回調(diào)函數(shù)程序如下:functionvarargout=ZSH(varargin)%ZSHMATLABcodeforZSH.fig%ZSH,byitself,createsanewZSHorraisestheexisting%singleton*.%H=ZSHreturnsthehandletoanewZSHorthehandleto%theexistingsi

32、ngleton*.%ZSH(CALLBACK,hObject,eventData,handles,.)callsthelocal%functiomamedCALLBACKinZSH.Mwiththegiveninputarguments.%ZSH(Property,Value,.)createsanewZSHorraisesthe%existingsingleton*.Startingfromtheleft,propertyvaluepairsare%appliedtotheGUIbeforeZSH_OpeningFcngetscalled.An%unrecognizedpropertynam

33、eorinvalidvaluemakespropertyapplication%stop.AllinputsarepassedtoZSH_OpeningFcnviavarargin.%*SeeGUIOptionsonGUIDEsToolsmenu.ChooseGUIallowsonlyone%instancetorun(singleton).%Seealso:GUIDE,GUIDATA,GUIHANDLES%EdittheabovetexttomodifytheresponsetohelpZSHNOTEDITmfilename,.gui_Singleton,.ZSH_OpeningFcn,.Z

34、SH_OutputFcn,.,.);%LastModifiedbyGUIDEv2.521-Jun-201420:30:09Begininitializationcode-DOgui_Singleton=1;gui_State=struct(gui_Name,gui_Singleton,gui_OpeningFcn,gui_OutputFcn,gui_LayoutFcn,gui_Callback,ifnargin&ischar(varargin1)guiState.guiCallback=str2func(varargin1);endifnargoutvarargout1:nargout=gui

35、_mainfcn(gui_State,varargin:);elsegui_mainfcn(gui_State,varargin:);end%Endinitializationcode-DONOTEDIT%ExecutesjustbeforeZSHismadevisible.functionZSH_OpeningFcn(hObject,eventdata,handles,varargin)%Thisfunctionhasnooutputargs,seeOutputFcn.%hObjecthandletofigure%eventdatareserved-tobedefinedinafuturev

36、ersionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%varargincommandlineargumentstoZSH(seeVARARGIN)%ChoosedefaultcommandlineoutputforZSHhandles.output=hObject;%Updatehandlesstructureguidata(hObject,handles);%UIWAITmakesZSHwaitforuserresponse(seeUIRESUME)%uiwait(handles.figure1);%Outputs

37、fromthisfunctionarereturnedtothecommandline.functionvarargout=ZSH_OutputFcn(hObject,eventdata,handles)%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Getdefaultcomm

38、andlineoutputfromhandlesstructurevarargout1=handles.output;%Executesonbuttonpressinopenfile.functionopenfile_Callback(hObject,eventdata,handles)%hObjecthandletoopenfile(seeGCBO)%eventdatareserved一tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)filename,pathname=

39、uigetfile(*.jpg;*.bmp;*.tif;*.*,打開);ifisequal(filename,O)|isequal(pathname,O)errordlg(沒有選中文件,出錯(cuò));return;elsefile=pathname,filename;globalZ%用于初始化的全局變量ZZ=file;o=imread(file);axes(handles.axesl);imshow(o);title(原始圖像);k=imread(file);axes(handles.axes2);imshow(k);title(待處理圖像);handles.k=k;guidata(hObject,

40、handles);end%Executesonbuttonpressinsaveas.functionsaveas_Callback(hObject,eventdata,handles)%hObjecteventdatahandletosaveas(seeGCBO)reserved一tobedefinedinafutureversionofMATLABhandles(seeGUIDATA)*.tif;*.*structurewithhandlesanduserdatasfilename,sfilepath=uiputfile(*.jpg;*.bmp;保存圖像文件,untitled.jpg);%

41、選擇圖像文件保存的路徑與格式ifisequal(sfilename,sfilepath,O,O)sfilefullname=sfilepath,sfilenameaxes(handles.axes2);imwrite(handles.k,sfilefullname,jpg);%實(shí)現(xiàn)對(duì)圖像的保存elsemsgbox(你按了取消鍵,保存失敗);end%Executesonbuttonpressinexit.functionexit_Callback(hObject,eventdata,handles)%hObjecthandletoexit(seeGCBO)%eventdatareservedto

42、bedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)clc;closeall;clear;%Executesonbuttonpressinbackpace.functionbackpace_Callback(hObject,eventdata,handles)%hObjecthandletobackpace(seeGCBO)%eventdatareservedtobedefinedinafutureversionofMATLAB%handlesstructurewithhandl

43、esanduserdata(seeGUIDATA)axes(handles.axes2);%撤銷globalTimshow(T);title(返回上一步操作效果);handles.k=T;guidata(hObject,handles);%Executesonbuttonpressinzero.functionzero_Callback(hObject,eventdata,handles)%hObjecthandletozero(seeGCBO)%eventdatareservedtobedefinedinafutureversionofMATLAB%handlesstructurewithh

44、andlesanduserdata(seeGUIDATA)globalZaxes(handles.axes2);k=imread(Z);imshow(k);title(原始圖像);handles.k=k;guidata(hObject,handles);%Executesonbuttonpressinplat.functionplat_Callback(hObject,eventdata,handles)%hObjecthandletoplat(seeGCBO)%eventdatareservedtobedefinedinafutureversionofMATLAB%handlesstruct

45、urewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;h=111;111;111;H=h/9;i=double(handles.k);k=convn(i,h);imshow(k,);title(經(jīng)過(guò)線性平滑后的圖像);handles.k=k;guidata(hObject,handles);%Executesonbuttonpressinsharpen.functionsharpen_Callback(hObject,eventdata,handles)%hObject%eventdatahandl

46、etosharpen(seeGCBO)reserved一tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;K=fspecial(laplacian,0.7);k=filter2(K,T)/100;imshow(k);title(經(jīng)過(guò)線性銳化后的圖像);handles.k=k;guidata(hObject,handles);%Executesonbuttonpressingray.functiong

47、ray_Callback(hObject,eventdata,handles)%hObject%eventdatahandletogray(seeGCBO)reserved一tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;k=rgb2gray(handles.k);imshow(k);title(灰度變換后的圖像);handles.k=k;guidata(hObject,handles);%Exe

48、cutesonbuttonpressinnoise.functionnoise_Callback(hObject,eventdata,handles)%hObject%eventdatahandletonoise(seeGCBO)reserved一tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;prompt=設(shè)置椒鹽噪聲參數(shù):;defans=0.05;p=inputdlg(prompt,input

49、,1,defans);p1=str2num(p1);k=imnoise(handles.k,salt&pepper,p1);imshow(k);title(加入椒鹽噪聲后的圖像);handles.k=k;guidata(hObject,handles);%Executesonbuttonpressinbalance.functionbalance_Callback(hObject,eventdata,handles)%hObjecthandletobalance(seeGCBO)%eventdatareservedtobedefinedinafutureversionofMATLAB%hand

50、lesstructurewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;k=histeq(handles.k);imshow(k);title(經(jīng)過(guò)直方圖均衡后的圖像);handles.k=k;guidata(hObject,handles);%Executesonbuttonpressininverse.functioninverse_Callback(hObject,eventdata,handles)%hObjecthandletoinverse(seeGCBO)%eventdatareser

51、vedtobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;k=imcomplement(handles.k);%求反函數(shù)imshow(k);title(求反后的圖像);handles.k=k;guidata(hObject,handles);%Executesonbuttonpressinedgedetect.functionedgedetect_Callback(hObject,eventdata,

52、handles)%hObjecthandletoedgedetect(seeGCBO)%eventdatareservedtobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;k=edge(handles.k,canny);imshow(k);title(通過(guò)Canny邊緣檢測(cè)后的圖像);handles.k=k;guidata(hObject,handles);%Executesonbuttonpres

53、sinhormirror.functionhormirror_Callback(hObject,eventdata,handles)%hObjecthandletohormirror(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;k=handles.k;k=fliplr(handles.k);imshow(k);title(水平鏡像后的圖像)

54、;handles.k=k;guidata(hObject,handles);%Executesonbuttonpressinvermirror.functionvermirror_Callback(hObject,eventdata,handles)%hObjecthandletovermirror(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalTaxes(handles.axes2);T=getimage;k=handles.k;k=flipud(handles.k);imshow(k);title(垂直鏡像后的圖像);handles.k=k;guidata(hObject,handles);%Executesonbuttonpressinrotate.functionrotate_Callback(hObject,eventdata,handles)%hObjecthandletorotate(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructure

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論