精选优质文档-----倾情为你奉上OTSU算法代码:I=imread(****);th=graythresh(I);J=im2bw(I,th);subplot(121)imshow(I);subplot(122)imshow(J);Bernsen算法代码:clc;clear allclose allI=imread(****);[m,n] = size(I);I_gray=double(I);T=zeros(m,n);M=3;N=3;for i=M+1:m-Mfor j=N+1:n-N max=1;min=255; for k=i-M:i+M for l=j-N:j+N if I_gray(k,l)>max max=I_gray(k,l); end if I_gray(k,l)T(i,j) I_bw(i,j)=255; else I_bw(i,j)=0; endendendsubplot(121),imshow(I);subplot(122),imshow(I_bw);改进的Bernsen算法代码:clc;clear allclose allI=imread(****);I_gray=double(I);[m,n] = size(I);a=0.3;A=0;T1=0;S=0;for i=1:m for j=1:n A=A+I_gray(i,j) ; endendA=A*0.9;while(Smax max=I_gray(k,l); end if I_gray(k,l)(1+a)*T1 I_bw(i,j)=255; end if I_gray(i,j)<(1-a)*T1 I_bw(i,j)=0; end if (1-a)*T1<=I_gray(i,j)<=(1-a)*T1 if T3(i,j)>a*T1 if I_gray(i,j)>=T4(i,j) I_bw(i,j)=255; else I_bw(i,j)=0; end else if I_gray(i,j)>=T5(i,j) I_bw(i,j)=255; else I_bw(i,j)=0; end end endendendsubplot(121),imshow(I);subplot(122),imshow(I_bw);专心---专注---专业。