燕 山 大 学 课 程 设 计 说 明 书
for j=2:width-1
R(i,j)=abs(I(i+1,j+1)-I(i,j))+abs(I(i+1,j)-I(i,j+1)); end end T=R;
for i=1:height-1 for j=1:width-1 if (R(i,j)<0.25) R(i,j)=1; else R(i,j)=0; end end
end
subplot(121);imshow(I);title('原图');%显示原图 subplot(122); imshow(R);
title('高通滤波后');%显示后的图像
7
燕 山 大 学 课 程 设 计 说 明 书
3.2 频域滤波器
频域滤波是图像经傅里叶变换以后,边缘和其他尖锐变化(如噪音)在图像的灰度级中主要处于傅里叶变换的高频部分。因此,平滑可以通过衰减指定图像傅里叶变换中高频成分的范围来实现。
频域低通滤波的数学表达式为:G(u,v)= H(u,v)F(u,v)
其中F(u,v)是原始图像f(x,y)的傅里叶变换;G(u,v)是低通滤波处理后的图像g(x,y)的傅里叶变换;H(u,v)是频域低通滤波器的传递函数,选择不同的H(u,v) 可产生不同的平滑效果。
3.2.1频域低通滤波器
t0=imread('man.bmp');
8
燕 山 大 学 课 程 设 计 说 明 书
subplot(2,2,1); imshow(t0); title('原图');
t1=imnoise(t0,'gaussian'); subplot(2,2,2); imshow(t1); title('加入噪音后'); s=fftshift(fft2(t1)); subplot(2,2,3);
imshow(log(1+abs(s)),[]); title('fft变换'); [M,N]=size(s); d0=50; n1=floor(M/2); n2=floor(N/2); for i=1:M for j=1:N
d=sqrt((i-n1)*2+(j-n2)*2); h(i,j)=1*exp(-1/2*(d^2/d0^2)); s(i,j)=h(i,j)*s(i,j); end end s=ifftshift(s); s=uint8(real(ifft2(s))); subplot(2,2,4);
9
燕 山 大 学 课 程 设 计 说 明 书
imshow(s); title('高斯滤波后');
3.2.2 频域高通滤波器
f1=imread('man.bmp');
F= double(f1); % 数据类型转换,MATLAB不支持图像的无符号
整型的计算
G = fft2(F); % 傅立叶变换 G = fftshift(G); % 转换数据矩阵 [M,N]=size(G);
nn = 2; % 二阶巴特沃斯(Butterworth)高通滤波器 d0 = 5; m = fix(M/2);
10
燕 山 大 学 课 程 设 计 说 明 书
n = fix(N/2); for i = 1 : M for j = 1 : N
d = sqrt((i-m)^2+(j-n)^2); if (d == 0) h = 0; else
h=1/(1+0.414*(d0/d)^(2*nn));% 计算传递函数 end;
result(i,j) = h * G(i,j); end; end;
result = ifftshift(result); J2= ifft2(result); J3= uint8(real(J2)); subplot(121);imshow(f1); title('原图像');
subplot(122);imshow(J3); % 滤波后图像显示 title('高通滤波后');
11
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库空域滤波和频域滤波的实现及比较(3)在线全文阅读。
相关推荐: