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

📄 iteration.m

📁 用matlab编写的一种依赖坐标的图像分割方法
💻 M
字号:
function TT=iteration(imm)   
%迭代法阈值计算
% im=imread('rice.tif');
count=imhist(imm);
zl=min(min(imm));
zk=max(max(imm));
zl=double(zl);
zk=double(zk);
T(1)=(zl+zk)/2;
% T(1)=128;
T(1)=round(T(1));
for k=1:6
     n1=sum(count(1:T(k)));%第一类中象素总数
     n2=sum(count(T(k)+1:256));%第二类中象素总数
     sum1=0;sum2=0;
     for i=1:T(k)
         sum1=sum1+count(i)*i; %第一类灰度值总和
     end
     for i=T(k)+1:256
         sum2=sum2+count(i)*i;%第二类灰度值总和
     end
     ua1=sum1/n1;   %第一类的平均灰度值
     ua2=sum2/n2;   %第二类的平均灰度值
    T(k+1)=(ua1+ua2)/2;
    T(k+1)=round(T(k+1));     %四舍五入
    if T(k+1)==T(k)
        break;
    end
end
if T(k+1)==T(k);
    TT=T(k+1);
else
    TT=0;
%     disp('不是双峰图像');   
end

    
    
    
% k=1;
% while k<=5
%      n1=sum(count(1:T(k)));%第一类中象素总数
%      n2=sum(count(T(k)+1:256));%第二类中象素总数
%      sum1=0;sum2=0;
%      for i=1:T(k)
%          sum1=sum1+count(i)*i; %第一类灰度值总和
%      end
%      for i=T(k)+1:256
%          sum2=sum2+count(i)*i;%第二类灰度值总和
%      end
%      ua1=sum1/n1;   %第一类的平均灰度值
%      ua2=sum2/n2;   %第二类的平均灰度值
%     T(k+1)=(ua1+ua2)/2;
%     T(k+1)=round(T(k+1));     %四舍五入
%     if T(k+1)==T(k)
%         break;
%     else
%         k=k+1;
%     end
% end
% if T(k+1)==T(k);
%     TT=T(k+1);
% else
%     TT=0;
% %     disp('不是双峰图像');   
% end

⌨️ 快捷键说明

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