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);