版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《數(shù)字圖像處理技術(shù)》課程設(shè)計(jì)報(bào)告</p><p> 設(shè)計(jì)題目: 數(shù)字圖像處理系統(tǒng) </p><p> 班 級(jí): 數(shù)字媒體 班 </p><p> 姓 名: </p><p> 學(xué) 號(hào):
2、 </p><p> 指導(dǎo)老師: </p><p> 日 期: 2013.7.2 </p><p> 一、課程設(shè)計(jì)目的要求:</p><p> 1、提高分析圖像處理問(wèn)題的能力,進(jìn)一步鞏固在《數(shù)字圖像處理技術(shù)》課程中所學(xué)的基本原理與方法。</p&
3、gt;<p> 2、掌握并使用一門(mén)計(jì)算機(jī)語(yǔ)言,進(jìn)行數(shù)字圖像處理的應(yīng)用設(shè)計(jì)。</p><p><b> 二、設(shè)計(jì)的內(nèi)容:</b></p><p> 根據(jù)本次課設(shè)完成的系統(tǒng)的主要功能如下:利用matlab的GUI程序設(shè)計(jì)一個(gè)簡(jiǎn)單的圖像處理程序,含有如下基本功能:</p><p> 圖像的讀取、存儲(chǔ)、剪切和粘貼</p>
4、;<p> 2、圖像轉(zhuǎn)化為灰度圖像</p><p> 3、圖像大小的計(jì)算 </p><p> 4、直方圖均衡化規(guī)定化的計(jì)算</p><p> 5、圖像求反、動(dòng)態(tài)壓縮 </p><p><b> 6、直接灰度調(diào)整</b></p><p> 7、空域?yàn)V波(均值、中值
5、、對(duì)比度增強(qiáng)濾波)</p><p> 8、非線(xiàn)性銳化濾波(log濾波、prewitt濾波、sobel卷積、sobel濾波)</p><p> 9、頻域增強(qiáng)(高通、低通濾波)</p><p><b> 三、總體方案設(shè)計(jì):</b></p><p> ?。?)、軟件的總體設(shè)計(jì)界面布局如下圖:</p><
6、;p> 系統(tǒng)的總體設(shè)計(jì)界面主要分為2個(gè)區(qū)域:顯示區(qū)域和操作區(qū)域。</p><p> 顯示區(qū)域:在原始圖像的基礎(chǔ)上顯示效果圖。</p><p> 操作區(qū)域:通過(guò)功能菜單實(shí)現(xiàn)圖像的各種處理。</p><p> 設(shè)計(jì)完成后運(yùn)行的軟件界面如下:</p><p> ?。?)、功能模塊的劃分:</p><p> 1
7、、圖像的讀取、存儲(chǔ)、退出</p><p> 2、編輯(還原、剪切、粘貼)</p><p> 3、圖像(圖像大小的計(jì)算、旋轉(zhuǎn)、直方圖均衡化規(guī)定化的計(jì)算、圖像求反、動(dòng)態(tài)壓縮) </p><p> 4、濾波(直接灰度調(diào)整、空域?yàn)V波、非線(xiàn)性銳化濾波、頻域增強(qiáng))</p><p><b> 、系統(tǒng)運(yùn)行環(huán)境:</b><
8、;/p><p> Windows 7 or SP1、Windows Vista SP2、Windows XP SP3、Windows XP x64 Edition SP2、Windows Server 2008 SP2 or R2、Windows Server 2003 R2 ,CPU要求:X86架構(gòu)且支持SSE2指令集,硬盤(pán)空間:典型安裝需要3-4G,內(nèi)存:最低1G,推薦2G。</p><p&
9、gt; 、選用的工具:matlab7.0,win7X64</p><p> 、主要實(shí)現(xiàn)功能的原理:</p><p> 直方圖均衡化方法的基本思想是,對(duì)在圖像中像素個(gè)數(shù)多的灰度級(jí)進(jìn)行展寬,而對(duì)像素個(gè)數(shù)少的灰度級(jí)進(jìn)行縮減。從而達(dá)到清晰圖像的目的??沼蚴侵笀D像平面本身,空域?yàn)V波這類(lèi)方法直接對(duì)圖像的像素進(jìn)行處理。采用低通濾波(即只讓低頻信號(hào)通過(guò))法,可去掉圖中的噪聲;采用高通濾波法,則可增強(qiáng)
10、邊緣等高頻信號(hào),使模糊的圖片變得清晰。</p><p> 各個(gè)功能模塊的主要實(shí)現(xiàn)程序:</p><p> 各個(gè)功能模塊的具體實(shí)現(xiàn),主要步驟實(shí)現(xiàn)的效果圖如下: </p><p><b> 1、圖像另存為:</b></p><p> function tp_saveAs_Callback(hObjec
11、t, eventdata, handles)</p><p> global tpdata tp;</p><p> [FileName,PathName]=uiputfile({'*.jpg;*.tif;*.png;*.gif';'*.*';'All Files' },'保存圖像',tp);</p><
12、;p> if FileName==0</p><p><b> return; </b></p><p><b> else</b></p><p> tp=[PathName,FileName];</p><p> imwrite(tpdata,tp);</p>&l
13、t;p><b> End</b></p><p><b> 2、灰度調(diào)整:</b></p><p> function tp_filter_grayhound_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p>&l
14、t;p><b> I=tpdata;</b></p><p> prompt={'請(qǐng)輸入兩個(gè)0—1之間的數(shù)'}; </p><p> dlgtitle = '輸入';</p><p> num_lines = 1;</p><p> def = { '0.3
15、0.7'};</p><p> answer = inputdlg(prompt,dlgtitle,num_lines,def);</p><p> answer =char(answer);</p><p> answer=str2num(answer);</p><p> if (answer(1)>0&an
16、swer(1)<1)&(answer(2)>0&answer(2)<1)</p><p> tpdata=imadjust(I,[answer(1) answer(2)],[]);</p><p> imshow(tpdata)</p><p><b> else</b></p><p
17、> warndlg('輸入錯(cuò)誤?。?!');</p><p><b> End</b></p><p><b> 3、計(jì)算圖像大小:</b></p><p> function tp_size_Callback(hObject, eventdata, handles)</p>&l
18、t;p> global tpdata;</p><p> [x,y]=size(tpdata);</p><p> msgbox( num2str([ x y ]) ,' 圖片大小 ');</p><p> 4、菜單中圖片旋轉(zhuǎn):</p><p> function tp_r
19、otate_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p> prompt={'+:為逆時(shí)針 -:為順時(shí)針'}; </p><p> dlgtitle = '輸入角度';</p><p> num_line
20、s = 1;</p><p> def = { '90'};</p><p> answer = inputdlg(prompt,dlgtitle,num_lines,def);</p><p> answer =char(answer);</p><p> answer=str2num(answer);</p&
21、gt;<p> if answer>-360&answer<360</p><p> tpdata=imrotate(tpdata,answer,'bicubic');</p><p> imshow(tpdata);</p><p><b> End</b></p>&l
22、t;p><b> 直方圖計(jì)算:</b></p><p> function tp_squarejs_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p> imhist(tpdata,64);</p><p> 5、直方
23、圖均值計(jì)算:</p><p> function tp_squareMeanjs_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p> I=tpdata;[m,n]=size(I); GP=zeros(1,25
24、6); </p><p> for k=0:255</p><p> GP(k+1)=length(find(I==k))/(m*n); </p><p><b> end</b></p><p> S1=zero
25、s(1,256);</p><p> for i=1:256</p><p><b> for j=1:i</b></p><p> S1(i)=GP(j)+S1(i); %計(jì)算Sk</p><p><b> end </b></p><p&
26、gt;<b> end </b></p><p> S2=round(S1*256); %將Sk歸到相近級(jí)的灰度</p><p> for i=1:256</p><p> GPeq(i)=sum(GP(find(S2==i))); %計(jì)算現(xiàn)有每個(gè)灰度級(jí)出現(xiàn)的概率 </p>&
27、lt;p><b> end</b></p><p><b> PA=I; </b></p><p> for i=0:255 </p><p> PA(find(I==i))=S2(i+1);%將各個(gè)像素歸一化后的灰度值賦給這個(gè)像素 </p><p><b> end &l
28、t;/b></p><p> imshow(PA) %顯示均衡化后的圖像 tadata=(PA);</p><p> figure('NumberTitle','off','Name','直方圖'), %顯示均衡化后的直方圖 </p><p> bar(0:255,GPeq,'
29、b') </p><p> title('Averaging picture')</p><p> xlabel('graydegree')ylabel('probability')</p><p>
30、; 6、直方圖規(guī)定化計(jì)算:</p><p> function tp_squareOrdainjs_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p> tpdata=histeq(tpdata);</p><p> imshow(tpdata)
31、;</p><p> figure('NumberTitle','off','Name','直方圖規(guī)定化') ,imhist(tpdata,64);</p><p><b> 7、圖片求反:</b></p><p> function tp_reverse_Callback(
32、hObject, eventdata, handles)</p><p> global tpdata;</p><p> X1=tpdata;</p><p><b> f1=200;</b></p><p><b> g1=256;</b></p><p><
33、;b> k=g1/f1;</b></p><p> [m,n]=size(X1);</p><p> X2=double(X1);</p><p><b> for i=1:m</b></p><p><b> for j=1:n</b></p><p
34、> f=X2(i,j);</p><p><b> g(i,j)=0;</b></p><p> if (f>=0)&(f<=f1)</p><p> g(i,j)=g1-k*f;</p><p><b> else</b></p><p&g
35、t;<b> g(i,j)=0;</b></p><p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p> imshow(mat2gray(g))</p>
36、<p> tpdata=mat2gray(g);</p><p><b> 8、動(dòng)態(tài)壓縮:</b></p><p> function tp_compress_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p>
37、 X1=tpdata;</p><p> c=255/log(256);</p><p> x=0:1:255;</p><p> y=c*log(1+x);</p><p> [m,n]=size(X1);</p><p> X2=double(X1);</p><p><b&
38、gt; for i=1:m</b></p><p><b> for j=1:n</b></p><p> g(i,j)=c*log(X2(i,j)+1);</p><p><b> end</b></p><p><b> end</b></p&g
39、t;<p> imshow(mat2gray(g))</p><p> tpdata=mat2gray(g);</p><p><b> 9、均值濾波:</b></p><p> function tp_meanfilte_Callback(hObject, eventdata, handles)</p>&
40、lt;p> global tpdata;</p><p><b> I=tpdata;</b></p><p> J=imnoise(I,'salt & pepper',0.02);</p><p> tpdata=filter2(fspecial('average',3),J)/255;&
41、lt;/p><p> imshow(tpdata)</p><p><b> 10、高通濾波:</b></p><p> function tp_highfilite_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p>&l
42、t;p> I1=tpdata;</p><p> f=double(I1);</p><p> g=fft2(f);</p><p> g=fftshift(g);</p><p> [N1,N2]=size(g);</p><p><b> n=2;d0=5;</b></
43、p><p> n1=fix(N1/2);</p><p> n2=fix(N2/2);</p><p> for i=1:N1</p><p> for j=1:N2</p><p> d=sqrt((i-n1)^2+(j-n2)^2);</p><p><b> if d==
44、0;</b></p><p><b> h=0;</b></p><p><b> else</b></p><p> h=1/(1+(d0/d)^(2*n));</p><p><b> end</b></p><p> resu
45、lt(i,j)=h*g(i,j);</p><p><b> end</b></p><p><b> end</b></p><p> result=ifftshift(result);</p><p> X2=ifft2(result);</p><p> tp
46、data=uint8(real(X2));</p><p> imshow(tpdata)</p><p><b> 11、低通濾波:</b></p><p> function tp_lowfilite_Callback(hObject, eventdata, handles)</p><p> global
47、tpdata;</p><p> I1=tpdata;</p><p> f=double(I1);</p><p> g=fft2(f);</p><p> g=fftshift(g);</p><p> [N1,N2]=size(g);</p><p><b> n=2
48、;</b></p><p><b> d0=50;</b></p><p> n1=fix(N1/2);</p><p> n2=fix(N2/2);</p><p> for i=1:N1</p><p> for j=1:N2</p><p>
49、d=sqrt((i-n1)^2+(j-n2)^2);</p><p> h=1/(1+0.414*(d/d0)^(2*n));</p><p> result(i,j)=h*g(i,j);</p><p><b> end</b></p><p><b> end</b></p>
50、<p> result=ifftshift(result);</p><p> X2=ifft2(result);</p><p> tpdata=uint8(real(X2));</p><p> imshow(tpdata)</p><p><b> 12、中值濾波:</b></p>
51、;<p> function tp_medieafilite_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p><b> I=tpdata;</b></p><p> J=imnoise(I,'salt & peppe
52、r',0.08);</p><p> domain=[0 0 1 0 0;</p><p> 0 0 1 0 0;</p><p> 1 1 1 1 1;</p><p> 0 0 1 0 0;</p><p> 0 0 1 0 0];</p><p> tpdata=ord
53、filt2(J,5,domain);</p><p> imshow(tpdata);</p><p> 13、對(duì)比度增強(qiáng)濾波:</p><p> function tp_contraststrongfilite_Callback(hObject, eventdata, handles)</p><p> global tpdata;
54、</p><p><b> I=tpdata;</b></p><p> prompt={'輸入一個(gè)0-1之間的數(shù)'}; dlgtitle = '輸入數(shù)字';</p><p> num_lines = 1;</p><p> def = { '0.8'};<
55、;/p><p> answer = inputdlg(prompt,dlgtitle,num_lines,def);</p><p> answer =char(answer);</p><p> answer=str2num(answer);</p><p> if answer>0&answer<1</p&g
56、t;<p> h=fspecial('unsharp',answer);</p><p> tpdata=filter2(h,I)/255;</p><p> imshow(tpdata)</p><p> Else warndlg('輸入錯(cuò)誤?。?!');</p><p>&
57、lt;b> End</b></p><p><b> 14、log濾波:</b></p><p> function tp_log_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p> I1=tpdata;
58、</p><p> h1=fspecial('sobel');</p><p> h3=fspecial('log');</p><p> tpdata=filter2(h3,I1);</p><p> imshow(tpdata);</p><p> title('l
59、og 濾波');</p><p> 15、prewitt濾波:</p><p> function tp_prewitt_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p> I1=tpdata;</p><p>
60、 h1=fspecial('sobel');</p><p> h2=fspecial('prewitt');</p><p> tpdata=conv2(h2,I1);</p><p> imshow(tpdata);</p><p> title('prewitt 濾波');<
61、/p><p> 16、Sobel卷積濾波:</p><p> function tp_sobel_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p> I1=tpdata;</p><p> h1=fspecial('
62、sobel');</p><p> tpdata=filter2(h1,I1);</p><p> imshow(tpdata);</p><p> title('sobel 卷積');</p><p> I3=conv2(I1,h1);</p><p> 17、sobel濾波:<
63、;/p><p> function tp_sobellb_Callback(hObject, eventdata, handles)</p><p> global tpdata;</p><p> I1=tpdata;</p><p> h1=fspecial('sobel');</p><p>
64、 tpdata=conv2(I1,h1);</p><p> imshow(tpdata);</p><p> title('sobel 濾波');</p><p> 課程設(shè)計(jì)總結(jié)與體會(huì):</p><p> 本次課程設(shè)計(jì),我做的內(nèi)容主要是根據(jù)我們課堂上所學(xué)的數(shù)字圖像處理的一些基本功能函數(shù),實(shí)現(xiàn)了直方圖的計(jì)算(均衡化,
65、規(guī)定化),圖像求反,動(dòng)態(tài)壓縮,以及濾波(空域、非線(xiàn)性銳化、頻域增強(qiáng))功能。但是本次課設(shè)還有需要改進(jìn)的地方,代碼中沒(méi)有將彩色圖像分成RGB三張圖,分別進(jìn)行濾波,而是采用了轉(zhuǎn)化為灰度圖像進(jìn)行濾波。通過(guò)本次的課程設(shè)計(jì),把課堂上的所學(xué)運(yùn)用到圖像處理的系統(tǒng)中,加深了對(duì)數(shù)字圖像處理這門(mén)課程的理解。在完成作業(yè)的過(guò)程中,也遇到好多問(wèn)題,不斷的在網(wǎng)上查閱資料,翻閱書(shū)本,當(dāng)然啦,最方便的就是請(qǐng)教同學(xué),最終完成了此次課設(shè)。雖然做的比較粗糙,但是還是在過(guò)程中學(xué)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字圖像處理課程設(shè)計(jì)---數(shù)字圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)--實(shí)現(xiàn)簡(jiǎn)單的數(shù)字圖像處理功能
- 數(shù)字圖像處理課程設(shè)計(jì)論文
- 數(shù)字圖像處理課程設(shè)計(jì) (2)
- 數(shù)字圖像處理課程設(shè)計(jì)1
- 數(shù)字圖像處理外文翻譯--- 數(shù)字圖像處理
- 圖像處理課程設(shè)計(jì)--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)--人臉檢測(cè)
- 多媒體CAI數(shù)字圖像處理系統(tǒng)---數(shù)字圖像處理技術(shù)及顯示特技.pdf
- 數(shù)字圖像處理
- 數(shù)字圖像處理dct變換課程設(shè)計(jì)
- 2013數(shù)字圖像處理課程設(shè)計(jì)報(bào)告
- 數(shù)字圖像處理-課程設(shè)計(jì)報(bào)告-matlab
評(píng)論
0/150
提交評(píng)論