图像全局阈值分割

全局阈值分割

  • 简介
  • matlab代码实现
  • 运行结果

简介

全局阈值分割方法在图像处理中应用比较多,它在整幅图像内采用固定的阈值分割图像。经典的阈值选取以灰度直方图为处理对象。根据阈值选择方法的不同,可以分为模态方法、迭代式阈值选择等方法。这些方法都是以图像的直方图为研究对象来确定分割的阈值的。常用代表算法有OTSU(大津法),迭代选择阈值。

matlab代码实现

%全局阈值分割
I=imread('test014.png'); %读取图片
I=im2double(I);
dt=0.01;        %预定义两阈值之差
T0=(min(min(I))+max(max(I)))/2; %初始阈值
G1=find(I>T0);  %分组G1
G2=find(I<=T0); %分组G2
m1=mean(I(G1)); %平均灰度值
m2=mean(I(G2));
T1=(m1+m2)/2;   %新阈值
while abs(T1-T0)>dt
    T0=T1;
    G1=find(I>T0);
    G2=find(I<=T0);
    T2=(mean(I(G1))+mean(I(G2)))/2;
end
J=im2bw(I,T1);  %把图像转换为二值图,进行阈值分割
figure(1);
subplot(131),imshow(I); title('原始图像');      
subplot(132),imshow(J);title('迭代法全局阈值分割');
%Otus大津法
level=graythresh(I);
BW=im2bw(I,level);
subplot(133);
imshow(BW);
title('Otus法阈值选择');

运行结果

图像全局阈值分割_第1张图片

你可能感兴趣的:(计算机视觉,算法)