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

📄 gaussindenoisepcnn.m

📁 用matlab 实现耦合神经网络基本模型的算法代码3453534643诉讼
💻 M
字号:
clear;
Ik=imread('cameraman.tif');
%imagesc(I,[0 256]);
%colormap(gray);
I=double(Ik)./255;
subplot(2,2,1);
subimage(I);
II= imnoise(I,'Gaussian',0,0.004); 
%II= imnoise(I,'salt & pepper',0.5); 
subplot(2,2,2);

subimage(II);

 [m,n]=size(II);
 I1=double(II);

 af=0.1;vf=0.8;ae=0.8;ve=5.0;delta=8;
 W=[0.5 1 0.5;1 0 1;0.5 1.0 0.5];
 Y=zeros(m,n);F=Y;U=Y;E=Y;T=Y;mask=Y;
 

 E=ve.*ones(m,n);
 
%while(flag==1)
for i=1:20
     F=I1;
   % F=exp(-af)*F+vf*Y+I1;
     U=F;
     Y=double(U>E);
     for row=1:m
         for col=1:n
           if(Y(row,col)==1 & mask(row,col)==0)  
               T(row,col)=i; 
               mask(row,col)=1;
           end
         end
     end
      E=exp(-ae)*E;%+ve*Y;
 end

I2=I1;
I3=I1;
for i=2:m-1
    for j=2:n-1
          m(1)=I1(i-1,j-1);  m(2)=I1(i-1,j);  m(3)=I1(i-1,j+1);
         m(4)=I1(i,j-1);  m(5)=I1(i,j); m(6)=I1(i,j+1);
         m(7)=I1(i+1,j-1);  m(8)=I1(i+1,j);  m(9)=I1(i+1,j+1);
         d(1)=T(i-1,j-1);  d(2)=T(i-1,j);  d(3)=T(i-1,j+1);
         d(4)=T(i,j-1);  d(5)=T(i,j); d(6)=T(i,j+1);
         d(7)=T(i+1,j-1);  d(8)=T(i+1,j);  d(9)=T(i+1,j+1);
         sorted_d=sort(d);
         s=m(1)+m(2)+m(3)+m(4)+m(5)+m(6)+m(7)+m(8)+m(9);
         avg=s/9;
         if(T(i,j)==0) T(i,j)=21; end
        if(T(i,j)==d(1)&d(1)==d(2)&d(2)==d(3)&d(3)==d(4)&d(4)==d(5)&d(5)==d(6)&d(6)==d(7)&d(7)==d(8))
                sorted_m=sort(m);
                I3(i,j)=sorted_m(5);  
            %I3(i,j)=avg;    
         elseif(T(i,j)==sorted_d(5))
             I3(i,j)=I1(i,j);      
         elseif(T(i,j)==sorted_d(1))
             I3(i,j)=I1(i,j)-0.04;    
         elseif(T(i,j)==sorted_d(8))
                 I3(i,j)=I1(i,j)+0.04;      
             else
                 %中值滤波
                sorted_m=sort(m);
                I3(i,j)=sorted_m(5); 
           end        
          
  %中值滤波
          sorted_m=sort(m);
          I2(i,j)=sorted_m(5); 
     
     
          if( I3(i,j)>1)
              I3(i,j)=1;
          end
          if( I3(i,j)<0)
              I3(i,j)=0;
          end
      
    end
end

subplot(2,2,3);
subimage(I2);


subplot(2,2,4);
subimage(I3);



⌨️ 快捷键说明

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