《灰图像二值化方法matlab代码计算机matlab计算机matlab.pdf》由会员分享,可在线阅读,更多相关《灰图像二值化方法matlab代码计算机matlab计算机matlab.pdf(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、OTSU算法代码:I=imread(*);th=graythresh(I);J=im2bw(I,th);subplot(121)imshow(I);subplot(122)imshow(J);Bernsen 算法代码:clc;clear all close all I=imread(*);m,n=size(I);I_gray=double(I);T=zeros(m,n);M=3;N=3;for i=M+1:m-M for 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);e
2、nd if I_gray(k,l)T(i,j)I_bw(i,j)=255;else I_bw(i,j)=0;end end end subplot(121),imshow(I);subplot(122),imshow(I_bw);改进的 Bernsen 算法代码:clc;clear all close all I=imread(*);I_gray=double(I);m,n=size(I);a=;A=0;T1=0;S=0;for i=1:m for j=1:n A=A+I_gray(i,j);end end A=A*;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)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 end end end subplot(121),imshow(I);subplot(122),imshow(I_bw);