《灰度图像二值化方法matlab代码(共4页).doc》由会员分享,可在线阅读,更多相关《灰度图像二值化方法matlab代码(共4页).doc(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上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
2、_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
3、(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)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);专心-专注-专业