【正文】
Sobel Models and Machine Perception[J],PhD Theses,Stanford,CA,1970【5】Ma W Y and Manjunath B :A Technique for Boundary Detection and Image Segmentation[J],IEEE Processing,Aug,2000【6】張大鵬,[M].北京:科學(xué)出版社,2006【7】張賢達,[M],國防工業(yè)出版社,1998【8】王玉平,[J],中國科學(xué)(A輯),1995【9】[M].北京:高等教育出版社,2000【10】程正興,楊守志, 算法 進展和應(yīng)用[M].北京:國防工業(yè)出版社,2007【11】[M].北京:機械工業(yè)出版社,【12】[M].北京:清華大學(xué)出版社,2005【13】[M].北京:科技出版社,2003【14】 Enhancement and . 75149,1970【15】Canny Edges and Lines in Artificial Intelligence Lab, Cambridge,MA,Technology Report,1983【16】Marr D C,Hildreth of edge detection[J]. B,1980【17】Canny Computational Approach to Edge Detection[J],IEEE Trans on Pattern Analysis and Machine ,8(1):679697【18】,2009【19】王玉平,[J].中國科學(xué)(A輯),1995,25(4):426:437【20】,2008【21】賀興華,周媛媛,[M] .北京:人民郵電出版社,2006 附錄圖21至圖24程序:b=imread(39。39。)。a=b(32:45,88:98)。imshow(b)。figure,imshow(a)。c=real(ifft2(fft2(b).*fft2(rot90(a,2),256,256)))。%對rot90(a,2)的圖像區(qū)域進行補0figure,imshow(c,[])。thresh=60。%設(shè)置閾值,卷積結(jié)果中高于閾值的即為被檢測位置figure,imshow(cthresh)圖31程序% Set effective support and grid parameters.lb = 5。 ub = 5。 n = 1000。% Compute Gaussian wavelet of order 12.[psi,x] = gauswavf(lb,ub,n,12)。% Plot Gaussian wavelet of order 12.plot(x,psi),title(39。Gaussian wavelet of order 1239。); grid圖32程序% Set bandwidth and center frequency parameters.fb = 1。 fc = 。% Set effective support and grid parameters.lb = 5。 ub = 5。 n = 1000。 % Compute plex Shannon wavelet .[psi,x] = shanwavf(lb,ub,n,fb,fc)。% Plot plex Shannon wavelet.plot(x,real(psi)),title(39。Shannon wavelet39。),grid圖33程序lowb=8。uppb=8。%定義在有效支撐上點的個數(shù)n=1024。%計算并畫出Meyer小波[phi,psi,x]=meyer(lowb,uppb,n)。plot(x,psi)。title(39。Meyer小波39。); grid圖34程序load clown。subplot(221)。image(X)。colormap(map)title(39。原始圖像39。)。axis squaredisp(39。壓縮前圖像X的大小39。)。whos(39。X39。) %[c,s]=wavedec2(X,2,39。39。)。%提取小波分解結(jié)構(gòu)中第一層低頻系數(shù)和高頻系數(shù)ca1=appcoef2(c,s,39。39。,1)。ch1=detcoef2(39。h39。,c,s,1)。cv1=detcoef2(39。v39。,c,s,1)。cd1=detcoef2(39。d39。,c,s,1)。%分別對各頻率成分進行重構(gòu)a1=wrcoef2(39。a39。,c,s,39。39。,1)。h1=wrcoef2(39。h39。,c,s,39。39。,1)。v1=wrcoef2(39。v39。,c,s,39。39。,1)。d1=wrcoef2(39。d39。,c,s,39。39。,1)。c1=[a1,h1。v1,d1]。%顯示分解后各頻率成分的信息subplot(222)。image(c1)。axis squaretitle(39。分解后低頻和高頻信息39。)。ca1=appcoef2(c,s,39。39。,1)。ca1=wcodemat(ca1,440,39。mat39。,0)。%改變圖像高度ca1=*ca1。subplot(223)。image(ca1)。colormap(map)。axis squaretitle(39。第一次壓縮39。)。disp(39。第一次圖像壓縮的大小為:39。)。%保留小波分解第二層低頻信息whos(39。ca139。)ca2=appcoef2(c,s,39。39。,2)。%對第二層信息進行量化編碼ca2=wcodemat(ca2,440,39。mat39。,0)。ca2=*ca2。subplot(224)。image(ca2)。colormap(map)。axis squaretitle(39。第二次壓縮39。)。disp(39。第二次壓縮圖像的大小為:39。)。whos(39。ca239。)圖35程序%下面裝入原始圖像,X中含有被裝載的圖像load trees。subplot(221)。image(X)。colormap(map)。title(39。原始圖像39。)。axis square%產(chǎn)生含噪圖像init=2055615866。randn(39。seed39。,init)x=X+38*randn(size(X))。%畫出含噪圖像subplot(222)。image(x)。colormap(map)。title(39。含噪聲圖像39。)。axis square。%下面進行圖像的去噪處理%用小波函數(shù)sym4對x進行2層小波分解[c,s]=wavedec2(x,2,39。sym439。)。%提取小波分解中第一層的低頻圖像,即實現(xiàn)了低通濾波去噪a1=wrcoef2(39。a39。,c,s,39。sym439。)。%畫出去噪后的圖像subplot(223)。image(a1)。title(39。第一次去噪圖像39。)。axis square。%提取小波分解中第二層的低頻圖像,即實現(xiàn)了低通濾波去噪%相當(dāng)于把第一層的低頻圖像經(jīng)過再一次的低頻濾波處理a2=wrcoef2(39。a39。,c,s,39。sym439。,2)。%畫出去噪后的圖像subplot(224)。image(a2)。title(39。第二次去噪圖像39。)。axis square。圖41至圖45程序clear all。I=imread(39。39。)。%自己輸入圖片名稱及格式BW=edge(I,39。sobel39。)。%后邊的參數(shù)‘sobel’或39。roberts39。等根據(jù)需要修改subplot(2,2,1)。imshow(I)。subplot(2,2,2)。imshow(BW)。圖46程序clear all。I=imread(39。39。)。%自己輸入圖片名稱及格式BW=edge(I,39。canny39。)。%后邊的參數(shù)‘canny’即為用canny算子進行運算subplot(2,2,1)。imshow(I)。subplot(2,2,2)。imshow(BW)。圖51至圖54程序i=imread(39。39。)。I=rgb2gray(i)。imshow(I)。figureimhist(I)。xlabel(39?;叶鹊燃?9。)。ylabel(39。像素個數(shù)39。)。J=histeq(I)。figure。imhist(J)。xlabel(39?;叶鹊燃?9。)。ylabel(39。像素個數(shù)39。)。figure。imshow(J)。圖55程序clear all[X,map]=imread(39。39。)。%將UNIT格式的數(shù)據(jù)轉(zhuǎn)化為DOUBLE型I=double(X)/255。I=imadjust(I,stretchlim(I),[0 1])。%將矩陣I的行數(shù)和列數(shù)分別賦給N和M[N,M]=size(I)。figureimshow(I)。title(39。(a) 原始圖像39。)。% 設(shè)置樣條濾波器系數(shù)h=[,]。g=[,]。delta=[1,0,0]。% 設(shè)置分解級數(shù),逼近和x,y方向的二進小波系數(shù)及梯度絕對值數(shù)組清零J=2。%構(gòu)造含三個階零矩陣的數(shù)組a(1:N,1:M,1:J+1)=0。dx(1:N,1:M,1:J+1)=0。dy(1:N,1:M,1:J+1)=0。d(1:N,1:M,1:J+1)=0。% 第1級分解,顯示第1級分解的邊緣a(:,:,1)=conv2(h,h,I,39。same39。)。%對原始圖像在X軸方向求導(dǎo),并賦值給的第一個階矩陣dx(:,:,1)=conv2(delta,g,I,39。same39。)。%對原始圖像在Y軸方向求導(dǎo),并賦值給的第一個階矩陣dy(:,:,1)=conv2(g,delta,I,39。same39。)。x=dx(:,:,1)。y=dy(:,:,1)。%計算原始圖像邊緣梯度模的大小d(:,:,1)=sqrt(x.^2+y.^2)。I=imadjust(d(:,:,1),stretchlim(d(:,:,1)),[0 1])。figure。imshow(I)。title(39。(b) 第1級小波變換邊緣檢測39。)。% 第2至J+1級分解lh=length(h)。lg=length(g)。for j=1:J lhj=2^j*(lh1)+1。 lgj=2^j*(lg1)+1。%將第j級分解的樣條濾波器系數(shù)先全部清零hj(1:lhj)=0。 gj(1:lgj)=0。%將樣條濾波器系數(shù)按照尺度賦值給第j級小波分解的圖像 for n=1:lh hj(2^j*(n1)+1)=h(n)。 end for n=1:lg gj(2^j*(n1)+1)=g(n)。 end a(:,:,j+1)=conv2(hj,hj,a(:,:,j),39。same39。)。 dx(:,:,j+1)=conv2(delta,gj,a(:,:,j),39。same39。)。 dy(:,:,j+1)=conv2(gj,delta,a(:,:,j),39。same39。)。 x=dx(:,:,j+1)。 y=dy(:,:,j+1)。 d(:,:,j+1)=sqrt(x.^2+y.^2)。 I=imadjust(d(:,:,j+1),stretchlim(d(:,:,j+1)),[0 1])。 figure(j+2)。 if j==1 ch=39。c39。 else ch=39。d39。 end imshow(I)。title([39。(39。,ch,39。) 第39。,num2str(j+1),39。級小波變換邊緣檢測39。])。end 致 謝經(jīng)過不懈的努力,我終于完成了畢業(yè)論文的編寫。首先,我要感謝的是輔導(dǎo)我的彭滔老師。在畢業(yè)設(shè)計剛剛選好題目之后,彭老師就要我去她辦公室,給我詳細講解了畢設(shè)要求以及大致方向,并為我之后的工作提出了很多寶貴的建議。在做畢設(shè)準備工作的那段時間里,遇到理論不理解的地方彭老師總會細心講解,遇到仿真結(jié)果出問題的時候彭老師總會耐心指導(dǎo)。最后再到論文編寫階段,她仔細審閱,細心指導(dǎo),并且給了我許多難得的修改意見。作為一名曾任教過我的年輕教師,她的工作態(tài)度和對學(xué)生的關(guān)懷給我留下了深刻的印象??梢哉f,沒有彭老師的悉心指導(dǎo),我的畢業(yè)設(shè)計是難以取得預(yù)期的效果的。在此,我要對彭老師致以真誠的謝意。畢業(yè)設(shè)計是一項艱巨的任務(wù)。在這段時期,我一直都待在班主任的實驗室研究理論和進行仿真。期間,得到了班主任和班上許多同學(xué)的大力幫助,解決了很多困擾我的問題。在此,也對他們表示衷心的感謝。在生活上,這段時期里家人經(jīng)常打電話關(guān)心我的情況,并提供了堅強的后盾,讓我能全身心的投入到畢設(shè)的工作中來。非常感謝家人帶來的溫暖。最后,我再次向所有關(guān)心和幫助過我的老師、同學(xué)以及親人致以最誠摯的謝意!45