www.pudn.com > AThreshold2.rar > AThreshold2.m


function index=AThreshold2(I) 
%類間最大距離法 
%初始值 
I_gray=imhist(I); %取得灰階資訊 
[H,W]=size(I); %取得影像大小 
exp1=[0]; %左邊標準差 
exp2=[0]; %右邊標準差 
N1=[0]; %左邊像數點 
N2=[0]; %右邊像數點 
S=[0]; %相對距離度量值 
%類間最大距離法 
for i=1:256 
    N1=1; %初始左邊像數點(初值為1避免分母為0) 
    exp1=0; %初始標準差 
    for j=1:i 
        exp1=exp1+(j-1)*I_gray(j); 
        N1=N1+I_gray(j); 
    end 
    exp1=exp1/N1; %計算左邊標準差 
     
    N2=1; %初始右邊像數點(初值為1避免分母為0) 
    exp2=0; %初始標準差 
    for k=i:256 
        exp2=exp2+(k-1)*I_gray(k); 
        N2=N2+I_gray(k); 
    end 
    exp2=exp2/N2; %計算右邊標準差 
     
    S(i)=((exp2-i)*(i-exp1))/((exp1-exp2).^2); %相對距離度量值 
end 
[value,index]=max(S); %找出S最大值以及二值化值(指標) 
figure(30),plot(S);