图像中带通滤波器和带阻滤波器的关系

                          
               
先给出一张图像,来说明带阻滤波器和带通滤波器的关系。
图像中带通滤波器和带阻滤波器的关系   图像中带通滤波器和带阻滤波器的关系    图像中带通滤波器和带阻滤波器的关系
由上图可以看出这张图片的中低成份占的比较多,而高频成份比较少。因为白色的像素都集中在中点和离中心的附近。对于频谱图,由白色代表某一频率点有响应,也就是原图含有该频率的成份。可以举个例子,假如我对一张图片加入椒盐噪声,这个椒盐噪声属于全频谱的。可以得到下图示
图像中带通滤波器和带阻滤波器的关系 图像中带通滤波器和带阻滤波器的关系 图像中带通滤波器和带阻滤波器的关系
    很明显图像被污染了,频谱图出现了很多白色点,就代表这张图片在低频成份很多的情况下,又额外的增加了高频中频低频成份,如上第三图就出现了凹凸不平山峰一样。
    解释完频率后来看带通滤波器和带阻滤波器。
图像中带通滤波器和带阻滤波器的关系
再分别给出它们傅里叶反变换图
图像中带通滤波器和带阻滤波器的关系
图4为带阻滤波器的三维视图,图5只含中频信号的图像,图6只含高频和低频信号。读者可以自己举例子来进行高频和低频的分析,一样的原理。

只给出带阻滤波器的相关代码
  1. I=imread('C:\Users\hlx\Desktop\1.jpg');   %读入原图像文件
  2. I2=rgb2gray(I);
  3. I1=double(I2);
  4. fftI=fft2(I1);         % 二维离散傅立叶变换
  5. sfftI=fftshift(fftI);    % 直流分量移到频谱中心
  6. [N1,N2]=size(sfftI);
  7. n=2;
  8. d0=10;
  9. d1=200;
  10. n1=floor(N1/2);
  11. n2=floor(N2/2);
  12. for i=1:N1
  13.    for j=1:N2
  14.     d=sqrt((i-n1)^2+(j-n2)^2);
  15.     if d<=d0 || d>=d1
  16.              h=0;
  17.     else
  18.         h=1;
  19.     end
  20.     result(i,j)=h*sfftI(i,j);
  21.    end
  22. end
  23. sfftI=result;
  24. RR=real(sfftI);      % 取傅立叶变换的实部
  25. II=imag(sfftI);      % 取傅立叶变换的虚部
  26. A=sqrt(RR.^2+II.^2); % 计算频谱幅值
  27. A=(A-min(min(A)))/(max(max(A))-min(min(A)))*255;    %归一化
  28. imshow(A);