资源简介

Matlab 实现的带阻滤波器设计。基于高斯带阻滤波器。实现冈萨雷斯《数字图像处理》第五章的实例。

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 高斯带阻滤波器
% 滤波器的传递函数为H(uv)=1-exp(-1/2*((D^2-D0^2)/(D*W))^2)
% 其中W是频带宽度D0是频带的中心半径
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function ImgOut=BandFilter(ImgInd0W)
s=fftshift(fft2(ImgIn));               %将灰度图像的二维不连续Frourier变换的零频率成分移到频谱的中心
[MN]=size(s);                      %分别返回s的行数到M中,列数到N中
n1=floor(M/2)+1;                    %对M/2进行取整
n2=floor(N/2)+1;                    %对N/2进行取整
for i=1:M
    for j=1:N
        d=sqrt((i-n1)^2+(j-n2)^2);         %点(ij)到傅立叶变换中心的距离
        h=1-exp(-1/2*((d^2-d0^2)/(d*W))^2);%GBEF滤波函数
        s1(ij)=h*s(ij);                   %GBEF滤波后的频域表示
        H(ij)=h;
    end
end
figure;
subplot(131)imshow(log(abs(s)+1)[]);title(‘滤波前图像傅里叶频谱取对数‘);
subplot(132

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      17131  2011-09-08 18:54  带通带阻滤波器\1.jpg

     文件       3544  2011-09-08 19:19  带通带阻滤波器\BandFilter.asv

     文件       1200  2011-09-08 19:38  带通带阻滤波器\BandFilter.m

     文件       3810  2011-09-08 19:29  带通带阻滤波器\FilterTest.asv

     文件        585  2011-09-08 19:38  带通带阻滤波器\FilterTest.m

     文件     786486  2011-09-07 17:29  带通带阻滤波器\Lena.bmp

     文件      22538  2011-09-08 18:21  带通带阻滤波器\SinNoisy.jpg

     目录          0  2011-10-10 11:15  带通带阻滤波器

----------- ---------  ---------- -----  ----

               835294                    8


评论

共有 条评论