版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)字圖像處理實習(xí)報告 專業(yè):生醫(yī)0901 小組成員:李建魯、張丹 指導(dǎo)老師:喻 罡2012年7月10日數(shù)字圖像處理一、目的1 用matlab或其他的語言來實現(xiàn)數(shù)字圖像處理方面的一些操作;2 熟悉matlab7.1的一些基本函數(shù)及與數(shù)字圖像處理相關(guān)的函數(shù);3 熟悉圖形用戶界面(gui),并用其來編寫界面;4 熟悉數(shù)字圖像處理課程中的一些知識點,如圖像灰度變化,直方圖,圖像增強,濾波,圖像復(fù)原,形態(tài)學(xué)處理,圖像邊緣檢測,圖像放大和縮小等等,并能用matlab實現(xiàn)以上的功能;5 掌握從簡單到復(fù)雜的方法,一步一步的實現(xiàn)功能,并能耐心排錯,養(yǎng)成合作互助精神。二、任務(wù)1實現(xiàn)圖像的打開,顯示,保存操作,實現(xiàn)
2、圖像的旋轉(zhuǎn);2實現(xiàn)圖像的灰度變換(圖像反轉(zhuǎn),對數(shù)反轉(zhuǎn),冪次反轉(zhuǎn));3實現(xiàn)圖像的大小變換;4實現(xiàn)圖像的直方圖處理及直方圖均衡化;5實現(xiàn)圖像的空域和頻域增強,實現(xiàn)均值濾波,維納濾波,中值濾波及巴特沃斯低通、高通濾波;6實現(xiàn)圖像的加噪,如椒鹽噪聲、高斯噪聲等;7實現(xiàn)圖像的形態(tài)學(xué)運算,如開運算,閉運算,膨脹運算,腐蝕運算等操作;8實現(xiàn)圖像的邊緣檢測,如robert算子邊緣檢測,sobel算子邊緣檢測,prewitt算子邊緣檢測,log算子邊緣檢測,canny算子邊緣檢測;9實現(xiàn)整個界面的設(shè)計,編排,最終達到一種比較完美的效果。三、主要內(nèi)容及步驟 本次實驗主要是利用設(shè)計編輯器進行g(shù)ui界面設(shè)計,并進行相
3、應(yīng)代碼編寫,以實現(xiàn)數(shù)字圖像處理。 步驟:1、啟動guide。直接輸入guide運行或單擊file菜單欄中的new打開gui模塊界面。2、利用gui界面中的控件完成界面設(shè)計。3、用屬性編輯器設(shè)置各個控件的相關(guān)屬性。4、編寫回調(diào)程序。主要界面四、算法實現(xiàn)(相應(yīng)代碼) 打開:filename,pathname=. uigetfile(*.jpg,jpeg-files (*.jpg); . *.tif,tif-files(*.tif);*.png,png-files(*.png);. *.*,all files (*.*),_,untitled.jpg);str=pathname,filename;g
4、lobal image;global dai;image=imread(str);dai=image;axes(handles.axes1);imshow(image);圖像翻轉(zhuǎn):可以實現(xiàn)順時針90度的選轉(zhuǎn),每點擊一下,則選擇90global dai;dai=imrotate(dai,90,bilinear);axes(handles.axes2);imshow(dai);對數(shù)翻轉(zhuǎn):global dai; a=double(dai); m,n=size(dai); for x=1:m for y=1:n g(x,y)=log(a(x,y)+1); end end axes(handles.ax
5、es2);imshow(mat2gray(g);冪次翻轉(zhuǎn):global dai; a=double(dai); m,n=size(dai); for x=1:m for y=1:n g(x,y)=0; g(x,y)=a(x,y).5; end end axes(handles.axes2);imshow(mat2gray(g);直方圖:global dai;axes(handles.axes2);counts,x=imhist(dai);bar(x,counts);直方圖均衡化:global dai; j= histeq(dai); axes(handles.axes2); imshow(j)
6、;開運算:global dai; se=strel(disk,1);pp3=imopen(dai,se); axes(handles.axes2); imshow(pp3);閉運算:global dai; se=strel(disk,1); pp4=imclose(dai,se); axes(handles.axes2); imshow(pp4);膨脹運算:global dai; se=strel(disk,1); pp1=imdilate(dai,se); axes(handles.axes2); imshow(pp1);腐蝕運算:global dai; se=strel(disk,1);
7、pp2=imerode(dai,se); axes(handles.axes2);imshow(pp2);椒鹽噪聲:加入的參數(shù)為0.05global daiglobal imageprompt=輸入?yún)?shù)1:;defans=0;p=inputdlg(prompt,輸入?yún)?shù),1,defans);p1=str2num(p1);dai=imnoise(image,salt & pepper,p1); %生成椒鹽噪聲axes(handles.axes2);imshow(dai);imwrite(dai,salt.jpg); 高斯噪聲:輸入的參數(shù)1為0.5參數(shù)2為0.5global daiglobal i
8、mageprompt=輸入?yún)?shù)1:,輸入?yún)?shù)2:;defans=0,0;p=inputdlg(prompt,輸入?yún)?shù),1,defans);p1=str2num(p1);p2=str2num(p2);dai=imnoise(image,gaussian,p1,p2); %生成高斯噪聲axes(handles.axes2);imshow(dai);log算子邊緣檢測:global dai; bw4=edge(dai,log); axes(handles.axes2);imshow(bw4);sobel算子邊緣檢測:global dai;bw2=edge(dai,sobel); axes(handl
9、es.axes2); imshow(bw2);canny算子邊緣檢測:global dai; bw5=edge(dai,canny); axes(handles.axes2); imshow(bw5);prewitt算子邊緣檢測:global dai; bw3=edge(dai,prewitt); axes(handles.axes2); imshow(bw3);均值濾波:global dai;axes(handles.axes2);k1=filter2(fspecial(average,5),dai)/255;imshow(k1);維納濾波:global dai;axes(handles.a
10、xes2);prompt=輸入?yún)?shù)1:,輸入?yún)?shù)2:;defans=5,5;p=inputdlg(prompt,輸入?yún)?shù),1,defans);p1=str2num(p1);p2=str2num(p2);dai=wiener2(dai,p1,p2); %維納濾波imshow(dai);imwrite(dai,wiener.jpg); 中值濾波:global daidai=medfilt2(dai,5,5,symmetric); axes(handles.axes2);%中值濾波imshow(dai);imwrite(dai,medfilt.jpg);巴特奧斯濾波:global dai; axes
11、(handles.axes2); f=double(dai); g=fft2(f); g=fftshift(g); n1,n2=size(g); n=2; d0=50; n1=fix(n1/2); n2=fix(n2/2); for i=1:n1 for j=1:n2 d=sqrt(i-n1)2+(j-n2)2); h=1/(1+0.414*(d/d0)(2*n); result(i,j)=h*g(i,j); end end result=ifftshift(result); x2=ifft2(result); x3=uint8(real(x2); imshow(x3);高通濾波:global
12、 dai; axes(handles.axes2); f=double(dai); g=fft2(f); g=fftshift(g); n1,n2=size(g); n=2; d0=5; n1=fix(n1/2); n2=fix(n2/2); for i=1:n1 for j=1:n2 d=sqrt(i-n1)2+(j-n2)2); if d=0 h=0; else h=1/(1+(d0/d)(2*n); end result(i,j)=h*g(i,j); end end result=ifftshift(result); x2=ifft2(result); x3=uint8(real(x2)
13、; imshow(x3);圖像旋轉(zhuǎn):可以任意角度旋轉(zhuǎn),上圖為旋轉(zhuǎn)30的截圖global imageaxes(handles.axes2);prompt=旋轉(zhuǎn)角度:;defans=0;p=inputdlg(prompt,input,1,defans);p1=str2num(p1);f=imrotate(image,p1,bilinear,crop);imshow(f);handles.img=f;guidata(hobject,handles);上下翻轉(zhuǎn):global imagef=flipud(image);axes(handles.axes2)imshow(f);handles.img=f;
14、 guidata(hobject,handles);鏡像翻轉(zhuǎn):axes(handles.axes2);global imagef=fliplr(image);imshow(f);handles.img=f;guidata(hobject,handles);轉(zhuǎn)換成灰度:global dal;global image%t=getimage;dal=rgb2gray(image); axes(handles.axes2);imshow(dal);截圖:global dal;global imageaxes(handles.axes2);dal=imcrop(image); axes(handles.
15、axes2);imshow(dal);global image axes(handles.axes2);imshow(image); 撤銷:axes(handles.axes2); global timshow(t);放大與縮?。篻lobal imageaxes(handles.axes2);b=double(image);a=str2num(get(handles.edit5,string);c=imresize(b,a,nearest);imshow(uint8(c);axes(handles.axes2);保存:filename filepath=uiputfile(*.jpg,jpeg
16、-files (*.jpg); . *.tif,tif-files(*.tif);*.png,png-files(*.png);. *.*,all files (*.*),_,untitled.jpg); if isequal(filename,filepath,0,0) filefullname=filepath filename; axes(handles.axes2); iter=getimage(gca); imwrite(iter,filefullname,jpg); else msgbox(保存失敗!); end六、討論(1)在基于空域的圖像增強中,對數(shù)變換和指數(shù)變化,能壓縮或抑制
17、明暗灰度級,從而是圖片變得清晰。(2)直方圖均衡化能是變化后的圖像函數(shù)密度分布近似均勻化,擴展了像素動態(tài)范圍,但不能抑制噪聲。(3)均值濾波能有效除去圖像中不相關(guān)的細(xì)節(jié),減少噪聲,但易引起邊緣模糊;中值濾波去噪能力強,對椒鹽噪聲尤為有效,能有效保持圖像的細(xì)節(jié)(邊緣)。(4)基于頻域的圖像增強中,巴特沃斯濾波和高斯濾波都能使圖像平滑,但巴特沃斯不能徹底消除振鈴效應(yīng),而高斯可以。(5)邊緣檢測中:sobert算子在用于水平和垂直方向的檢測時精確度高但容易丟失邊緣。不能抑制噪聲,對陡峭的地噪聲圖像檢測效果好。sobel算子能抑制一定的噪聲,易引起邊緣模糊,檢測出為噪聲,檢測效果低。prewitt算子和sobel相似。log算子對噪聲抑制明顯,亦能是邊緣平滑,但有時會丟失很多邊緣。canny算子抗躁能力強,檢測精度高。七、實習(xí)總結(jié)剛開始聽到老師講實習(xí)內(nèi)容是覺得比較簡單,因為以前用過matlab做過類似的實驗,何況這次可以調(diào)用matlab中本身庫函數(shù)。但真正去看了題目時覺得好難,既要用gui設(shè)計界面,又要編寫代碼,而對于matlab的應(yīng)用也不是很熟練。經(jīng)過查閱資料,和隊友討論總算有了思路。 剛剛開始時的確不熟悉,總是犯錯,有各種各樣的問題,加上粗心大意,經(jīng)常錯誤還找不到錯誤。通過這15天的實習(xí)我學(xué)會了很多
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2012年02月24日上午四川省國稅面試真題
- 2013年6月28日上午湖北省公務(wù)員工商系統(tǒng)面試真題
- 湖南公務(wù)員面試模擬2
- 山東面試模擬40
- 24.3.2 特殊角的三角函數(shù)值 華師大版數(shù)學(xué)九年級上冊課件
- 遼寧省遼陽市文圣區(qū)公開招聘文職雇員考試(公共基礎(chǔ)知識)真題匯編1
- 建筑裝配式建筑專項檢查要點
- 2024年酒店經(jīng)營管理方案(2760字)
- 2024年房屋場地租賃合同模板
- 2024年二手汽車轉(zhuǎn)讓合同標(biāo)準(zhǔn)范本
- 初中生物學(xué)跨學(xué)科教學(xué)設(shè)計與實踐研究
- 綠化及景觀工程施工組織設(shè)計
- ps圖層蒙版獲獎教案
- 護理安全及警示課件
- 【大單元教學(xué)】Unit 8 單元整體教學(xué)設(shè)計
- 收費員安全培訓(xùn)
- 四年級英語 Can you run fast (市一等獎)
- 艾滋病反歧視講座課件
- 食品審計報告
- 【語文】福建省廈門市同安區(qū)2023-2024學(xué)年八年級上學(xué)期期中考試試題(解析版)
- 城市環(huán)境設(shè)施設(shè)計全套教學(xué)課件
評論
0/150
提交評論