matlab | 生成圆形低通滤波器

引言

前面,我们学习了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.

posted @ 2022-02-20 20:13  简单光学  阅读(219)  评论(0)    收藏  举报