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

📄 butterworthh.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=1;  
D0=10;
D1=50;
    for m=1:256
       for n=1:256
            data1(m,n)=I(m,n);
        end
    end
    
    for Mm=1:10
          for Nn=1:10
              
                  L=round(abs(256*rand(1,1)));
                  M=round(abs(256*rand(1,1)));
                  if(L<=1) L=1;
                  end
                  if(L>=256) L=256;
                  end
                  if(M<=1) M=1;
                  end
                  if(M>=256) M=256;
                  end

                
                  data1(L,M)=data1(L,M)+256*(rand(1,1)-0.5);
            end
     end

    J=fft2(data1);K=fftshift(J);
    
   for m=1:256
       for n=1:256
            data(m,n)=K(m,n);
           
           disabs=sqrt((m-128)^2+(n-128)^2);
          
          %butterworth
          if TYPE==1 
              distance=1/(1+(D0/disabs)^2);
          end
          %tixing
          if TYPE==2 
              distance=(disabs-D0)/(D1-D0);
          end
          %gauss 
          if TYPE==3           
               distance=1-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)=1;
                 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 + -