数字图像处理空间域滤波实验报告Word文件下载.docx
《数字图像处理空间域滤波实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理空间域滤波实验报告Word文件下载.docx(44页珍藏版)》请在冰点文库上搜索。
5的拉普拉斯算子
w=
[1
1
-24
1]
本函数见文件夹下genlaplacian.m文件。
c) 分别采用5×
5,9×
9,15×
15和25×
25大小的拉普拉斯算子对blurry_moon.tif进行锐化滤波,并利用式
g(x,y)=
f(x,y)-Ñ
2f(x,y)完成图像的锐化增强,观察其
有何不同,要求在同一窗口中显示;
观察采用不同拉普拉斯算子对图像的锐化效果,发现掩模尺寸越大,锐化效果越明显,锐化轮廓线更粗。
d) 采用不同的梯度算子对blurry_moon.tif进行锐化滤波,并比较
其效果
3.傅立叶变换
a)读出woman.tif这幅图像,对其进行快速傅立叶变换,分别显示其幅度图像和相位图像(提示:
fft2,abs,angle)
前者是傅里叶变换后的相位图,后者是频率谱图。
b)仅对相位部分进行傅立叶反变换后查看结果图像(提示:
记傅立叶变换的相位a,利用ifft2对exp(a*i)进行反变换)
c)仅对幅度部分进行傅立叶反变换后查看结果图像
仅对相位部分反傅里叶变换,图像全部成黑色,仅对幅度部分反傅里叶变换,图像极为模糊。
d)将图像的傅立叶变换F置为其共轭后进行反变换,比较新生成
图像与原始图像的差异(提示:
复数F(u)=|F(u)|ejf(u)的共轭为F(u)=|F(u)|e-jf(u))
对F进行共轭后再反变换,图像反转180度。
4.平滑频域滤波
a)设计理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器,截至频率自选,分别给出各种滤波器的透视图;
理想低通滤波器表明在在截止频率的圆内所有频率无衰减地通过滤波器,而在这个圆外的所有频率完全被衰减掉。
高斯低通滤波器则是非常尖锐。
其中第3个图和第4个图都是巴特沃斯低通滤波器的透视图,前者参数为1,后者参数为10,比较可知,巴特沃斯滤波器可看成是理想低通滤波器和高斯低通滤波器的过渡,当参数值较大时接近理想低通滤波器,参数值较小时,接近高斯滤波器。
b)读出test_pattern.tif这幅图像,分别采用理想低通滤波器、巴
特沃斯低通滤波器和高斯低通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同低通滤波器得到的图像与原图像的区别,特别注意振铃效应。
1)在频率域滤波同样要注意到填充问题;
2)注意到(-1)x+y;
)
以上三图中的截止频率分别取10,50,100,可以看到滤波后的图像与原图相比更加平滑,当截止频率取10时,图像非常模糊。
这是由于10以外频率的都被滤波器过滤掉了,滤掉的频率很大。
结果图频率范围很低,所以会产生非常模糊的效果。
5.锐化频域滤波
a)设计理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器,截至频率自选,分别给出各种滤波器的透视图;
高通滤波器的透视图相当于
b)读出test_pattern.tif这幅图像,分别采用理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同高通滤波器得到的图像与原图像的区别。
提示:
设图像大小为M×
N(M行N列),下列代码可实现矩阵X和Yx=0:
M-1;
y=0:
N-1;
X=x'
*ones(1,N);
Y=ones(M,1)*y;
此时(f(x,y)(-1)x+y)可以采用如下代码实现
f(x,y).*(-1)^(X+Y)
一般频域滤波器的原点在矩形中心,即[floor(M/2),floor(N/2)],此时平方距离D的计算可以由下列代码实现
D=sqrt((U-floor(M/2)).^2+(V-floor(N/2)).^2);
%这里将X,Y用U
和V代替
附录(源代码):
实验2源代码:
(其中要用到自定义函数,在文件夹中)
第1题.
a)
clear;
clc;
figure
(1)
I=imread('
eight.tif'
);
subplot(1,3,1);
imshow(I);
title('
(a)原图'
J = imnoise(I,'
salt &
pepper'
0.02);
subplot(1,3,2);
imshow(J);
加入椒盐噪声'
subplot(1,3,3);
K=imnoise(I,'
gaussian'
imshow(K);
加入高斯噪声'
b)clear;
cameraman.tif'
subplot(2,2,1);
imshow(I);
title('
OriginalImage'
H=fspecial('
motion'
20,45);
MotionBlur =
imfilter(I,H,'
replicate'
subplot(2,2,2);
imshow(MotionBlur);
MotionBlurredImage'
disk'
10);
blurred =
subplot(2,2,3);
imshow(blurred);
BlurredImage'
unsharp'
sharpened =
subplot(2,2,4);
imshow(sharpened);
title('
SharpenedImage'
c)
clearall;
closeall;
figure
pepper'
subplot(2,2,1);
imshow(J);
加有椒盐噪声的图像'
MotionBlur =
imfilter(J,H,'
replicate'
symmetric'
symmetric'
circular'
imshow(MotionBlur);
circular'
d)
figure
(2);
Aver=J;
average'
fori=1:
10
Aver =
imfilter(Aver,H,'
endsubplot(1,3,1);
imshow(Aver);
title('
10次均值滤波'
fori=1:
endsubplot(1,3,3);
tit
le('
20次均值滤波'
e)
figure(3);
Aver=imfilter(J,H,'
subplot(1,3,2);
均值滤波处理后的图像'
Med=medfilt2(J);
imshow(Med);
title('
中值滤波处理后的图像'
f)clc;
f=imread('
subplot(1,2,1);
imshow(f);
原图像'
w=(1/16)*[121;
242;
121];
f=im2double(f);
g=imfilter(f,w,'
subplot(1,2,2);
imshow(g);
滤波后的图像'
第2题.a)
blurry_moon.tif'
w8=[111;
1-81;
111];
g8 = f-imfilter(f,w8,'
%使用拉普拉斯算子w8对f进行滤波
figure;
subplot(1,2,1);
月球北极的图像'
imshow(g8);
title(
'
使用拉普拉斯算子滤波增强后的图像'
b)
function [varargout] =genlaplacian(varargin)
%GENLAPLACIAN 产生一个
奇数尺寸的拉普拉斯算子
n=cell2mat(varargin);
if(~mod(n,2))
error('
输入参数必须为一个奇数'
end
W=ones(n);
mid=(n+1)/2;
W(mid,mid)=-(n*n-1);
[varargout]={W};
c)
w5=genlaplacian(5);
g5=f-imfilter(f,w5,'
w9=genlaplacian(9);
g9=f-imfilter(f,w9,'
w15=genlaplacian(15);
g15 = f -imfilter(f,w15,'
w25=genlaplacian(25);
g25 = f -imfilter(f,w25,'
figure
(1);
月球北极的图像'
figure
(2);
imshow(g5);
采用5x5的拉普拉斯算子锐化增强'
imshow(g9);
采用9x9的拉普拉斯算子锐化增强'
imshow(g15);
采用15x15的拉普拉斯算子锐化增强'
imshow(g25);
采用25x25
的拉普拉斯算子锐化增强'
[I,map] =
imread('
I=double(I);
[Gx,Gy]=gradient(I);
G=sqrt(Gx.*Gx+Gy.*Gy);
J1=G;
imshow(J1,map);
J2=I;
K=find(G>
=7);
J2(K)=G(K);
subplot(2,2,2);
imshow(J2,map);
J3=I;
J3(K)=255;
subplot(2,2,3);
imshow(J3,map);
J4=I;
K=find(G<
J4(K)=255;
subplot(2,2,4);
imshow(J4,map);
第3题.a)
woman.tif'
Y=fft2(double(f));
F=[0:
256];
xp=angle(Y);
%相位谱gl=abs(Y);
%频率谱subplot(1,2,1);
plot(F,xp(1:
257));
subplot(1,2,2);
plot(F,gl(1:
bc)clc;
imshow(f);
originalimage'
f=double(f);
Fu=fft2(f);
a=angle(Fu);
fi=real(ifft2(exp(a*i)));
imshow(uint8(fi));
仅相位部分反DFT'
b=abs(Fu);
ff=real(ifft2(b));
imshow(uint8(ff));
仅幅度部分反DFT'
d)clc;
原图'
F=fft2(double(f));
F_abs=abs(F);
F2=F_abs.*F_abs./F;
F2=ifft2(F2);
imshow(uint8(F2));
变换后的图'
第4题.
%理想低通滤波器透视图
H =
fftshift(lpfilter('
ideal'
500,500,50));
mesh(H(1:
10:
500,
1:
500));
理想低通滤波器透视图,截止频率50'
axis([05005001])
colormap([000])axisoff
gridoff
%巴特沃斯低通滤波器透视图
btw'
500,500,50,1));
巴特沃斯低通滤波器透视图,截止频率50'
axis([05005001]);
colormap([000]);
axisoff;
gridoff;
%高斯低通滤波器透视图
500,500,50));
高斯低通滤波
器透视图,截止频率50'
%巴特沃斯低通滤波器透视图H =
500,500,50,10));
b)
%高斯高通滤波器滤波
test_pattern.tif'
imshow(f,[]);
PQ=paddedsize(size(f));
lpfilter('
PQ
(1),PQ
(2),100);
g=dftfilt(f,H);
imshow(g,[]);
高斯低通滤波后的结果'
%巴特沃斯高通滤波器滤波
PQ=paddedsize(size(f));
巴特沃斯低通滤波后的结果'
%理想高通滤波器滤波
理想低通滤波后的结果'
第5题.
%理想高通滤波器透视图
fftshift(hpfilter('
理想高通滤波器透视图,截止频率50'
%巴特沃斯高通滤波器透视图H =
500,500,50,1
));
巴特沃斯高通滤波器透视图,截止频率50'
500,500,50,10));
%高斯高通滤波器透视图
高斯高通滤波器透视图,截止频率50'
hpfilter('
PQ
(1),PQ
(2),50);
高斯高通滤波后的结果'
t