医学图像处理——低通滤波器的构造
上一期:医学图像处理——频域滤波2
“ 在上一期中我们在图像频域处理的例子演示中使用到了一个低通滤波器来平滑图像,今天我们就来仔细讲一讲这个理想低通滤波器怎么构造!”
理想低通滤波器
理想低通滤波器的一般表示形式是:
其中,D0为指定的非负数并称为截止频率,D(u, v)为点(u,v)到滤波器中心的距离。D(u, v) = D0的点的轨迹为一个圆。注意,若滤波器H乘以一幅图像的傅里叶变换,则我们会发现理想滤波器切断了圆外F的所有分量,而圆上和圆内的点不变。因为低频区是乘了1,高于截止频率的就乘了0.但注意这个滤波器过于理想是不能使电子元件来模拟实现,只能仿真。
如下是其频域图:
n阶巴特沃兹低通滤波器(BLPF)
n阶巴特沃兹低通滤波器(BLPF)(在距离原点D。处出现截止频率)的传递函数为
与理想低通滤波器不同的是,巴特沃兹低通滤波器的传递函数并不是在D0处突然不连续。对于具有平滑传递函数的滤波器,我们通常要定义一个截止频率,在该点处H(u,v)会降低为其最大值的某个给定比例。在前面的等式中,当D(u, )=D0时,H(u, v)=0.5 (降为其最大值1的50% )。
从以上两张图可以看到相比理想滤波器巴特沃兹低通滤波器的确平滑了很多,频谱是由白到黑逐渐过度的。
高斯低通滤波器( GLPF )
高斯低通滤波器( GLPF )的传递函数为
其中,σ为标准偏差。通过令σ=D0,我们可以根据截止参数D0得到表达式:
当D(u, v)= D0时,滤波器由其最大值1降为0.607。
实战演练
一下我们就构造一个高斯滤波器来做示范。
f=imread("Fig0313(a).tif");
PQ=paddedsize(size(f));
M=PQ(1); N=PQ(2);
u=-M/2:(M/2-1);
v=-N/2:(N/2-1);
[U,V]=meshgrid(u,v);
D0=0.05*PQ(2);
H=exp(-(U.^2+V.^2)/(2*(D0^2)));
F=fft2(f,size(H,1),size(H,2));
G=H.*fftshift(F);
g=real(ifft2(fftshift(G)));
g=g(1:size(f,1),1:size(f,2));
figure(1);
subplot(3,2,1);
imshow(f,[]);
title("原图");
subplot(3,2,2);
imshow(log(1+abs(fftshift(F))),[]);
title("原图频谱");
subplot(3,2,3);
imshow(H,[]);
title("滤波器频谱");
subplot(3,2,4);
imshow(g,[]);
title("滤波后图");
subplot(3,2,5);
imshow(log(1+abs(G)),[]);
title("滤波后图的频谱");
结果如下
小白直接在代码截图中做了注解,应该说的很清楚了,不懂得可以结合上期的内容一起看!
今天的介绍就到这里啦!今天的小白认为比较有挑战难度,若做出来了,给小白赞赏一下吧!嘻嘻。