實驗報告要求
每個程序給出圖像效果,每個子圖像上方標注該圖像簡要注釋。程序代碼進行必要的修改完善。
第一次實驗報告內容如下:
實驗一:圖像直方圖均衡化與圖像濾波
【實驗目的】
1、了解圖像直方圖的基本數學原理,會編寫相應的m函數文件;
2、掌握圖像直方圖均衡化、規定化函數.理解圖像直方圖處理的意義;
3、掌握噪聲模擬和圖像濾波函數的使用方法;
4、理解圖像均值濾波、中值濾波的基本原理,掌握圖像濾波基本函數的使用方法。
【實驗內容】
1、自己編寫m文件代碼matlab在圖像中加標記,實現求灰度圖像的灰度直方圖,并與函數的結
果比較。
I=('rice.bmp');
(I)
,(I,64)
,(I,128)
2、自己編寫m文件代碼,實現某幅圖像的3*3的均值濾波。
I=('eight.tif');
J=(I,'salt & ',0.02); %對指定的圖像加入椒鹽噪聲(1,2,1),(J);title('含噪聲的圖像');
K1=(('',3),J)/255; %進行3*3模板的均值濾波(1,2,2),(K1);title('3*3模板的均值濾波后的圖像');
3、讀入一張常見的圖象處理圖像(譬如: Lena, house等圖像),應用IPT的函
數對圖像作模糊化和添加噪聲處理;然后, 參照課本和課堂講解的例題中的方法對退化的圖像進行復原。請寫下實驗程序代碼和必要的代碼注釋, 整理實驗報告.
K1=('rice.bmp');
K2=(('',3),K1)/255; %進行3*3模板的均值濾波K3=(K2,'salt & ',0.02); %對指定的圖像加入椒鹽噪聲
K4=(K3,[3 3]); %進行3*3模板的中值濾波
(2,2,1),(K1);title('原圖像');
(2,2,2),(K2);title('3*3均值濾波后的圖像,模糊化'); (2,2,3),(K3);title('加入椒鹽噪聲后的圖像');
(2,2,4),(K4);title('進行3*3模板的中值濾波后的圖像');
第二次實驗報告內容如下:
實驗二:圖像頻域變換及應用
【實驗目的】
1、了解傅立葉變換、離散余弦變換及Radon變換在圖像處理中的應用;
2、掌握圖像頻域變換的基本函數的使用;
3、理解圖像頻域變換的意義;
【實驗內容】
1 繪制一個二值圖像矩陣,并將其傅里葉函數可視化。
說明:這個例子將創建一個矩陣,然后用一個二進制圖像顯示。再對這個圖像矩陣做傅里葉變換,顯示其幅值。
%創建矩陣
f=zeros(40,40);
f(5:24,13:17)=1;
(1,2,1),(f);title('矩陣的顯示');
%進行圖像f的傅里葉變換
F=fft2(f);
%對幅值取對數
F2=log(abs(F));
(1,2,2),(F2,[-1 5],'');title('傅里葉變換顯示');
2 調試如下程序。分析該程序的功能,寫上必要注釋。
(1);
f=('room.bmp');
f=(f);
(2,2,1),(f); title('原圖像');
F=fft2(f);
S=(log(1+abs(F)));
S=(S);
(2,2,2),(S); title('圖像1');
h=('sobel')';
PQ=(size(f));
H=(h,PQ(1),PQ(2));
H1=((H));
(2,2,3),(abs(H),[]); title('圖像2');
(2,2,4),(abs(H1),[]); title('圖像3');
gs=((f),h); % the in the .
gf=(f,H1); % the in the . (2);
(3,2,1),(gs,[]); title('');
(3,2,2),(gf,[]) ; title('');
(3,2,3),(abs(gs),[]) ; title('');
(3,2,4),(abs(gf),[]) ; title('');
(3,2,5),(abs(gs)>0.2*abs(max(gs(:)))); title(''); (3,2,6),(abs(gf)>0.2*abs(max(gs(:)))); title('');
3 對圖像.tif進行離散余弦變換,并對處理后圖像進行簡單分析。RGB=('.tif');
%將彩色圖像轉換為灰度圖像
I=(RGB);
(1,3,1),(I); ; title('灰度化');
(1,3,2),(RGB); ; title('原彩色圖');
%進行離散余弦變換
J=dct2(I);
(1,3,3),(log(abs(J)),[]);
title('DCT結果')
從顯示結果可以看出,圖像的能量很大一部分在變換矩陣的左上角。
第三次實驗報告內容如下:
實驗三:圖像形態學操作及其應用
【實驗目的】
1、掌握圖像二值形態學基本運算;
2、掌握圖像膨脹、腐蝕、開啟、閉合等形態學操作函數的使用;
3、了解二進制圖像的形態學應用;
4、了解空間變換函數及圖像匹配方法;
5、理解圖像對象標記的原理,理解圖像形態學操作在目標特征提取中的意義;
【實驗內容】
8.1 用形態學算子去掉圖像.tif的內點,抽取骨架和細化。
BW1=('D:\\\\\.tif'); (BW1);
%用形態學算子去除圖像的內點
BW2=(BW1,'');
%用形態學算子抽取圖像的骨架
BW3=(BW1,'skel',Inf);
%用形態學算子細化圖像
BW4=(BW1,'thin',Inf);
(2,2,1);
(BW1);title('原圖像');
(2,2,2);
(BW2);title('去除內點的圖像');
(2,2,3);
(BW3);title('抽取骨架圖像');
(2,2,4);
(BW4);title('細化圖像');
8.2 標記一幅自定義二值圖像,統計目標的個數。
BW=('F:\雙語教學\2007雙語課件\程序\.jpeg');
BW1=im2bw(BW);
BW1=~BW1;
L=(BW1,8);
[m,n]=size(L);
k=0;
for i=1:m
for j=1:n
if L(i,j)>k
k=L(i,j);
end
end
end
k %目標有k個。
(1,2,1);
(BW);title('原圖像');
(1,2,2);
(BW1);title('二值化取反后的圖像');
第四次實驗報告內容如下:
實驗四:圖像分割、圖像邊緣檢測
【實驗目的】
1、理解圖像邊緣檢測sobel算子、算子和算子的基本原理, 掌
握邊緣檢測的實現方法;
2、圖像二值化閾值選擇的方法;
3、了解用四叉數分解函數進行區域分割的方法;
4、掌握圖像分割、圖像邊緣檢測的基本函數;理解圖像分割閾值選取的
原理;
【實驗內容】
1、使用edge函數對圖像‘rice.tif’進行邊緣檢測。同時比較'','sobel','','canny','log'算子的檢測效果。
edge函數提供的最有效的邊緣檢測方法是canny方法。其優點如下:
使用兩種不同的閾值分別檢測強、弱邊緣,并且僅當弱邊緣與強邊緣相連時,才將弱邊緣包含在輸出圖像中。
該方法不易受噪聲干擾,能夠在噪聲和邊緣間取得較好的平衡,檢測到真正的弱邊緣。
說明:在這里用edge函數調用不同的算子模板提取邊緣。
I=('rice.tif');
(I)
bw1=edge(I,'');
bw2=edge(I,'sobel');
bw3=edge(I,'');
bw4=edge(I,'canny');
bw5=edge(I,'log');
,(bw1)
,(bw2)
,(bw3)
,(bw4)
,(bw5)
從提取圖像可以看到,邊緣的檢測并不是十分準確。在對圖像進行邊緣檢側時,由于灰度的變換并不是十分陡峭,或著由于噪聲的干擾,會出現提取出錯誤的情況。所以如果在處理前(濾波)或處理后(連接)做一些工作,可以更加精確地檢測邊緣。
2、區域操作
2.1 區域選取
使用區域選擇函數, 區域濾波函數和區域填充函數對圖像‘pout.tif’或‘eight.tif’進行區域操作。
I=('pout.tif');
(I)
BW=;
,(BW)
h=('');
I2=(h,I,BW);
,(I2)
I3=;
,(I3);
I=('eight.tif');
(I)
c=[222 272 300 270 221 194];
r=[21 21 75 121 121 75];
BW=(I,c,r);
,(BW)
H=('');
J1=(H,I,BW);
,(J1)
J2=(I,c,r);
,(J2)
4、將標簽圖像4-11.jpg分為文字和非文字的兩個區域。顯示其RGB灰度直方圖
及分割結果。
圖4-11.jpg
I=('4-11.jpg'); %讀取彩色書標簽圖像
I1=I(:,:,1);
I2=I(:,:,2);
I3=I(:,:,3);
[y,x,z]=size(I);
d1=zeros(y,x);
d2=d1;
myI=(I);
I0=zeros(y,x);
for i=1:x
for j=1:y
%歐式聚類
d1(j,i)=sqrt((myI(j,i,1)-180)^2+(myI(j,i,2)-180)^2+(myI(j,i,3)-180)^2 );
d2(j,i)=sqrt((myI(j,i,1)-200)^2+(myI(j,i,2)-200)^2+(myI(j,i,3)-200)^2 );
if (d1(j,i)>=d2(j,i))
I0(j,i)=1;
end
end
end
(1);
(I);
% 顯示RGB空間的灰度直方圖,確定兩個聚類中心(180,180,180)和(200,200,200)
(2);
(1,3,1);
(I1);
(1,3,2);
(I2);
(1,3,3);
(I3);
(4);
(I0);
本程序先通過觀察灰度直方圖,確定文字和非文字的聚類中心matlab在圖像中加標記,然后利用歐式距
離進行判斷聚類。由于圖像分割目標簡單,不需要進行動態的C-均值聚類。