数字图像处理平时作业3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 题目:实现频率域的UnSharp Masking滤波。其中低通滤波使用频率域的高斯低通滤波器滤波器参数可调。
2 源程序
clear;close all;clc;
I = imread('E:\Lena.bmp');
figure
subplot(321)
imshow(I)
title('原图像')
B=fft2(I);
s=fftshift(B);
[M,N] =size(s); %分别返回s的行数到M中,列数到N中
n=2; %对n赋初值
%GLPF滤波,d0=5,15,30(程序中以d0=30为例)
d0=30; %初始化d0
n1=floor(M/2); %对M/2进行取整
n2=floor(N/2);
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅里叶变换中心的距离
h=1*exp(-1/2*(d^2/d0^2)); %GLPF滤波函数
a(i,j)=h*s(i,j); %GLPF滤波后的频域表示
end
end
a=ifftshift(a); %对s进行反FFI移动
%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数
a=uint8(real(ifft2(a)));
subplot(322)
imshow(a) %显示GLPE滤波处理后的图像
title('GLPF滤波(d0=30)')
subplot(323)
b = I -a;
imshow(b)
title('反锐化')
c0 = I + 0.5*b;
subplot(324)
imshow(c0)
title('反锐化图像A=0.5')
c1 = I + 1*b;
subplot(325)
imshow(c1)
title('反锐化图像A=1')
c2= I + 1.5*b;
subplot(326)
imshow(c2)
title('反锐化图像A=1.5')
3 实验结果图
原图像GLPF滤波(d0=30)
反锐化反锐化图像A=0.5
反锐化图像A=1反锐化图像A=1.5