数字图像处理实验作业4.docx
《数字图像处理实验作业4.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验作业4.docx(10页珍藏版)》请在冰豆网上搜索。
数字图像处理实验作业4
数字图像处理
学院:
电信学院
专业:
信息工程
班级:
2008级3班
姓名:
朱志俊
学号:
200830101124
实验作业4:
1、用理想低通滤波器在频率域实现低通滤波
(1)程序:
I=imread('E:
\大三下\数字图像处理\MATLAB图像处理\水果2.jpg');
[m,n]=size(I);
figure
imshow(uint8(I));%显示原图像
title('原始图像');
fori=1:
m%对原图像矩阵上的每个元素乘与(-1)^(x+y)后再进行傅里叶变换
forj=1:
n
I(i,j)=I(i,j)*(-1)^(i-1+j-1);
end
end
A=fft2(I);
A1=log2(1+abs(A));
figure
imshow(uint8(A1));
title('原图像频谱');
[m,n]=size(A);
H=zeros(m,n);%构造理想低通滤波器,截止频率为50
k1=round(m/2);k2=round(n/2)
fori=1:
m
forj=1:
n
ifsqrt((i-k1)^2+(j-k2)^2)<=50
H(i,j)=1;
else
H(i,j)=0;
end
end
end
F=A.*H;%在频域对原始图像进行滤波处理
F1=log2(1+abs(F));
figure
imshow(uint8(F1));
title('低通滤波后图像频谱');
f=ifft2(F)%傅里叶反变换并做相应处理(取实部再乘以(-1)^(x+y))
f=real(f);
fori=1:
m
forj=1:
n
f(i,j)=f(i,j)*(-1)^(i-1+j-1);
end
end
figure
imshow(uint8(f));
title('经理想低通滤波器处理后的图像')
(2)结果:
(3)体会:
本实验采用理想低通滤波器对灰度图像进行处理。
针对理想低通滤波器的设计是自行设定一个截止频率,采用循环对一个预先设定的零矩阵在满足一定的条件下进行赋值,得到频域理想低通滤波器:
[m,n]=size(A);
H=zeros(m,n);%构造理想低通滤波器,截止频率为50
k1=round(m/2);k2=round(n/2)
fori=1:
m
forj=1:
n
ifsqrt((i-k1)^2+(j-k2)^2)<=50
H(i,j)=1;
else
H(i,j)=0;
end
end
end
再对图像进行滤波,即可完成对原始图像低通滤波处理。
设计出来了理想低通滤波器,接下里对下面的理想高通滤波器的设计只需对上面的程序稍加改动即可完成。
2、用理想高通滤波器在频率域实现高频增强
(1)程序:
I=imread('E:
\大三下\数字图像处理\MATLAB图像处理\水果0.jpg');
[m,n]=size(I);
figure
imshow(uint8(I));%显示原图像
title('原始图像');
fori=1:
m%对原图像矩阵上的每个元素乘与(-1)^(x+y)后再进行傅里叶变换
forj=1:
n
I(i,j)=I(i,j)*(-1)^(i-1+j-1);
end
end
A=fft2(I);
figure
A1=log2(1+abs(A));
imshow(uint8(A1));
title('原始图像频谱');
[m,n]=size(A);
H=zeros(m,n);%构造理想高通滤波器,下限截止频率为
k1=round(m/2);k2=round(n/2)
fori=1:
m
forj=1:
n
ifsqrt((i-k1)^2+(j-k2)^2)>=20
H(i,j)=1;
else
H(i,j)=0;
end
end
end
F=A.*(H+ones(m,n)*1.7);%在频域对原始图像进行滤波处理,
%并做相应的增强处理
figure
F1=log2(1+abs(F));
imshow(uint8(F1));
title('高通滤波后图像频谱');
f=ifft2(F)%傅里叶反变换并做相应处理(取实部再乘以(-1)^(x+y))
f=real(f);
fori=1:
m
forj=1:
n
f(i,j)=f(i,j)*(-1)^(i-1+j-1);
end
end
figure
imshow(uint8(f));
title('经理想高通滤波器处理后的图像')
(2)结果:
(3)体会:
将理想低通滤波器的代码稍加改动即可得到理想高通滤波器:
理想低通滤波器
[m,n]=size(A);
H=zeros(m,n);%构造理想低通滤波器,截止频率为50
k1=round(m/2);k2=round(n/2)
fori=1:
m
forj=1:
n
ifsqrt((i-k1)^2+(j-k2)^2)<=50(改动此处)
H(i,j)=1;
else
H(i,j)=0;
end
end
end
理想高通滤波器
[m,n]=size(A);
H=zeros(m,n);%构造理想高通滤波器,下限截止频率为
k1=round(m/2);k2=round(n/2)
fori=1:
m
forj=1:
n
ifsqrt((i-k1)^2+(j-k2)^2)>=20(修改后)
H(i,j)=1;
else
H(i,j)=0;
end
end
end
有了高通滤波器就可以对图像进行高通滤波处理,但为了保证处理后的图像显示效果,有必要做相应的增强处理,在过程中我才用以下代码对对图像做高通滤波增强处理:
F=A.*(H+ones(m,n)*1.7);
接着就可以顺利得到经高通滤波增强处理的图像。