图像分割——迭代式阈值分割

1、算法步骤:

(1)预定义两阈值之差dt

(2)选定初始阈值T0(一般为图像的平均灰度)

(3)用T分割图像为G1、G2两组,G1由灰度值大于T的所有像素组成,G2由灰度值小于等于T的所有像素组成。

(4)对G1和G2的像素分别计算平均灰度值m1,m2。

(5)计算出新的阈值:T1=(m1+m2)/2

(6)重复步骤3到步骤5,直到连续迭代中的阈值之间的差小于预定义的阈值差dt为止。

2、代码如下:

close all;clear all;clc;  %关闭所有图形窗口,清除工作空间所有变量,清空命令行
I=imread('cameraman.tif');
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);  %把图像转换为二值图,进行阈值分割
set(0,'defaultFigurePosition',[100,100,1000,500]);
set(0,'defaultFigureColor',[1 1 1]);
figure(1);
subplot(121),imshow(I);       
subplot(122),imshow(J);









3、运行效果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值