文档库 最新最全的文档下载
当前位置:文档库 › Matlab基于全局阈值处理的图像二值分割程序

Matlab基于全局阈值处理的图像二值分割程序

自己写的一个Matlab基于全局阈值处理的图像二值分割程序
希望对新手有些帮助。
I=imread('cameraman.tif');%读入原始图像
T=0.5*(double(min(I(:)))+double(max(I(:))));%设置初始阈值为最大灰度和最小灰度值和的一半
done=false;
while ~done
g=I>=T;%分成两组像素,灰度值大于或者等于T的和灰度值小于T的
Tnext=0.5*(mean(I(g))+mean(I(~g)));%新阈值两个范围内像素平均值和的一半
done=abs(T-Tnext)<0.5; %0.5是自己指定的参数
T=Tnext;
end
%以下程序就是根据上面确定的阈值进行图像二值分割
J=I;
K=find(J>=T);
J(K)=255;
K=find(JJ(K)=0;
figure;
subplot(1,2,1),imshow(I),title('原始图像');
subplot(1,2,2),imshow(J),title('分割后图像');

相关文档
相关文档 最新文档