stackmed.m

来自「是一本教科书的各个章节的源程序代码,适合初学数字图像的人」· M 代码 · 共 68 行

M
68
字号
% 读取原图像
a0=imread('bridge.bmp');
figure(1)
imshow(a0);

%加入高斯噪声
a1=imnoise(a0,'gaussian',0,0.5);
figure(2)
imshow(a1)

%直接进行中值滤波
a2=medfit2(a1);
figure(3)
imshow(a2)

c0=zeros(256);
c1=zeros(256);
c2=zeros(256);

%按照阈值为1进行阈值分解, 进行层叠形态滤波
for j=1:255
   b=a1;
   for i=1:65536
     if b(i)>=j
        b(i)=1;
     else 
      b(i)=0;
     end   
  end
  b=im2double(b);
  c0=c0+medfilt2(b);
end
figure(4)
imshow(c0);

%按照阈值为2进行阈值分解, 进行层叠形态滤波
for j=1:2:255
   b=a1;
   for i=1:65536
     if b(i)>=j
        b(i)=1;
     else 
      b(i)=0;
     end   
  end
  b=im2double(b);
  c1=c1+medfilt2(b);
end
figure(5)
imshow(c1);

%按照阈值为8进行阈值分解, 进行层叠形态滤波
for j=1:8:255
   b=a1;
   for i=1:65536
     if b(i)>=j
        b(i)=1;
     else 
      b(i)=0;
     end   
  end
  b=im2double(b);
  c2=c2+medfilt2(b);
end
figure(6)
imshow(c2);

⌨️ 快捷键说明

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