⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 butterworth.m

📁 由上述实验过程的图像变化可知
💻 M
字号:
%function butterworth 

I = imread('lena1.bmp');
   data=zeros(256,256);   H=zeros(256,256);data1=zeros(256,256);
   J=fft2(I);K=fftshift(J);
 TYPE=2;  
D0=15;
D1=1;

   for m=1:256
       for n=1:256
            data(m,n)=K(m,n);
           
         %     for Mm=1:10
          %         for Nn=1:10
           %        L=256*rand(1,1);
            %       K(L,L)=J(Mm,Nn)+100*(rand(1,1)-0.5);
            %        end
            %   end
           
%          for mm=1:8
 %             J(m,n)=I(m,n);
  %            if mm==1
   %             K(m,n)=J(m,n)+100*(rand(1,1)-0.5);
   %          else
   %              K(m,(n-1)*8+mm)=J(m,n);
   %         end
         % data1(m,n)=21*(1000*J(m,n)/21)/1000;
          
              disabs=sqrt((m-128)^2+(n-128)^2);
          
          %butterworth
          if TYPE==1 
              distance=1/(1+(disabs/D0)^2);
          end
          %tixing
          if TYPE==2 
              distance=(disabs-D0)/(D1-D0);
          end
          %gauss 
          if TYPE==3           
               distance=exp(-(disabs/D0)^2);
           end
          
          H(m,n)=distance;
          if TYPE==1 
              data(m,n)=H(m,n)*K(m,n);                   
           end
                
          if TYPE==3 
              data(m,n)=H(m,n)*K(m,n);                   

          end            
           
         if TYPE==2 
                if disabs>D0
                   data(m,n)=0;
                    elseif disabs>D1
                  data(m,n)=H(m,n)*K(m,n);  
              end

          end            
           

 %          if distance>100
  %              K(m,n)=0;
  %        end
  
       end
   end
   
   JJ=ifftshift(data);
   R=ifft2(JJ);
      
    imshow(abs(R),[])
%    imshow(data,[])
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -