matlab | 生成圆形低通滤波器
程序员文章站
2022-05-22 14:10:09
...
引言
前面,我们学习了matlab生成方形低通滤波器
现在,我们学习如何生成一个圆形低通滤波器,如下图所示:
算法
c=512;
r=512;
D=66; % 生成低通滤波器圆的直径
pxy=zeros(c,r); % 生成一个全为0的图像
for n=1:c % 循环从1开始,步进是1,到a结束;
for m=1:r
if (n-c/2).^2+(m-r/2).^2<=(D/2).^2;
pxy(n,m)=1; % 在圆直径范围内,将其赋值为1
end
end
end
figure,imshow(pxy,[]);title('低通滤波器')
分析
我们知道,标准圆的公式为
对应于本例中要生成的低通滤波器为:
并且使得满足在这个圆内的所有像素点的值变为1.