第一篇:大連理工大學(xué)數(shù)字圖像處理 實(shí)驗(yàn)報告4
大連理工大學(xué)實(shí)驗(yàn)報告
學(xué)院(系):
電信學(xué)部
專業(yè):
電子信息工程
班級:
電子1102
姓
名:
陳柯錦
學(xué)號:
201181442
組:
___
實(shí)驗(yàn)時間:
實(shí)驗(yàn)室:
實(shí)驗(yàn)臺:
實(shí)驗(yàn)名稱 基于邊緣直方圖的圖像檢索
一、實(shí)驗(yàn)?zāi)康暮鸵?/p>
掌握用matlab進(jìn)行圖像檢索的方法。
二、實(shí)驗(yàn)原理和內(nèi)容
通常情況下,人類可以在只用圖像的輪廓而不借助圖像的顏色以及紋理信息的情況下就可以對一幅圖像中的物體進(jìn)行分類和識別。因而,研究圖像輪廓信息的表達(dá)方式是十分必要的。
1.EHD描述子
邊緣直方圖(EHD)描述子是MPEG-7標(biāo)準(zhǔn)中提出的一種邊緣描述子,它具有描述圖像亮度變化的方向和頻率的能力。其具體算法原理如下。
(1)對圖像分塊
當(dāng)給定一張圖像時,不重疊地將其分成4*4的子圖,且每一子圖繼續(xù)分成若干不重疊的方形子塊。在這一過程中,不論圖像的大小,均將每一子圖劃分成數(shù)量一定的子塊。這樣做的目的是去除圖像的大?。捶直媛剩μ卣鞯挠绊?。通常情況下,每一子圖中子塊的數(shù)量是2的倍數(shù),因而在某些情況下可能要舍棄邊緣的像素點(diǎn)以滿足條件。(2)判斷每一子塊是否包含邊緣
當(dāng)給定圖像子塊之后,若要判斷該子塊中是否包含邊緣特征,一種簡單的辦法是對圖像在空域利用濾波器進(jìn)行濾波。在EHD特征中,統(tǒng)計(jì)以下五種形式的邊緣特征:垂直(0°)、水平(90°)、45毒角、135°角以及非方向性邊緣。如圖1所示。
(3)統(tǒng)計(jì)邊緣信息
通過以上步驟,可以判斷出圖像子塊中是否包含邊緣信息,下面要對這些邊緣信息做以統(tǒng)計(jì)。在前面提到了在EHD描述子中將圖像劃分成4×4的16個子圖,在這里對每一子圖統(tǒng)計(jì)5個方向上各自包含的子塊的個數(shù),從而構(gòu)成一個5維的向量。接著,對該向量進(jìn)行歸一化,即對向量的每一維均除以該子圖中子塊的數(shù)量。從而,一張圖像便可以由一個80維的向量表示。到這里,EHD特征的基本生成過程已經(jīng)完畢。
三、主要儀器設(shè)備
裝有MATLAB的電腦。
四、實(shí)驗(yàn)步驟
完成基于EHD的圖像檢索。
五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理
程序:
clc,clear all fv=[1-1 1-1];fh=[1 1-1-1];fd45=[sqrt(2)0 0-sqrt(2)];fd135=[0 sqrt(2)-sqrt(2)0];fnd=[2-2-2 2];fv_th=30;fh_th=30;fd45_th=30;fd135_th=30;fnd_th=30;% cd('d:MATLAB7workpictures');% apath=dir;% name=apath(3,1).name;%以下對目標(biāo)圖片進(jìn)行特征分析 mypic=imread('55.jpg');mypic=double(rgb2gray(mypic));[a,b]=size(mypic);;a=floor(a/4);b=floor(b/4);for i=0:3
for j=0:3
mypic_part=mypic(i*a+1:i*a+a,j*b+1:j*b+b);
m1=sum(sum(mypic_part(1:floor(a/2),1:floor(b/2))))/(a*b/4);
m2=sum(sum(mypic_part(1:floor(a/2),floor(b/2)+1:b)))/(a*b/4);
m3=sum(sum(mypic_part(floor(a/2)+1:a,1:floor(b/2))))/(a*b/4);
m4=sum(sum(mypic_part(floor(a/2)+1:a,floor(b/2)+1:b)))/(a*b/4);
mypic_mat(4*i+j+1,1)=([m1 m2 m3 m4]*fv')>fv_th;
mypic_mat(4*i+j+1,2)=([m1 m2 m3 m4]*fh')>fh_th;
mypic_mat(4*i+j+1,3)=([m1 m2 m3 m4]*fd45')>fd45_th;
mypic_mat(4*i+j+1,4)=([m1 m2 m3 m4]*fd135')>fd135_th;
mypic_mat(4*i+j+1,5)=([m1 m2 m3 m4]*fnd')>fnd_th;
end end mypic_mat=double(mypic_mat);%以上對目標(biāo)圖片特征提取完畢 %以下對庫中圖片分別進(jìn)行計(jì)算 cd('d:MATLAB7workpictures');apath=dir;for k=3:62
name=apath(k,1).name;
pic=imread(name);
pic=double(rgb2gray(pic));
[a,b]=size(pic);;
a=floor(a/4);
b=floor(b/4);
for i=0:3
for j=0:3
pic_part=pic(i*a+1:i*a+a,j*b+1:j*b+b);
m1=sum(sum(pic_part(1:floor(a/2),1:floor(b/2))))/(a*b/4);
m2=sum(sum(pic_part(1:floor(a/2),floor(b/2)+1:b)))/(a*b/4);
m3=sum(sum(pic_part(floor(a/2)+1:a,1:floor(b/2))))/(a*b/4);
m4=sum(sum(pic_part(floor(a/2)+1:a,floor(b/2)+1:b)))/(a*b/4);
pic_mat(4*i+j+1,1)=([m1 m2 m3 m4]*fv')>fv_th;
pic_mat(4*i+j+1,2)=([m1 m2 m3 m4]*fh')>fh_th;
pic_mat(4*i+j+1,3)=([m1 m2 m3 m4]*fd45')>fd45_th;
pic_mat(4*i+j+1,4)=([m1 m2 m3 m4]*fd135')>fd135_th;
pic_mat(4*i+j+1,5)=([m1 m2 m3 m4]*fnd')>fnd_th;
end
end
pic_mat=double(pic_mat);
result(k-2)=sqrt(sum(sum((mypic_mat-pic_mat).^2)));end %以上對庫中所有圖片特征提取結(jié)束 min1=find(result==min(result))+2;if(length(min1)>1)min1=min1(1);end result(min1-2)=100000;min2=find(result==min(result))+2;if(length(min2)>1)min2=min2(1);end result(min2-2)=100000;min3=find(result==min(result))+2;if(length(min3)>1)min3=min3(1);end subplot(2,2,1)imshow(uint8(mypic))title('待檢索圖像')cd('d:MATLAB7workpictures');apath=dir;subplot(2,2,2)imshow(imread(apath(min1,1).name))title('最相近圖像')subplot(2,2,3)imshow(imread(apath(min2,1).name))title('第二相近的圖像')subplot(2,2,4)imshow(imread(apath(min3,1).name))title('第三相近的圖像')
六、實(shí)驗(yàn)結(jié)果
模板圖像最相近圖像
第二匹配圖像第三匹配圖像
第二篇:昆明理工大學(xué)(數(shù)字圖像處理)實(shí)驗(yàn)報告
昆明理工大學(xué)(數(shù)字圖像處理)實(shí)驗(yàn)報告
實(shí)驗(yàn)名稱
圖像的基本變換 實(shí)驗(yàn)時間 2014 年 3 月 20 日 專業(yè)班級
學(xué) 號 姓 名
成 績 教師評語:
一、實(shí)驗(yàn)?zāi)康呐c要求
1.熟悉及掌握在MATLAB中能夠處理哪些格式圖像。
2.熟練掌握在MATLAB中如何讀取圖像。
3.掌握如何利用MATLAB來獲取圖像的大小、顏色、高度、寬度等等相關(guān)信息。
4.掌握如何在MATLAB中按照指定要求存儲一幅圖像的方法。5.圖像間如何轉(zhuǎn)化
二、實(shí)驗(yàn)原理及知識點(diǎn)
1、數(shù)字圖像的表示和類別
一幅圖像可以被定義為一個二維函數(shù)f(x,y),其中x和y是空間(平面)坐標(biāo),f 在任何坐標(biāo)處(x,y)處的振幅稱為圖像在該點(diǎn)的亮度?;叶仁怯脕肀硎竞诎讏D像亮度的一個術(shù)語,而彩色圖像是由單個二維圖像組合形成的。例如,在RGB彩色系統(tǒng)中,一幅彩色圖像是由三幅獨(dú)立的分量圖像(紅、綠、藍(lán))組成的。因此,許多為黑白圖像處理開發(fā)的技術(shù)適用于彩色圖像處理,方法是分別處理三副獨(dú)立的分量圖像即可。
圖像關(guān)于x和y坐標(biāo)以及振幅連續(xù)。要將這樣的一幅圖像轉(zhuǎn)化為數(shù)字形式,就要求數(shù)字化坐標(biāo)和振幅。將坐標(biāo)值數(shù)字化成為取樣;將振幅數(shù)字化成為量化。采樣和量化的過程如圖1所示。因此,當(dāng)f的x、y分量和振幅都是有限且離散的量時,稱該圖像為數(shù)字圖像。
術(shù)語‘空間域’指的是圖像平面本身,在空間與內(nèi)處理圖像的方法是直接對圖像的像素進(jìn)行處理??臻g域處理方法分為兩種:灰度級變換、空間濾波。空間域技術(shù)直接對像素進(jìn)行操作其表達(dá)式為
g(x,y)=T[f(x,y)] 其中f(x,y)為輸入圖像,g(x,y)為輸出圖像,T是對圖像f進(jìn)行處理的操作符,定義在點(diǎn)(x,y)的指定領(lǐng)域內(nèi)。
定義點(diǎn)(x,y)的空間鄰近區(qū)域的主要方法是,使用中心位于(x,y)的正方形或長方形區(qū)域。此區(qū)域的中心從原點(diǎn)(如左上角)開始逐像素點(diǎn)移動,在移動的同時,該區(qū)域會包含不同的領(lǐng)域。T應(yīng)用于每個位置(x,y),以便在該位置得到輸出圖像g。在計(jì)算(x,y)處的g值時,只使用該領(lǐng)域的像素。
灰度變換T的最簡單形式是使用領(lǐng)域大小為1×1,此時,(x,y)處的g值僅由f在該點(diǎn)處的亮度決定,T也變?yōu)橐粋€亮度或灰度級變化函數(shù)。當(dāng)處理單設(shè)(灰度)圖像時,這兩個術(shù)語可以互換。由于亮度變換函數(shù)僅取決于亮度的值,而與(x,y)無關(guān),所以亮度函數(shù)通常可寫做如下所示的簡單形式:
s=T(r)其中,r表示圖像f中相應(yīng)點(diǎn)(x,y)的亮度,s表示圖像g中相應(yīng)點(diǎn)(x,y)的亮度。
1.圖像的線性變換g(x,y)=2*I(x,y)
I=imread('D:picture1.jpg');imshow(I);[m,n]=size(I);for x=1:m;for y=1:n;
g(x,y)=2*I(x,y);end end
imshow(g);
圖像的線性變換:g(x,y)=I(x,y)
I=imread('D:picture1.jpg');imshow(I);[m,n]=size(I);for x=1:m;for y=1:n;
g(x,y)=I(x,y);end end imshow(g);
3.圖像的非線性變換k1=40*log(k+1);
I=imread('D:picture1.jpg');imshow(I);
I1=rgb2gray(I);k=im2double(I1);k1=40*log(k+1);H=uint8(k1);imshow(H);
4.圖像的非線性變換k1=40*exp(k+1);I=imread('D:picture1.jpg');subplot(311)imshow(I);
I1=rgb2gray(I);subplot(312)imshow(I1)
k=im2double(I1);k1=40*exp(k+1);H=uint8(k1);subplot(313)imshow(H);
5.圖像的分段線性變換
function Z=imadjust_sec(X,a,b,c,d)[m,n]=size(X);X1=im2double(X);for i=1:m for j=1:n
if(X1(i,j) Z(i,j)=c*X1(i,j)/a; end if(X1(i,j)>=a&&X1(i,j) Z(i,j)=(d-c)*(X1(i,j)-a)/(b-a)+c; end if(X1(i,j)>=b) Z(i,j)=(1-d)*(X1(i,j)-b)/(1-b)+d; end end end X=imread('D:picture6.jpg'); Z=imadjust_sec(X,0.3,0.5,0.2,0.6);imshow(X),figure,imshow(Z); 實(shí) 驗(yàn) 報 告 書 系部學(xué)生專業(yè)班 實(shí)驗(yàn) 名稱姓名名稱 級時間: : : : : 實(shí)驗(yàn)一 直方圖均衡 一、實(shí)驗(yàn)?zāi)康?/p> 在學(xué)習(xí)圖像直方圖的概念、計(jì)算方法、性質(zhì)和相關(guān)應(yīng)用基礎(chǔ)上,生成、繪制圖像的直方圖,并應(yīng)用MATLAB編程實(shí)現(xiàn)圖像直方圖均衡化程序。 二、實(shí)驗(yàn)內(nèi)容 (1)計(jì)算并繪制圖像直方圖; (2)編程實(shí)現(xiàn)圖像的直方圖均衡化處理,顯示均衡前后的直方圖和圖像; 三、實(shí)驗(yàn)運(yùn)行結(jié)果 四、實(shí)驗(yàn)中遇到的問題及解決方法 1、顯示無法找到圖像文件,應(yīng)將圖片與xx.m文件置于同一文件夾; 2、編程過程中應(yīng)注意標(biāo)點(diǎn)的輸入法,應(yīng)該用英文輸入,否則會報錯。 3、編程完成后運(yùn)行時輸入文件名與保存時文件名相同,區(qū)分大小寫。 五、思考題 (1)、灰度直方圖可以反映一幅圖像的哪些特征? 答: 1、表征了圖像的一維信息。只反映圖像中像素不同灰度值出現(xiàn)的次數(shù)(或頻數(shù))而未反映像素所在位置。 2、與圖像之間的關(guān)系是多對一的映射關(guān)系。一幅圖像唯一確定出與之對應(yīng)的直方圖,但不同圖像可能有相同的直方圖。 3、子圖直方圖之和為整圖的直方圖。(2)均衡化后的直方圖有何特點(diǎn)? 答:經(jīng)直方圖均衡化處理后,可以得到一副改善了質(zhì)量的新圖像。這幅圖像的灰度層次將不再是呈黑暗色調(diào)的圖像,而是一副灰度層次較為適中的、比原始圖像清晰、明快得多的圖像。處理的結(jié)果使圖像更適合與人的視覺特征或機(jī)器的識別系統(tǒng)。 六、實(shí)驗(yàn)心得體會 本次實(shí)驗(yàn)中,因?yàn)槌鯇W(xué)這個軟件,我學(xué)習(xí)到了在程序中關(guān)于圖像的運(yùn)用,以及也復(fù)習(xí)了課本上的許多知識,加深了對直方圖均衡化的理解。 七、程序清單 clear all;I=imread('lena_gray_256.tif');%打開一幅灰度圖像 [m,n]=size(I);p=m*n;J=imhist(I)./p; %計(jì)算圖像的歸一化直方圖 subplot(1,3,1),imshow(I); subplot(1,3,2),imhist(I,64); subplot(1,3,3),plot(J); (2)直方圖均衡化 clear all;Im=imread('region.jpg');J=histeq(Im);%均衡化 subplot(2,2,1);imshow(Im);title('原圖');%顯示原圖 subplot(2,2,2);imhist(Im);title('原圖直方圖');%顯示原圖的直方圖 subplot(2,2,3);imshow(J);title('均衡化結(jié)果');%顯示均衡化后的圖像 subplot(2,2,4);imhist(J);title('均衡化結(jié)果的直方圖');%顯示均衡化后的直方圖 實(shí)驗(yàn)二 頻域圖像增強(qiáng) 一、實(shí)驗(yàn)?zāi)康?/p> 1、頻域圖像增強(qiáng) 2、掌握基于頻域的圖像增強(qiáng)方法。 二、實(shí)驗(yàn)內(nèi)容 (1)編程實(shí)現(xiàn)圖像的理想低通和高通濾波;(2)編程實(shí)現(xiàn)圖像的巴特沃斯低通和高通濾波。 三、實(shí)驗(yàn)運(yùn)行結(jié)果 四、實(shí)驗(yàn)中遇到的問題及解決方法 顯示圖像無法打開,最終查出來時圖像格式弄錯了。 五、思考題 分析為什么圖像通過低通濾波器后變得模糊?為什么通過高通濾波器后得到銳化結(jié)果? 答:圖像的精細(xì)結(jié)構(gòu)及突變部分主要由高頻成分起作用,故經(jīng)低通濾波后圖像的精細(xì)結(jié)構(gòu)消失,變得模糊;經(jīng)高通濾波后圖像得到銳化。 六、實(shí)驗(yàn)心得體會 本實(shí)驗(yàn)中遇到很多問題及錯誤,例如圖像打不開、處理后圖像模糊等,都是經(jīng)常容易發(fā)生的錯誤,最后實(shí)驗(yàn)幾次,就能夠逐一自己解決了。使自己對數(shù)字圖像處理課程中的許多問題有了更實(shí)際和確切的深入了解。 七、程序清單 clc;clear;data4=imread('lena.gif');subplot(3,2,1);imshow(data4);title('原圖');i=fft2(data4);subplot(3,2,2);i=fftshift(i);z=log(abs(i));x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);mesh(z);%以三維坐標(biāo)顯示該圖像頻譜圖title('原圖頻譜');[n,m]=size(i);%for k=1:1:n for l=1:1:m if(k^2+l^2)>=190^2 % result(k,l)=0;else result(k,l)=i(k,l);end end end subplot(3,2,4); 對該圖進(jìn)行低通濾波 選取D=190 z=log(abs(result));%三維方式顯示低通濾波后的頻譜圖 x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);mesh(z);title('理想低通濾波后的頻譜');subplot(3,2,3);%新建圖像顯示窗口 result=fftshift(result);%濾波后的數(shù)據(jù)去中心化 b=ifft2(result);%逆傅里葉變換 imshow(uint8(abs(b)));title('理想低通濾波后的圖像');subplot(3,2,6);%新建圖像顯示窗口 % [n,m]=size(c);%對原圖進(jìn)行高通濾波 for k=1:1:n for l=1:1:m if(k^2+l^2)<=190^2 %選取D=190 result(k,l)=0;else result(k,l)=i(k,l);end end end z=log(abs(result));x=0:1:255;%三維方式顯示高通濾波前的頻譜圖 y=0:1:255;[x,y]=meshgrid(x,y);mesh(z);title('理想高通濾波后的頻譜');subplot(3,2,5);result=fftshift(result);%濾波后的數(shù)據(jù)去中心化 d=ifft2(result);%逆傅里葉變換 imshow(uint8(abs(d)));title('理想高通濾波后的圖像');%頻域增強(qiáng)(巴特沃斯原型) %二階巴特沃斯(Butterworth)低通濾波器 %clc;%clear;Figure;J1=imread('lena.gif');subplot(3,2,1);imshow(J1);title('原圖');f=double(J1);g=fft2(f);% 傅立葉變換 g=fftshift(g);% 轉(zhuǎn)換數(shù)據(jù)矩陣 subplot(3,2,2);x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);z=log(abs(g));%取幅度 mesh(z);%以三維坐標(biāo)顯示該圖像頻譜圖 title('原圖頻譜');[M,N]=size(g);nn=2;% 二階巴特沃斯(Butterworth)低通濾波器 d0=20;m=fix(M/2);n=fix(N/2);for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn));% 計(jì)算低通濾波器傳遞函數(shù) result(i,j)=h*g(i,j); end end subplot(3,2,4);x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);z=log(abs(result));%取幅度 mesh(z);%以三維坐標(biāo)顯示該圖像頻譜圖 title('低通濾波后的頻譜');result=ifftshift(result);J2=ifft2(result);J3=uint8(abs(J2));subplot(3,2,3);imshow(J3);title('低通濾波后的圖像'); %利用二階巴特沃斯(Butterworth)高通濾波器 nn=2;% 二階巴特沃斯(Butterworth)高通濾波器 d0=5;m=fix(M/2);n=fix(N/2);for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2);if(d==0)h=0;else h=1/(1+0.414*(d0/d)^(2*nn));% 計(jì)算傳遞函數(shù) end result(i,j)=h*g(i,j); end end subplot(3,2,6);x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);z=log(abs(result));%取幅度 mesh(z);%以三維坐標(biāo)顯示該圖像頻譜圖 title('高通濾波后的頻譜');result=ifftshift(result);J2=ifft2(result);J3=uint8(abs(J2));subplot(3,2,5);imshow(J3);title('高通濾波后的圖像'); 實(shí)驗(yàn)三 圖像邊緣檢測與連接 一、實(shí)驗(yàn)?zāi)康?/p> 圖像邊緣檢測與連接 二、實(shí)驗(yàn)內(nèi)容 (1)編程實(shí)現(xiàn)一階差分邊緣檢測算法,包括Robert梯度算子、Prewitt算子、Sobel算子等;(2)編程實(shí)現(xiàn)二階差分拉普拉斯邊緣檢測算法以及LoG檢測法和Canny檢測法;(3)分析與比較各種邊緣檢測算法的性能; (4)編程實(shí)現(xiàn)Hough變換提取直線 (5)分析Hough變換檢測性能; 三、實(shí)驗(yàn)運(yùn)行結(jié)果 四、實(shí)驗(yàn)中遇到的問題及解決方法 拷貝文件后沒改文件名,直接執(zhí)行時出現(xiàn)錯誤,最后重新修改后重新編譯,使之成功。 五、思考題 (1)邊緣的方向是什么意思?為什么要考慮邊緣的方向? 答:邊緣常常意味著一個區(qū)域的終結(jié)和另一個區(qū)域的開始,圖像的邊緣也包含了物體的形狀的重要信息,他不僅在分析圖像時大幅度的減少了要處理的信息量,而且還保護(hù)了目標(biāo)的邊界結(jié)構(gòu)。所以考慮邊緣的方向很重要。 (2)Hough變換原理是什么? 答:Hough變換的基本原理在于利用點(diǎn)與線的對偶性,將原始圖像空間的給定的曲線通過曲線表達(dá)形式變?yōu)閰?shù)空間的一個點(diǎn)。這樣就把原始圖像中給定曲線的檢測問題轉(zhuǎn)化為準(zhǔn)找參數(shù)空間的峰值問題。也即把檢測整體特性轉(zhuǎn)化為檢測局部特性。比如直線、橢圓、圓、弧線等。 六、實(shí)驗(yàn)心得體會 對于一些圖像處理的函數(shù)不是很了解,只能夠按課本的參照函數(shù)拷貝做實(shí)驗(yàn),對于其中的一些函數(shù)問題理解不是很透徹,有些甚至完全不懂。還得繼續(xù)努力。 七、程序清單 1、邊緣檢測 由edge函數(shù)實(shí)現(xiàn)各算子對圖像的邊緣檢測 clear all;I = imread('d:office.bmp');I=rgb2gray(I);BW1 = edge(I,'sobel'); %利用Sobel算子進(jìn)行邊緣檢測 BW2 = edge(I,'roberts');%利用roberts算子進(jìn)行邊緣檢測 BW3 = edge(I,'prewitt');%利用prewitt算子進(jìn)行邊緣檢測 BW4 = edge(I,'log'); %利用log算子進(jìn)行邊緣檢測 BW5 = edge(I,'canny'); %利用canny算子進(jìn)行邊緣檢測 subplot(2,3,1),imshow(I)subplot(2,3,2),imshow(BW1)subplot(2,3,3),imshow(BW2)subplot(2,3,4),imshow(BW3) subplot(2,3,5),imshow(BW4)subplot(2,3,6),imshow(BW5) 2、邊緣連接 使用Hough變換作線檢測和連接 clear all; RGB = imread('d:M_M.bmp');I=RGB;%I = rgb2gray(RGB);BW = edge(I,'canny'); % 利用Canny算子提取圖像邊緣 [H,T,R] = hough(BW,'RhoResolution',0.5,'ThetaResolution',0.5);figure(1), imshow(T,R,H,[],'notruesize'), axis on, axis normal xlabel('T'), ylabel('R')p = houghpeaks(H,5,'threshold',ceil(0.3*max(H(:)))); %找到5個較明顯的Hough變換峰值 hold on plot(T(p(:,2)),R(p(:,1)),'s','color','white');lines = houghlines(BW,T,R,p,'FillGap',10,'MinLength',10); %查找并鏈接線段 figure, imshow(BW), hold on %在二值圖中疊加顯示這些線段 for k = 1:length(lines) xy = [lines(k).point1;lines(k).point2]; plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');end 數(shù)字圖像處理 實(shí)驗(yàn)報告 目錄 1.數(shù)字圖像處理簡介 2.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容 4.實(shí)驗(yàn)結(jié)果及代碼展示 5.算法綜述 6.Matlab優(yōu)勢 7.總結(jié) 8.存在問題 一、數(shù)字圖像處理簡介 圖像處理,是對圖像進(jìn)行分析、加工、和處理,使其滿足視覺、心理以及其他要求的技術(shù)。圖像處理是信號處理在圖像域上的一個應(yīng)用。目前大多數(shù)的圖像是以數(shù)字形式存儲,因而圖像處理很多情況下指數(shù)字圖像處理。此外,基于光學(xué)理論的處理方法依然占有重要的地位。 圖像處理是信號處理的子類,另外與計(jì)算機(jī)科學(xué)、人工智能等領(lǐng)域也有密切的關(guān)系。 傳統(tǒng)的一維信號處理的方法和概念很多仍然可以直接應(yīng)用在圖像處理上,比如降噪、量化等。然而,圖像屬于二維信號,和一維信號相比,它有自己特殊的一面,處理的方式和角度也有所不同。 二、實(shí)驗(yàn)?zāi)康?/p> 鞏固所學(xué)知識,提高所學(xué)能力 三、實(shí)驗(yàn)內(nèi)容 利用matlab的GUI程序設(shè)計(jì)一個簡單的圖像處理程序,并含有如下基本功能: 1.讀入一幅RGB圖像,變換為灰度圖像和二值圖像,并在同一個窗口內(nèi)分成三個子窗口來分別顯示RGB圖像和灰度圖像,注上文字標(biāo)題 2.對給定圖像進(jìn)行旋轉(zhuǎn) 3.對給定的圖像添加噪聲(椒鹽噪聲、高斯噪聲) 四、實(shí)驗(yàn)結(jié)果及代碼展示 1.軟件設(shè)計(jì)界面 2.各模塊功能展示以及程序代碼 (1)讀入一幅RGB圖像,變換為灰度圖像和二值圖像,并在同一個窗口內(nèi)分成三個子窗口來分別顯示RGB圖像和灰度圖像,注上文字標(biāo)題 效果展示: 代碼: a = imread('C:Documents and SettingsAdministrator桌面數(shù)字圖像舞美.JPG'); i = rgb2gray(a);I = im2bw(a,0.5); subplot(3,1,1);imshow(a);title('源圖像')subplot(3,1,2);imshow(i);title('灰度圖像')subplot(3,1,3);imshow(I);title('二值圖像') (2)圖像旋轉(zhuǎn) 原圖 效果展示: 代碼: clc;clear all;close all; Img=imread('D:My DocumentsMy Pictures5.JPG');Img=double(Img);[h w]=size(Img);alpha=pi/4; wnew=w*cos(alpha)+h*sin(alpha);hnew=w*sin(alpha)+h*cos(alpha);wnew=ceil(wnew); hnew=ceil(hnew);u0=w*sin(alpha); T=[cos(alpha),sin(alpha);-sin(alpha),cos(alpha)];Imgnew2=zeros(hnew,wnew);Imgnew1=zeros(hnew,wnew);for u=1:hnew for v=1:wnew tem=T*([u;v]-[u0;0]);x=tem(1);y=tem(2);if x>=1&&x<=h&&y>=1&&y<=w x_low=floor(x);x_up=ceil(x);y_low=floor(y);y_up=ceil(y);if(x-x_low)<=(x_up-x)x=x_low; else x=x_up; end if(y-y_low)<=(y_up-y)y=y_low; else y=y_up; end p1=Img(x_low,y_low);p2=Img(x_up,y_low);p3=Img(x_low,y_low);p4=Img(x_up,y_up);s=x-x_low;t=y-y_low;Imgnew1(u,v)=Img(x,y); Imgnew2(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;end end end figure;imshow(Imgnew2,[]);B=imrotate(Img,alpha/pi*180);figure;imshow(B,[]); (3)對給定的圖像添加噪聲(斑點(diǎn)噪聲、高斯噪聲)效果展示: 代碼: I= imread('D:My DocumentsMy Pictures5.JPG');figure,subplot(211);imshow(I);title('原圖');J1=imnoise(I,'gaussian',0,0.02); subplot(223);imshow(J);title('添加高斯噪聲');J=imnoise(I,'speckle',0.04); subplot(224);imshow(J);title('添加斑點(diǎn)噪聲'); 五、算法綜述 灰度圖像: 一幅完整的圖像,是由紅色、綠色、藍(lán)色三個通道組成的。紅色、綠色、藍(lán)色三個通道的縮覽圖都是以灰度顯示的。用不同的灰度色階來表示“ 紅,綠,藍(lán)”在圖像中的比重。通道中的純白,代表了該色光在此處為最高亮度,亮度級別是255。 通道是整個Photoshop顯示圖像的基礎(chǔ)。色彩的變動,實(shí)際上就是間接在對通道灰度圖進(jìn)行調(diào)整。通道是Photoshop處理圖像的核心部分,所有的色彩調(diào)整工具都是圍繞在這個核心周圍使用的。 在計(jì)算機(jī)領(lǐng)域中,灰度數(shù)字圖像是每個像素只有一個采樣顏色的圖像。這類圖像通常顯示為從最暗黑色到最亮的白色的灰度,盡管理論上這個采樣可以任何顏色的不同深淺,甚至可以是不同亮度上的不同顏色。灰度圖像與黑白圖像不同,在計(jì)算機(jī)圖像領(lǐng)域中黑白圖像只有黑色與白色兩種顏色;灰度圖像在黑色與白色之間還有許多級的顏色深度。但是,在數(shù)字圖像領(lǐng)域之外,“黑白圖像”也表示“灰度圖像”,例如灰度的照片通常叫做“黑白照片”。在一些關(guān)于數(shù)字圖像的文章中單色圖像等同于灰度圖像,在另外一些文章中又等同于黑白圖像?;叶葓D像經(jīng)常是在單個電磁波頻譜如可見光內(nèi)測量每個像素的亮度得到的。 用于顯示的灰度圖像通常用每個采樣像素 8 位的非線性尺度來保存,這樣可以有 256 級灰度。這種精度剛剛能夠避免可見的條帶失真,并且非常易于編程。在醫(yī)學(xué)圖像與遙感圖像這些技術(shù)應(yīng)用中經(jīng)常采用更多的級數(shù)以充分利用每個采樣 10 或 12 位的傳感器精度,并且避免計(jì)算時的近似誤差。在這樣的應(yīng)用領(lǐng)域每個采樣 16 位即 65536 級得到流行。 二值圖像: 是指每個像素不是黑就是白,其灰度值沒有中間過渡的圖像。二值圖像一般用來描述文字或者圖形,其優(yōu)點(diǎn)是占用空間少,缺點(diǎn)是,當(dāng)表示人物,風(fēng)景的圖像時,二值圖像只能描述其輪廓,不能描述細(xì)節(jié)。這時候要用更高的灰度級。 二值圖像是每個像素只有兩個可能值的數(shù)字圖像。人們經(jīng)常用黑白、B&W、單色圖像表示二值圖像,但是也可以用來表示每個像素只有一個采樣值的任何圖像,例如灰度圖像等。 二值圖像中所有的像素只能從0和1這兩個值中取,因此在MATLAB中,二值圖像用一個由0和1組成的二維矩陣表示。這兩個可取的值分別對應(yīng)于關(guān)閉和打開,關(guān)閉表征該像素處于背景,而打開表征該像素處于前景。以這種方式來操作圖像可以更容易識別出圖像的結(jié)構(gòu)特征。二值圖像操作只返回與二值圖像的形式或結(jié)構(gòu)有關(guān)的信息,如果希望對其他類型的圖像進(jìn)行同樣的操作,則首先要將其轉(zhuǎn)換為二進(jìn)制的圖像格式,可以通過調(diào)用MATLAB提供的im2bw()來實(shí)現(xiàn)。 二值圖像經(jīng)常出現(xiàn)在數(shù)字圖像處理中作為圖像掩碼或者在圖像分割、二值化和dithering的結(jié)果中出現(xiàn)。一些輸入輸出設(shè)備,如激光打印機(jī)、傳真機(jī)、單色計(jì)算機(jī)顯示器等都可以處理二值圖像。 二值圖像經(jīng)常使用位圖格式存儲。 二值圖像可以解釋為二維整數(shù)格Z,圖像變形處理領(lǐng)域很大程度上就是受到這個觀點(diǎn)啟發(fā)。 圖像旋轉(zhuǎn): 圖像旋轉(zhuǎn)是指圖像以某一點(diǎn)為中心旋轉(zhuǎn)一定的角度,形成一幅新的圖像的過程。當(dāng)然這個點(diǎn)通常就是圖像的中心。既然是按照中心旋轉(zhuǎn),自然會有這樣一個屬性:旋轉(zhuǎn)前和旋轉(zhuǎn)后的點(diǎn)離中心的位置不變.根據(jù)這個屬性,我們可以得到旋轉(zhuǎn)后的點(diǎn)的坐標(biāo)與原坐標(biāo)的對應(yīng)關(guān)系。由于原圖像的坐標(biāo)是以左上角為原點(diǎn)的,所以我們先把坐標(biāo)轉(zhuǎn)換為以圖像中心為原點(diǎn)。假設(shè)原圖像的寬為w,高為h,(x0,y0)為原坐標(biāo)內(nèi)的一點(diǎn),轉(zhuǎn)換坐標(biāo)后的點(diǎn)為(x1,y1)。那么不難得到: x1 = x0-w/2;y1 =-y0 + h/2;在新的坐標(biāo)系下,假設(shè)(x0,y0)距離原點(diǎn)的距離為r,點(diǎn)與原點(diǎn)之間的連線與x軸的夾角為b,旋轉(zhuǎn)的角度為a,旋轉(zhuǎn)后的點(diǎn)為(x1,y1) 噪聲: 是電路或系統(tǒng)中不含信息量的電壓或電流。在工業(yè)與自然界中,存在著各種干擾源(噪聲源),如大功率電力電子器件的接入、大功率用電設(shè)備的開啟與斷開、雷擊閃電等都會使空間電場和磁場產(chǎn)生有序或無序的變化,這些都是干擾源(或噪聲源)。這些源產(chǎn)生的電磁波或尖峰脈沖通過磁、電耦合或是通過電源線等路徑進(jìn)入放大電路,各種電氣設(shè)備,形成各種形式的干擾。 斑點(diǎn)噪聲: 斑點(diǎn)噪聲是SAR成像系統(tǒng)的一大特色,源自基本分辨單元內(nèi)地物的隨機(jī)散射,在圖像上表現(xiàn)為信號相關(guān)(如在空間上相關(guān))的小斑點(diǎn),它既降低了圖像的畫面質(zhì)量,又嚴(yán)重影響圖像的自動分割、分類、目標(biāo)檢測以及其它定量專題信息的提取。 SAR圖像斑點(diǎn)噪聲的去除一方面要抑制圖像均勻區(qū)域斑點(diǎn)噪聲,另一方面要保持圖像邊緣和紋理細(xì)節(jié)信息。SAR斑點(diǎn)噪聲的抑制可通過非相干多視處理,也可使用空間域?yàn)V波實(shí)現(xiàn)。非相干多視處理會降低圖像的地面分辨率。因此,涌現(xiàn)出了一系列空間域?yàn)V波方法,如均值濾波、中值濾波、Lee濾波、Kuan濾波、Frost濾波、Sigma濾波以及Gamma Map濾波等。但這類算法存在自身無法克服的矛盾:一方面為增強(qiáng)斑點(diǎn)去噪效果需選較大的濾波窗口,另一方面為保持圖像的實(shí)際分辨率要求所選的窗口較小。 高斯噪聲: 所謂高斯噪聲是指它的概率密度函數(shù)服從高斯分布(即正態(tài)分布)的一類噪聲。如果一個噪聲,它的幅度分布服從高斯分布,而它的功率譜密度又是均勻分布的,則稱它為高斯白噪聲。高斯白噪聲的二階矩不相關(guān),一階矩為常數(shù),是指先后信號在時間上的相關(guān)性。高斯白噪聲包括熱噪聲和散粒噪聲。 實(shí)驗(yàn)中是通過MATLAB自帶的函數(shù)產(chǎn)生噪聲,各函數(shù)如下: J1=imnoise(I,'salt & pepper',0.05);%添加椒鹽噪聲 J2=imnoise(I,'gaussian',0,0.03); %添加均值為0,方差為0.03的高斯噪聲。 六、Matlab優(yōu)勢 MATLAB是一個包含大量算法的集合。其可以快捷的實(shí)現(xiàn)用戶所需的各種計(jì)算功能。函數(shù)中所使用的算法都是科研和工程計(jì)算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和差錯處理。在通常情況下,可以用它來代替底層編程語言,如C和C++。在計(jì)算要求相同的情況下,使用MATLAB的編程工作量會大大減少。MATLAB的這些函數(shù)集包括從最簡單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉變換的復(fù)雜函數(shù)。函數(shù)所能解決的問題其大致包括矩陣運(yùn)算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運(yùn)算、傅立葉變換和數(shù)據(jù)的統(tǒng)計(jì)分析、工程中的優(yōu)化問題、稀疏矩陣運(yùn)算、復(fù)數(shù)的各種運(yùn)算、三角函數(shù)和其他初等數(shù)學(xué)運(yùn)算、多維數(shù)組操作以及建模動態(tài)仿真等。圖形處理功能 圖形處理功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達(dá)式作圖??捎糜诳茖W(xué)計(jì)算和工程繪圖。新版本的MATLAB對整個圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足 模塊集合工具箱 MATLAB對許多專門的領(lǐng)域都開發(fā)了功能強(qiáng)大的模塊集和工具箱。一般來說,它們都是由特定領(lǐng)域的專家開發(fā)的,用戶可以直接使用工具箱學(xué)習(xí)、應(yīng)用和評估不同的方法而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多領(lǐng)域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫接口、概率統(tǒng)計(jì)、樣條擬合、優(yōu)化算法、偏微分方程求解、神經(jīng)網(wǎng)絡(luò)、小波分析、信號處理、圖像處理、系統(tǒng)辨識、控制系統(tǒng)設(shè)計(jì)、LMI控制、魯棒控制、模型預(yù)測、模糊邏輯、金融分析、地圖工具、非線性控制設(shè)計(jì)、實(shí)時快速原型及半物理仿真、嵌入式系統(tǒng)開發(fā)、定點(diǎn)仿真、DSP與通訊、電力系統(tǒng)仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。 七、總結(jié) 運(yùn)用matlab軟件對圖像進(jìn)行處理,讓我鞏固了之前所學(xué)的知識,同時也在這次作業(yè)中更加了解到matlab語言在生活中的運(yùn)用環(huán)境和掌握這門語言的重要性 八、存在問題 1.在進(jìn)行圖像增強(qiáng)時要不要講圖像先進(jìn)行平滑處理? 2.如何增加這個算法的準(zhǔn)確度 3.在此次作業(yè)中,為何添加椒鹽噪聲時無法顯示 數(shù)字圖像處理 實(shí)驗(yàn)報告 班級:通信103 學(xué)號:201027201 姓名:計(jì)富威 指導(dǎo)教師:孫潔 實(shí)驗(yàn)一 MATLAB數(shù)字圖像處理初步 一、實(shí)驗(yàn)?zāi)康呐c要求 1.熟悉及掌握在MATLAB中能夠處理哪些格式圖像。2.熟練掌握在MATLAB中如何讀取圖像。 3.掌握如何利用MATLAB來獲取圖像的大小、顏色、高度、寬度等等相關(guān)信息。 4.掌握如何在MATLAB中按照指定要求存儲一幅圖像的方法。5.圖像間如何轉(zhuǎn)化。 二、實(shí)驗(yàn)內(nèi)容及步驟 1.利用imread()函數(shù)讀取一幅圖像,假設(shè)其名為”第一個.tif”,存入一個數(shù)組中; >>I=imread('第一個.tif');2.利用whos命令提取該讀入圖像”第一個.tif”的基本信息; >>whos I 3.利用imshow()函數(shù)來顯示這幅圖像; >>imshow(I); 第一個.tif 4.利用imfinfo函數(shù)來獲取圖像文件的壓縮,顏色等等其他的詳細(xì)信息; >>imfinfo('第一個.tif');5.利用imwrite()函數(shù)來壓縮這幅圖象,將其保存為一幅壓縮了像素的jpg文件,設(shè)為flower.jpg;語法:imwrite(原圖像,新圖像,‘quality’,q), q取0-100。 >>imwrite(I,'第一個.jpg','quality',50)6.同樣利用imwrite()函數(shù)將最初讀入的tif圖象另存為一幅bmp圖像,設(shè)為flower.bmp。>>imwrite(I,'第一個.bmp');7.用imread()讀入圖像:Lenna256.jpg 和camemaman.jpg; >>b=imread('lena256.bmp');>>c=imread('cameraman.tif');8.用imfinfo()獲取圖像Lenna256.jpg和camemaman.jpg 的大?。?>>imfinfo('lena256.bmp');>>imfinfo('cameraman.tif');9.用figure,imshow()分別將Lenna256.jpg和camemaman.jpg顯示出來,觀察兩幅圖像的質(zhì)量。>>figure >>imshow(b);>>figure >>imshow(c); (Lena256.jpg圖像截圖) (cameraman.jpg圖像截圖) 10.用im2bw將一幅灰度圖像轉(zhuǎn)化為二值圖像,并且用imshow顯示出來觀察圖像的特征。>> d=im2bw(b);>>figure >>imshow(b);>>figure >>imshow(d); (二值化截圖) 三、實(shí)驗(yàn)總結(jié) 通過實(shí)驗(yàn)MatLab軟件的基本使用有了基本的了解,學(xué)會了使用MatLab軟件來讀取一個特定格式的圖像,并通過相關(guān)的命令語句對圖像進(jìn)行格式轉(zhuǎn)換、圖像壓縮、二值化等的處理,掌握了利用MATLAB來獲取圖像的大小、顏色、高度、寬度等等相關(guān)信息,掌握在MATLAB中如何通過imshow()語句來讀取圖像等等。 第二 圖像基本運(yùn)算 一、實(shí)驗(yàn)?zāi)康?/p> 1.了解圖像的算術(shù)運(yùn)算在數(shù)字圖像處理中的初步應(yīng)用。2.體會圖像算術(shù)運(yùn)算處理的過程和處理前后圖像的變化。 二、實(shí)驗(yàn)原理 圖像的代數(shù)運(yùn)算是圖像的標(biāo)準(zhǔn)算術(shù)操作的實(shí)現(xiàn)方法,是兩幅輸入圖像之間進(jìn)行的點(diǎn)對點(diǎn)的加、減、乘、除運(yùn)算后得到輸出圖像的過程。如果輸入圖像為A(x,y)和B(x,y),輸出圖像為C(x,y),則圖像的代數(shù)運(yùn)算有如下四種形式: C(x,y)= A(x,y)+ B(x,y)C(x,y)= A(x,y)-B(x,y)C(x,y)= A(x,y)* B(x,y)C(x,y)= A(x,y)/ B(x,y) 三、實(shí)驗(yàn)步驟 1.圖像的加法運(yùn)算 在MATLAB中,如果要進(jìn)行兩幅圖像的加法,或者給一幅圖像加上一個常數(shù),可以調(diào)用imadd函數(shù)來實(shí)現(xiàn)。imadd函數(shù)將某一幅輸入圖像的每一個像素值與另一幅圖像相應(yīng)的像素值相加,返回相應(yīng)的像素值之和作為輸出圖像。imadd函數(shù)的調(diào)用格式如下: Z = imadd(X,Y)首先讀入兩幅圖像 >>a=imread('第二個原圖1.jpg');>>b=imread('第二個原圖2.jpg')通過一個加法操作:>> c=imadd(a,b); 給圖像的每一個像素加上一個常數(shù)可以使圖像的亮度增加。如截圖 第一張為原圖,第二張為亮度加50,第三張為亮度減50 2.圖像的減法運(yùn)算 在MATLAB中,使用imsubtract函數(shù)可以將一幅圖像從另一幅圖像中減去,或者從一幅圖像中減去一個常數(shù)。imsubtract函數(shù)將一幅輸入圖像的像素值從另一幅輸入圖像相應(yīng)的像素值中減去,再將這個結(jié)果作為輸出圖像相應(yīng)的像素值。imsubtract函數(shù)的調(diào)用格式如下: Z = imsubtract(X,Y); 讀入一幅畫后通過減法 >>a3=imsubtract(a,50); 3.圖像的乘法運(yùn)算 在MATLAB中,使用immultiply函數(shù)實(shí)現(xiàn)兩幅圖像的乘法。immultiply函數(shù)將兩幅圖像相應(yīng)的像素值進(jìn)行元素對元素的乘法操作(MATLAB點(diǎn)乘),并將乘法的運(yùn)算結(jié)果作為輸出圖形相應(yīng)的像素值。immulitply函數(shù)的調(diào)用格式如下: Z = immulitply(X,Y)讀入一幅圖后通過乘法操作 >> a=imread('cameraman.tif');>> b=immultiply(a,1.5); 4.圖像的除法運(yùn)算 在MATLAB中使用imdivide函數(shù)進(jìn)行兩幅圖像的除法。imdivide函數(shù)對兩幅輸入圖像的所有相應(yīng)像素執(zhí)行元素對元素的除法操作(點(diǎn)除),并將得到的結(jié)果作為輸出圖像的相應(yīng)像素值。imdivide函數(shù)的調(diào)用格式如下: Z = imdivide(X,Y)讀入一幅圖后通過除法操作 四、實(shí)驗(yàn)總結(jié) 通過對圖像的四則運(yùn)算了結(jié)圖像的不同變化過程,對軟件的進(jìn)一步使用也有了更加深刻的認(rèn)識。 實(shí)驗(yàn)三 圖像增強(qiáng)—空域?yàn)V波 一、實(shí)驗(yàn)?zāi)康?/p> 進(jìn)一步了解MatLab軟件/語言,學(xué)會使用MatLab對圖像作濾波處理,使學(xué)生有機(jī)會掌握濾波算法,體會濾波效果。 了解幾種不同濾波方式的使用和使用的場合,培養(yǎng)處理實(shí)際圖像的能力,并為課堂教學(xué)提供配套的實(shí)踐機(jī)會。 二、實(shí)驗(yàn)設(shè)備與軟件 (1)IBM-PC計(jì)算機(jī)系統(tǒng) (2)MatLab軟件/語言包括圖像處理工具箱(Image Processing Toolbox) (3)實(shí)驗(yàn)所需要的圖片 三、實(shí)驗(yàn)內(nèi)容與步驟 a)調(diào)入并顯示原始圖像“原圖像.jpg”。>>I=imread('原圖像.jpg');b)利用imnoise命令在圖像“原圖像.jpg”上加入高斯(gaussian)噪聲 >>J = imnoise(I,'gauss',0.02); %添加高斯噪聲 c)利用預(yù)定義函數(shù)fspecial命令產(chǎn)生平均(average)濾波器 d)分別采用3x3和5x5的模板,分別用平均濾波器以及中值濾波器,對加入噪聲的圖像進(jìn)行處理并觀察不同噪聲水平下,上述濾波器處理的結(jié)果; >>ave1=fspecial('average',3); %產(chǎn)生3×3的均值模版 >>ave2=fspecial('average',5); %產(chǎn)生5×5的均值模版 >>K = filter2(ave1,J)/255; %均值濾波3×3 >>L = filter2(ave2,J)/255; %均值濾波5×5 e)選擇不同大小的模板,對加入某一固定噪聲水平噪聲的圖像進(jìn)行處理,觀察上述濾波器處理的結(jié)果。 >>M = medfilt2(J,[3 3]); %中值濾波3×3模板 >>N = medfilt2(J,[4 4]); %中值濾波4×4模板 f)利用imnoise命令在圖像Sample2-1.jpg 上加入椒鹽噪聲(salt & pepper)>>J = imnoise(I,'salt& pepper',0.02); %添加椒鹽噪聲 四、實(shí)驗(yàn)總結(jié) 椒鹽噪聲是由圖像傳感器,傳輸信道,解碼處理等產(chǎn)生的黑白相間的亮暗點(diǎn)噪聲。椒鹽噪聲往往由圖像切割引起,去除脈沖干擾及椒鹽噪聲最常用的算法是中值濾波。椒鹽噪聲是指兩種噪聲,一種是鹽噪聲,另一種是胡椒噪聲。鹽=白色,椒=黑色。前者是高灰度噪聲,后者屬于低灰度噪聲。一般兩種噪聲同時出現(xiàn),呈現(xiàn)在圖像上就是黑白雜點(diǎn)。這點(diǎn)我們通過實(shí)驗(yàn)結(jié)果可以明顯看到。中值濾波對于濾除圖像的椒鹽噪聲非常有效。 實(shí)驗(yàn)四圖像分割 一、實(shí)驗(yàn)?zāi)康?/p> 使用MatLab 軟件進(jìn)行圖像的分割。使學(xué)生通過實(shí)驗(yàn)體會一些主要的分割算子對圖像處理的效果,以及各種因素對分割效果的影響。 二、實(shí)驗(yàn)要求 要求學(xué)生能夠自行評價各主要算子在無噪聲條件下和噪聲條件下的分割性能。能夠掌握分割條件(閾值等)的選擇。完成規(guī)定圖像的處理并要求正確評價處理結(jié)果,能夠從理論上作出合理的解釋。 三、實(shí)驗(yàn)內(nèi)容與步驟 (1)使用Roberts 算子的圖像分割實(shí)驗(yàn),使用的原圖是cameraman.jpg,截圖如下 (2)使用Prewitt 算子的圖像分割實(shí)驗(yàn) 截圖如下 (3)使用Sobel 算子的圖像分割實(shí)驗(yàn) (4)使用LoG(拉普拉斯-高斯)算子的圖像分割實(shí)驗(yàn) 四、實(shí)驗(yàn)結(jié)果 對Roberts算子、Prewitt 算子、Sobel 算子、LoG(拉普拉斯-高斯)算子的運(yùn)算對圖像的結(jié)果有了基本的認(rèn)識,加深學(xué)習(xí)效果。 實(shí)驗(yàn)五 形態(tài)學(xué)運(yùn)算 1、實(shí)驗(yàn)?zāi)康?/p> 學(xué)習(xí)常見的數(shù)學(xué)形態(tài)學(xué)運(yùn)算基本方法,了解腐蝕、膨脹、開運(yùn)算、閉運(yùn)算取得的效果,培養(yǎng)處理實(shí)際圖像的能力,并為課堂教學(xué)提供配套的實(shí)踐機(jī)會。 2、實(shí)驗(yàn)要求 利用MatLab工具箱中關(guān)于數(shù)學(xué)形態(tài)學(xué)運(yùn)算的函數(shù),計(jì)算本指導(dǎo)書中指定二值圖像進(jìn)行處理。 3、實(shí)驗(yàn)設(shè)備與軟件 1.LC-PC計(jì)算機(jī)系統(tǒng) 2.MatLab軟件/語言包括圖像處理工具箱(Image Processing Toolbox)3.實(shí)驗(yàn)所需要的圖片 4、實(shí)驗(yàn)內(nèi)容與步驟 1.調(diào)入并顯示圖像“原圖.jpg”; 2.調(diào)入并顯示圖像“原圖.jpg”; 3.選取合適的閾值,得到二值化圖像“原圖.jpg”; >>bw = im2bw(I,level); %二值化 4.設(shè)置結(jié)構(gòu)元素; 5.對得到的二值圖像“原圖.jpg”進(jìn)行腐蝕運(yùn)算; >>BW2 = imerode(bw,SE1); %腐蝕 6.對得到的二值圖像“原圖.jpg”進(jìn)行膨脹運(yùn)算; >>BW1 = imdilate(bw,SE); %膨脹 7.對得到的二值圖像“原圖.jpg”進(jìn)行開運(yùn)算; >>BW3 = bwmorph(bw, 'open'); %開運(yùn)算 8.對得到的二值圖像“原圖.jpg”進(jìn)行閉運(yùn)算; >>BW4 = bwmorph(bw, 'close'); %閉運(yùn)算 9.將兩種處理方法的結(jié)果作比較; 五、實(shí)驗(yàn)總結(jié) 通過本次實(shí)驗(yàn),學(xué)習(xí)了常見的數(shù)學(xué)形態(tài)學(xué)運(yùn)算基本方法,了解腐蝕、膨脹、開運(yùn)算、閉運(yùn)算取得的效果,培養(yǎng)處理實(shí)際圖像的能力,通過自己動手的實(shí)驗(yàn),對課本上的知識有了更加深刻的理解。第三篇:數(shù)字圖像處理實(shí)驗(yàn)報告
第四篇:數(shù)字圖像處理實(shí)驗(yàn)報告
第五篇:數(shù)字圖像處理實(shí)驗(yàn)報告