基于局部统计可变阈值的图像分割

基于局部统计可变阈值的图像分割

  1. 灰度图上进行
  2. 每个像素点处设一个阈值
  3. 领域
  4. 一般使用领域内标准差,标准差表示对比度
  5. 全局平均还是领域平均看情况自己选择
  6. 求标准差、均值前一定要图像转换为float类型,tofloat不是matlab内置函数,需要自己添加
  7. 分割结果图均为二值图像

使用默认8领域

%默认8领域
I=imread('F:\20191214162428.jpg');
I1=rgb2gray(I);
I1=tofloat(I1);
I2=stdfilt(I1);
figure,imshow(I2);
m=imfilter(I1,1/9*ones(3),'replicate');
m2=mean2(I1);
I3=(I1>15*I2)&(I1>0.4*m);
figure,imshow(I3);

function [out,revertclass] = tofloat(inputimage)

% 类型转换
% 单纯的取 x 用的匿名函数句柄(玩的有点花)
identify = @(x) x;
% 将输入转换为单精度的函数句柄
tosingle = @im2single;

table = {'uint8',tosingle,@im2uint8 

         'uint16',tosingle,@im2uint16 

         'logical',tosingle,@logical

         'double',identify,identify

         'single',identify,identify};
% strcmp(s1,s2),输入字符串的数组可以说任意类型组合
% find 找出其中的真值
classIndex = find(strcmp(class(inputimage),table(:,1)));

if isempty(classIndex)

    error('不支持的图像类型');

end
% 找到对应的转换类型
out = table{classIndex,2}(inputimage);
% 记录对应逆转换类型
revertclass = table{classIndex,3};
end

原图:
基于局部统计可变阈值的图像分割_第1张图片
局部标准差图像:
基于局部统计可变阈值的图像分割_第2张图片
使用局部平均值的分割结果图:
基于局部统计可变阈值的图像分割_第3张图片
使用全局平均值的分割结果图:
基于局部统计可变阈值的图像分割_第4张图片
可见使用全局平均值的效果更好

使用自定义领域

%自定义领域
fil=[1,0,1,0,1;
    0,0,1,0,1;
    1,1,0,1,0;
    0,0,0,0,1;
    1,1,1,1,0];
I=imread('F:\20191214162428.jpg');
I1=rgb2gray(I);
I1=tofloat(I1);
I2=stdfilt(I1,fil);
figure,imshow(I2);
fil=fil/sum(fil(:));
m=imfilter(I1,fil,'replicate');
m2=mean2(I1);
I3=(I1>11*I2)&(I1>0.9*m);
figure,imshow(I3);

function [out,revertclass] = tofloat(inputimage)

% 类型转换
% 单纯的取 x 用的匿名函数句柄(玩的有点花)
identify = @(x) x;
% 将输入转换为单精度的函数句柄
tosingle = @im2single;

table = {'uint8',tosingle,@im2uint8 

         'uint16',tosingle,@im2uint16 

         'logical',tosingle,@logical

         'double',identify,identify

         'single',identify,identify};
% strcmp(s1,s2),输入字符串的数组可以说任意类型组合
% find 找出其中的真值
classIndex = find(strcmp(class(inputimage),table(:,1)));

if isempty(classIndex)

    error('不支持的图像类型');

end
% 找到对应的转换类型
out = table{classIndex,2}(inputimage);
% 记录对应逆转换类型
revertclass = table{classIndex,3};
end

分割结果图
基于局部统计可变阈值的图像分割_第5张图片
基于局部统计可变阈值的图像分割_第6张图片
基于局部统计可变阈值的图像分割_第7张图片
基于局部统计可变阈值的图像分割_第8张图片

你可能感兴趣的:(基于局部统计可变阈值的图像分割)