www.gusucode.com > 大津法图像分割matlab源码程序 > 大津法图像分割matlab源码程序/main.m
其中x为图像的灰度矩阵 x=round(CIa) [m,n]=size(x); N=m*n; num=zeros(1,256); p=zeros(1,256); for i=1:m for j=1:n num(x(i,j)+1)=num(x(i,j)+1)+1; end end for i=0:255; p(i+1)=num(i+1)/N; end totalmean=0; for i=0:255; totalmean=totalmean+i*p(i+1); end maxvar=0; for k=0:255 kk=k+1; zerosth=sum(p(1:kk)); firsth=0; for h=0:k firsth=firsth+h*p(h+1); end var=totalmean*zerosth-firsth; var=var*var; var=var/(zerosth*(1-zerosth)+0.01); var=sqrt(var); if(var>maxvar) maxvar=var; point=k; end end threshold=point; z=zeros(760,288) for i=1:760 for j=1:288 if CIa(i,j)>=threshold z(i,j)=1; else z(i,j)=0; end end end imshow(z)