• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: Matlab
  • 标签: 阈值  分割  

资源简介

MATLAB 写的自动多阈值分割程序,可以执行,希望对大家有帮助。

资源截图

代码片段和文件信息

function  [immn]=autosmooth(im)
% im=imread(‘rice.tif‘);
% im=imnoise(a‘gaussian‘00.005);
% a=imread(‘mytu.tif‘);
% im=rgb2gray(a);
H=imhist(im);
for i=1:255
    u(i)=H(i+1)-H(i); %求差分曲线
end
k=1;
for i=1:254         %找出差分曲线由负到正的过零点的位置(谷底位置)
    if u(i)<0
        if u(i+1)<0      
            i=i+1;
        elseif u(i+1)>0
               d(k)=i+0.5;                
               k=k+1;
        elseif u(i+1)==0
               for j=1:50
                   if (i+j<255&u(i+j)==0&u(i+j+1)>0)                      
                       d(k)=i+0.5*j+0.5;                
                       k=k+1;
                       break;
                   else 
                       break;
                   end
               end
           end
       end
  end
  for i=1:k-2
      D(i)=d(i+1)-d(i);     %求各小峰的峰宽
  end
  dd=uint8(D);
  Hh=imhist(dd);            %统计峰宽度的直方图
  DD=find(Hh);            
  kd=size(DD);
  n=round(0.7*kd(1));        %求出平滑窗口的尺寸
  imm=wiener2(im[nn]);    %平滑原始直方图
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1096  2008-09-30 09:39  自动多阈值分割\autosmooth.m

     文件       3944  2005-10-22 09:07  自动多阈值分割\auto_thresh.m

     目录          0  2006-01-09 10:32  自动多阈值分割

----------- ---------  ---------- -----  ----

                 5040                    3


评论

共有 条评论