数字图像处理平时作业3

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档