数字图像处理实验报告Word文件下载.docx
《数字图像处理实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验报告Word文件下载.docx(32页珍藏版)》请在冰豆网上搜索。
![数字图像处理实验报告Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-12/18/0b4a42d6-913c-469b-8ffc-930440e7b4b2/0b4a42d6-913c-469b-8ffc-930440e7b4b21.gif)
11-2411
11111]
3)分别采用5×
5,9×
9,15×
15和25×
25大小的拉普拉斯算子对blurry_moon.tif
进
行锐化滤波,并利用式g(x,y)=
f(x,y)-∇2f(x,y)完成图像的锐化增强,观察其有何
不同,要求在同一窗口中显示。
4)采用不同的梯度算子对该幅图像进行锐化滤波,并比较其效果。
5)自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;
3.傅立叶变换
1)读出一幅图像,对其进行快速傅立叶变换,分别显示其幅度图像和相位图像。
仅对相位部分进行傅立叶反变换后查看结果图像。
2)仅对幅度部分进行傅立叶反变换后查看结果图像。
3)将图像的傅立叶变换F置为其共轭后进行反变换,比较新生成图像与原始图像的差异。
4.平滑频域滤波
1)设计理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器,截至频率自选,分别给出各种滤波器的透视图。
2)读出一幅图像,分别采用理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同低通滤波器得到的图像与原图像的区别,特别注意振铃效应。
(提示:
1)在频率域滤波同样要注意到填充问题;
2)注意到(-1)x+y;
)
5.锐化频域滤波
1)设计理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器,截至频率自选,分别给出各种滤波器的透视图。
2)读出一幅图像,分别采用理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同高通滤波器得到的图像与原图像的区别。
3.实验具体实现
(1).读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。
img=imread('
lena.png'
)figure,subplot(1,3,1);
imshow(img);
title('
原始图像'
);
img2=imnoise(img,'
salt&
pepper'
0.02);
subplot(1,3,2);
imshow(img2);
title('
椒盐噪声图像'
img3=imnoise(img,'
gaussian'
subplot(1,3,3),imshow(img3);
高斯噪声图像'
实验结果如下:
(2).对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
平滑滤波是低频增强的空间域滤波技术。
它的目的有两个,一是模糊,二是消除噪声。
将空间域低通滤波按线性和非线性特点有:
线性、非线性平滑滤波器,线性平滑滤波器包括均值滤波器,非线性的平滑滤波器有最大值滤波器,中值滤波器,最小值滤波器。
代码如下:
)img=rgb2gray(img);
figure,subplot(1,3,1);
subplot(1,3,2);
%对椒盐噪声图像进行滤波处理h=fspecial('
average'
3);
I1=filter2(h,img2)/255;
I2=medfilt2(img2,[33]);
figure,subplot(2,2,1),imshow(img),title('
原图像'
subplot(2,2,2),imshow(img2),title('
椒盐噪声图'
subplot(2,2,3),imshow(I1),title('
3*3均值滤波图'
subplot(2,2,4),imshow(I2),title('
3*3中值滤波图'
%对高斯噪声图像进行滤波处理G1=filter2(h,img3)/255;
G2=medfilt2(img3,[33]);
subplot(2,2,2),imshow(img3),title('
高斯噪声图'
subplot(2,2,3),imshow(G1),title('
subplot(2,2,4),imshow(G2),title('
(3).使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。
h=fspecial('
motion'
50,45);
%创建一个运动模糊滤波器filteredimg=imfilter(img,h);
boundaryReplicate=imfilter(img,h,'
replicate'
boundary0=imfilter(img,h,0);
boundarysymmetric=imfilter(img,h,'
symmetric'
boundarycircular=imfilter(img,h,'
circular'
figure,subplot(3,2,1),imshow(img),title('
OriginalImage'
subplot(3,2,2),imshow(filteredimg),title('
MotionBlurredImage'
subplot(3,2,3),imshow(boundaryReplicate),title('
Replicate'
subplot(3,2,4),imshow(boundary0),title('
0-Padding'
subplot(3,2,5),imshow(boundarysymmetric),title('
subplot(3,2,6),imshow(boundarycircular),title('
g=imfilter(f,w,filtering_mode,boundary_options,size_options),其中,f为输入图像,w为滤波掩模,g为滤波后图像。
(4).运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤波,查看其特点,显示均值处理后的图像(提示:
利用fspecial函数的’average’类型生成均值滤波器)。
fori=1:
10
J1=imfilter(img2,h);
end
forj=1:
20
J2=imfilter(img2,h);
end
figure,subplot(1,3,1),imshow(img2),title('
pepperNoise'
subplot(1,3,2),imshow(J1),title('
10AverageFiltering'
subplot(1,3,3),imshow(J2),title('
20AverageFiltering'
实验结果:
(5).对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
h1=fspecial('
J=imfilter(img2,h1);
J2=medfilt2(img2);
subplot(1,3,2),imshow(J),title('
AveragingFiltering'
MedianFiltering'
实验结果为:
(6).自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
[mn]=size(img2);
figure,subplot(1,2,1),imshow(img2);
s=zeros(1,9);
fori=2:
1:
m-1
forj=2:
n-1
h=1;
forp=i-1:
i+1
forq=j-1:
j+1
s(h)=img2(p,q);
h=h+1;
s=sort(s);
I(i,j)=s(5);
endend
subplot(1,2,2),imshow(I);
实验结果:
2.锐化空间滤波
(1)读出一幅图像,采用3×
1,1,1]对其进行滤波。
img=imread('
img=rgb2gray(img);
img=im2double(img);
w=[1,1,1;
1,-8,1;
1,1,1]k=conv2(img,w,'
same'
imshow(k);
(2)编写函数w=genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如5×
num=input('
pleaseenteranynum:
'
n=num;
W=ones(n,n);
fori=1:
n
forj=1:
if(i==fix(n/2)+1&
&
j==fix(n/2)+1)
W(i,j)=n*n-1;
display(W);
代码运行结果为:
(3)分别采用5×
25大小的拉普拉斯算子对blurry_moon.tif进
基于上一题要求形成一函数:
行锐化滤波,并利用式完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。
function[W]=lapulasi(num)n=num,W=ones(n),x=fix(n/2)+1;
W(x,x)=-(n*n-1);
其他代码:
f=imread('
moon.tif'
f=im2double(f);
figure,subplot(2,3,1),imshow(f),title('
w0=lapulasi(3),w1=lapulasi(5),w2=lapulasi(9);
w3=lapulasi(15),w4=lapulasi(25);
f0=f-imfilter(f,w0,'
subplot(2,3,2),imshow(f0),title('
3*3lapulasi'
f1=f-imfilter(f,w1,'
subplot(2,3,3),imshow(f1),title('
5*5lapulasi'
f2=f-imfilter(f,w2,'
subplot(2,3,4),imshow(f2),title('
9*9lapulasi'
f3=f-imfilter(f,w3,'
subplot(2,3,5),imshow(f3),title('
15*15lapulasi'
f4=f-imfilter(f,w4,'
subplot(2,3,6),imshow(f4),title('
25*25lapulasi'
[I,map]=imread('
I=double(I);
figure,subplot(2,3,1),imshow(I,map),title('
[Gx,Gy]=gradient(I);
G=sqrt(Gx.*Gx+Gy.*Gy),J1=G;
subplot(2,3,2),imshow(J1,map),title('
Operator1Image'
J2=I;
K=find(G>
=7);
J2(K)=G(K);
subplot(2,3,3),imshow(J2,map);
Operator2Image'
J3=I;
J3(K)=255;
subplot(2,3,4),imshow(J3,map),title('
Operator3Image'
J4=I;
K=find(G<
J4(K)=255;
subplot(2,3,5),imshow(J4,map),title('
Operator4Image'
J5=I;
J5(K)=0;
Q=find(G>
J5(Q)=255;
subplot(2,3,6),imshow(J5,map),title('
Operator5Image'
(4)采用不同的梯度算子对该幅图像进行锐化滤波,并比较其效果。
实验效果如下:
I=imread('
I=rgb2gray(I);
h=fspecial('
sobel'
h1=h'
*0.5;
h2=h'
;
h3=h'
*1.5;
z1=imfilter(I,h1);
z2=imfilter(I,h2);
z3=imfilter(I,h3);
figure,subplot(2,2,1),imshow(I),title('
subplot(2,2,2),imshow(z1);
Verticalfiltering1'
subplot(2,2,3),imshow(z2);
Verticalfiltering2'
subplot(2,2,4),imshow(z3);
Verticalfiltering3'
(5)自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;
运行结果如下:
3.傅立叶变换
(1).读出一幅图像,对其进行快速傅立叶变换,分别显示其幅度图像和相位图像。
代码为:
f1=fft2(img);
%快速傅里叶变换f2=log(1+abs(f1));
%振幅谱f3=fftshift(f1);
f4=angle(f1);
%相位谱figure,subplot(1,3,1),imshow(img),title('
subplot(1,3,2),imshow(log(1+abs(f3)),[]),title('
amplitudespectrum'
subplot(1,3,3),imshow(f4),title('
phasespectrum'
f=ifft2(abs(f1));
figure,subplot(1,3,1),imshow(img),title('
subplot(1,3,3),imshow(log(1+abs(f)),[]),title('
absamplitudespectrum'
(2).仅对幅度部分进行傅立叶反变换后查看结果图像。
(3).将图像的傅立叶变换F置为其共轭后进行反变换,比较新生成图像与原始图像的差异。
代码
f2=log(1+abs(f1));
f3=fftshift(f1);
f4=angle(f1);
f5=-f4;
f6=double(f3*exp(f4));
%傅立叶变换的复共轭f7=ifft2(f6);
%反傅立叶变换figure,subplot(1,2,1),imshow(img),title('
subplot(1,2,2),imshow(real(f7),[]),title('
inversefouriertransform'
实验效果:
4.平滑频域滤波
(1).设计理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器,截至频率自选,分别给出各种滤波器的透视图。
%%%%%%%%%%%%%%%%%%%理想低通滤波器的透视图%%%%%
a=100;
b=100;
U=0:
a;
V=0:
b;
M=length(U);
N=length(V);
D0=10;
%D0是频带的中心半径;
x1=50;
y1=50;
x0=-50;
y0=-50;
m=fix(M/2);
n=fix(N/2);
H=zeros(M,N);
n=2;
foru=1:
M
forv=1:
N
a=sqrt((U(u)-50).*(U(u)-50)+(V(v)-50).*(V(v)-50));
%D(u,v)的值
if(a<
=D0)%理想滤波器
H(u,v)=1;
else
H(u,v)=0;
figure;
subplot(1,3,1),
surf(U,V,H),title('
理想低通滤波透视图'
);
%%%%%%%%%%%%2阶巴特沃斯低通滤波透视图%%%%%%%%%%%%%%%%55
%W=200;
%D0是频带的中心半径;
W是频带的宽度
b=1+(a/D0)^2*n;
H(u,v)=1/b;
subplot(1,3,2),surf(U,V,H);
n=2Butterworthlowessfilter'
%%%%%%%%%%%%%%%%%%%%%%高斯低通滤波%%%%%%%%%%%%%%%%%%%%%
%D0是频带的中心半径
D1=((u-m-x0)^2+(v-n-y0).^2)^0.5;
D2=((u-m+x0)^2+(v-n+y0).^2)^0.5;
D11=((u-m-x1)^2+(v-n-y1).^2)^0.5;
D21=((u-m+x1)^2+(v-n+y1).^2)^0.5;
H(u,v)=(U(u)-50).*(U(u)-50)+(V(v)-50).*(V(v)
-50);
%在绘制高斯曲面的时候,加上下述代码,显示得美观
S=50;
H=-H/(2*S);
H=exp(H)/(sqrt(2*pi)*sqrt(