




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上摘要本課程設計基于對matlab軟件以及數字圖象處理的學習,制作了一個GUI界面顯示的圖像處理框。可以實現對圖像的讀取、保存、顯示,以及直方圖均衡化、閾值化、小波分解、小波重構、加噪、去噪、平滑、銳化、邊緣檢測、圖像分割等功能。通過對此課題的制作,對基于matlab的圖像處理函數以及小波變換等工程及其應用有了更深入的了解。設計目的1、掌握有關數字圖像的常用方法。2、掌握Matlab圖形工具箱中常用函數的使用方法。3、能用Matlab完成簡單的圖像處理。4、學會使用Matlab的GUI界面。設計要求和設計指標1、 編寫基本的數字圖象處理程序,包括圖象的讀取、存儲、顯示、
2、直方圖均衡化、閾值化、小波分解、小波重構、加噪、去噪、平滑、銳化、邊緣檢測、圖像分割等功能(可自己任意設計、增減功能)。2、 盡量使用界面GUI(選做)。3、 要求使用Matlab編制程序,寫出報告。報告包括:設計思路、算法、源程序代碼、運行示例、界面GUI等內容。GUI界面圖設計思路一、 設計GUI編輯界面4、 在Matlab中Create New GUI,并保存為new.fig,即出現GUI編輯界面,如圖一所示。5、 在GUI編輯界面設置Push Button按鈕,并在Property Inspector里更改屬性。依次命名為讀取圖片、保存圖片、退出、加噪、去噪、直方圖均值化、閾值化、邊緣
3、監測、圖像分割、理想平滑、銳化、一維離散小波變換、二維離散小波變換。6、 點擊Axes鍵,劃定圖像顯示區域,如圖一所示。二、 添加圖像處理程序1、 選中“讀取圖片”按鈕,右鍵點擊view callbackscallback,Editor框自動跳到該按鈕對應的編程區function pushbutton1_Callback(hObject, eventdata, handles)。在注釋的后面添加“讀取圖片”所需要的程序,如下:%選擇圖片路徑filename,pathname=.uigetfile('*.jpg''*bmp''*gif','
4、選擇圖片');%合成路徑+文件名str=pathname filename;global I;%讀取圖片I=imread(str);%顯示圖片imshow(I);2、 點擊運行按鈕,即挑出GUI運行界面,如圖二所示。此時點擊“讀取圖片”按鈕,即可在指定路徑添加圖片,并在axes窗口中顯示。3、 依次按照前兩個步驟,分別添加保存圖片、退出、加噪、去噪、直方圖均值化、閾值化、邊緣監測、圖像分割、理想平滑、銳化、一維離散小波變換、二維離散小波變換等程序,并分別調試運行即可。4、 詳細程序代碼及運行示例及GUI界面見附件。算法的應用在此次數字圖像處理中運用了多種算法,甚至在有些功能,如銳化就運
5、用了5種算法來實現。算法的具體說明與描述請見附件。邊緣監測:edge函數、Soble邊界探測器和Canny邊界探測器分別進行邊緣監測,用以比較。加噪:疊加均值為0,方差為0.02的高斯噪聲以及疊加密度為0.04的椒鹽噪聲。去噪:先疊加密度為0.04的椒鹽噪聲,再加以去噪。平滑:運用低通濾波器銳化:分別采用空間高通濾波法以及四種頻域高通濾波法來銳化。其中頻域銳化分別采用理想高通濾波器、巴特沃斯高通濾波器、指數型高通濾波器和梯形高通濾波器來實現。5種算法同時輸出圖片,進行比較。附主要程序代碼如下:讀取圖片:%選擇圖片路徑filename,pathname=.uigetfile('*.jpg
6、''*bmp''*gif','選擇圖片'); %合成路徑+文件名str=pathname filename; global Q; % 定義全局變量Q%讀取圖片Q=imread(str);%顯示圖片imshow(Q);保存圖片:global Q;imwrite(Q,'my.png'); % 圖片保存為my.png退出:close(gcf)直方圖均值化:global Q;figure,imhist(Q);I2=histeq(Q);figure,imshow(I2);閾值化將灰度圖像轉化為索引圖像:global Q; X=gra
7、yslice(Q,16); figure(1); imshow(X,hot(16);邊緣檢測:global Q;RGB=Q; figure(1); imshow(RGB);Q=rgb2gray(RGB); figure(2); imshow(Q); colorbar('horiz');ED=edge(Q,'sobel',0.08); figure(3); imshow(ED);圖像分割:global Q; BW=roicolor(Q,128,255); figure(1),imshow(Q) figure(2),imshow(BW);加噪:J1=imnoise(
8、Q,'gaussian',0,0.02); % 疊加均值為0,方差為0.02的高斯噪聲,可以用 % localvar代替figure,imshow (J1);J2=imnoise(Q,'salt & pepper',0.04); % 疊加密度為0.04的椒鹽噪聲。 figure,imshow(J2);去噪:J2=imnoise(Q,'salt & pepper',0.04); % 疊加密度為0.04的椒鹽噪聲。 figure,imshow(J2);Q_Filter1=medfilt2(J2,3 3); %窗口大小為3×3
9、figure,imshow(Q_Filter1);Q_Filter2=medfilt2(J2,5 5); %窗口大小為5×5figure,imshow(Q_Filter2);Q_Filter3=medfilt2(J2,7 7); %窗口大小為7×7figure,imshow(Q_Filter3);理想平滑:figure;imshow(A);A=double(A);m,n=size(A);for i=1:m for j=1:n A(i,j)=A(i,j)*(-1)(i+j); endendfigure;imshow(A,0 255);A=fft2(A);figure;imsh
10、ow(A,0 255);B=abs(A);C=10*log(1+B);figure;imshow(C,0 255);D=zeros(m,n);H=zeros(m,n);Dt=50;for i=1:m for j=1:n D(i,j)=sqrt(i-m/2-1)*(i-m/2-1)+(j-n/2-1)*(j-n/2-1); if D(i,j)<=Dt H(i,j)=1; else H(i,j)=0; end end endG=A.*H;figure;imshow(G,0 255);B=abs(G);C=10*log(1+B);figure;imshow(C,0 255);A=ifft2(G
11、);for i=1:m for j=1:n A(i,j)=A(i,j)*(-1)(i+j); endendfigure;imshow(A,0 255);A=uint8(A);imwrite(A,'test2_change.jpg');銳化: 5種方式實現銳化clc;I,map=imread(str);figuresubplot(3,2,1),imshow(I,map);I=double(I);IX,IY=gradient(I);GM=sqrt(IX.*IX+IY.*IY);OUT1=GM;subplot(3,3,2),imshow(OUT1,map);OUT2=I;J=find
12、(GM>=10);OUT2(J)=GM(J);subplot(3,2,3),imshow(OUT2,map);OUT3=I;J=find(GM>=10);OUT3(J)=255;subplot(3,2,4),imshow(OUT3,map);OUT4=I;J=find(GM<=10);OUT4(J)=255;subplot(3,2,5),imshow(OUT4,map);OUT5=I;J=find(GM>=10);OUT5(J)=255;Q=find(GM<10);OUT5(Q)=0;subplot(3,2,6),imshow(OUT5,map);一維離散小波變換
13、:load leleccum; s=leleccum(1:3920); ls=length(s); figure,plot(s) %讀入預先存儲的信號ca1,cd1=dwt(s,'db1');subplot(1,2,1),plot(ca1);subplot(1,2,2),plot(cd1) %小波分解第一層a1=upcoef('a',ca1,'db1',1,ls);d1=upcoef('d',cd1,'db1',1,ls);subplot(1,2,1),plot(a1);subplot(1,2,2),plot(d1
14、); %重構得到的近似信號和細節信號figure,plot(a1+d1); %近似與細節相加a0=idwt(ca1,cd1,'db1',ls);figure,plot(a0); %小波反變換重構C,L=wavedec(s,3,'db1'); %第三層小波分解ca3=appcoef(C,L,'db1',3);figure,plot(ca3); %近似分量cd3=detcoef(C,L,3);cd2=detcoef(C,L,2);cd1=detcoef(C,L,1);plot(cd3);figure,plot(cd2);figure,plot(cd1
15、); %三層細節分量a3=wrcoef('a',C,L,'db1',3);figure,plot(a3); %重構第三層近似信號d3=wrcoef('d',C,L,'db1',3);d2=wrcoef('d',C,L,'db1',2);d1=wrcoef('d',C,L,'db1',1);plot(d3);figure,plot(d2);figure,plot(d1); %重構3層細節信號a0=waverec(C,L,'db1');figure,plo
16、t(a0); %重構信號在第1層的近似信號二維離散小波變換:load woman2nbcol=size(map,1);colormap(pink(nbcol);cod_X=wcodemat(X,nbcol);image(cod_X);axis('square'); %編碼后的原始圖像ca1,ch1,cv1,cd1=dwt2(X,'db1');cod_ca1=wcodemat(ca1,nbcol);cod_ch1=wcodemat(ch1,nbcol);cod_cv1=wcodemat(cv1,nbcol);cod_cd1=wcodemat(cd1,nbcol);
17、image(cod_ca1,cod_ch1;cod_cv1,cod_cd1); %對圖像小波分解ca2,ch2,cv2,cd2=dwt2(ca1,'db1');cod_ca2=wcodemat(ca2,nbcol);cod_ch2=wcodemat(ch2,nbcol);cod_cv2=wcodemat(cv2,nbcol);cod_cd2=wcodemat(cd2,nbcol);image(cod_ca2,cod_ch2;cod_cv2,cod_cd2);axis('square') %第2層 a0=idwt2(ca1,ch1,cv1,cd1,'db1
18、',size(X);a0=wcodemat(a0,nbcol);image(a0);axis('square'); %第1層重構C,S=wavedec2(X,2,'db1');ca2=appcoef2(C,S,'db1',2);ch2=detcoef2('h',C,S,2);cv2=detcoef2('v',C,S,2);cd2=detcoef2('d',C,S,2);cod_ca2=wcodemat(ca2,nbcol);cod_ch2=wcodemat(ch2,nbcol);cod_cv
19、2=wcodemat(cv2,nbcol);cod_cd2=wcodemat(cd2,nbcol);image(cod_ca2,cod_ch2;cod_cv2,cod_cd2);axis('square');ca1=appcoef2(C,S,'db1',1);ch1=detcoef2('h',C,S,1);cv1=detcoef2('v',C,S,1);cd1=detcoef2('d',C,S,1);cod_ca1=wcodemat(ca1,nbcol);cod_ch1=wcodemat(ch1,nbcol);co
20、d_cv1=wcodemat(cv1,nbcol);cod_cd1=wcodemat(cd1,nbcol);image(cod_ca1,cod_ch1;cod_cv1,cod_cd1);axis('square') %第二層細節分量a2=wrcoef2('a',C,S,'db1',2);cod_a2=wcodemat(a2,nbcol);subplot(2,2,1),image(cod_a2);axis('square');h2=wrcoef2('h',C,S,'db1',2);v2=wrcoef2
21、('v',C,S,'db1',2);d2=wrcoef2('d',C,S,'db1',2);cod_h2=wcodemat(h2,nbcol);cod_v2=wcodemat(v2,nbcol);cod_d2=wcodemat(d2,nbcol);subplot(2,2,2),image(cod_h2);axis('square');subplot(2,2,3),image(cod_v2);axis('square');subplot(2,2,4),image(cod_h2);axis('square'); %第二層重構C,S=upwlev2(C,S,'db1');ca1=appcoef2(C,S,'db1',1);ch1=detcoef2('h',C,S,1);cv1=detcoef2('v',C,S,1);cd1=detcoef2('d',C,S,1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/Z 27001-2025合格評定通用要素原則與要求
- GB/T 45394-2025信息技術網絡空間測繪通用規范
- 子課題申報書的范例
- 2025年證券從業資格證考試應試策略與應對分析試題及答案
- 證券從業資格證的巔峰挑戰試題及答案
- 2025年相關法規的證券從業資格試題及答案
- 三方協議手機買賣合同
- 注冊會計師考試中學習禁忌與注意事項試題及答案
- 注冊會計師在企業中的角色分析試題及答案
- 采購與供應鏈協同技術重點基礎知識點
- 委托采購合同模板 第三方委托采購合同模板(六篇)
- GB/T 4744-2013紡織品防水性能的檢測和評價靜水壓法
- GB/T 4213-2008氣動調節閥
- GB 15930-2007建筑通風和排煙系統用防火閥門
- 隋唐時期:繁榮與開放的時代1-人教版優秀課件
- 公文易錯“白”字例析
- 征信查詢委托書(共4篇)
- 新蘇教版六年級下冊科學綜合測試卷(單元+期中+期末)
- 國開經濟學(本)1-14章練習試題及答案
- 個人財產申報表
- 中國古代文學史(二)正式課件
評論
0/150
提交評論