迭代阈值分割算法(处理图像)

**1.算法原理简述**
       迭代法求取阈值进行图像分割:它的主要思想是:图像分割后的两部分A和B的均值和基本保持稳定。也就是说,随着迭代的进行,取 [mean(A)+mean(B)]/2 最终的收敛值作为分割阈值。其具体方法如下:
(1)选取一个初始阈值T;
(2)利用阈值T把给定图像分割成两组图像,记为R1和R2;
(3)计算R1和R2均值μ1和μ2;
(4)选择新的阈值T,且T=(μ1+μ2)/2;
(5)重复第(2)至(4)布,直到连续两次T的差值小于一个预设值为止。
**2.算法设计流程图(或难点分析)**
 


**3.算法设计代码与注释(迭代阈值分割算法)**

%读入图像,并进行灰度转换(迭代阈值分割算法)
A=imread('figerprint.jpg');
B=rgb2gray(A);
%初始化阈值
T=0.5*(double(min(B(:)))+double(max(B(:))));
d=false;
%通过迭代求最佳阈值
while~d
g=B>=T;
Tn=0.5*(mean(B(g))+mean(B(~g)));
d=abs(T-Tn)<0.5;
T=Tn;
end
% 根据最佳阈值进行图像分割
level=Tn/255;
BW=im2bw(B,level);
% 显示分割结果
subplot(121),imshow(A);title('Original');%显示原图
subplot(122),imshow(BW);title('Processed') ;%显示处理后的图像
%显示直方图
figure;
histogram(A);   
xlim([0 255]);


**4.实验结果与分析**

图1 指纹处理结果图

图2 指纹图像直方图

从图1中可以看出指纹图像进行处理之后的图像,其中Original标题的为指纹图像原图,Processed标题的图像为进行迭代阈值分割处理之后的图像。通过图像之间的对比,可以看出指纹周围的图像被分割处理成白色的,而指纹部分为黑色,从而分割成功。图2为指纹图像原图的直方图。
**5.结论与展望**
       为了提高收敛速度,初始阈值T的选择要稍微注意些。当目标与背景的面积相当时,可以将初始阈值T设置为整个图像的平均灰度值;当目标与背景的面积相差较大时,更好地选择是将初始阈值T设置为最大灰度值和最小灰度值的中间值。

 

  • 19
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
阈值分割算法是一种常用的图像分割方法,可以将图像分成两个部分:目标和背景。其中,灰度图像阈值分割算法和彩色图像阈值分割算法有所不同。 下面分别介绍灰度图像和彩色图像阈值分割算法。 1. 灰度图像阈值分割算法 步骤如下: (1)将灰度图像的像素点按照亮度大小进行排序。 (2)选择一个初始阈值T,将像素点分成两部分:小于等于T的像素点为目标部分,大于T的像素点为背景部分。 (3)分别计算目标部分和背景部分的平均灰度值:μ1和μ2。 (4)更新阈值T:T=(μ1+μ2)/2。 (5)重复步骤(2)~(4),直到阈值T的变化小于某个阈值ε。 (6)最终得到的阈值T将图像分成两个部分:目标和背景。 2. 彩色图像阈值分割算法 步骤如下: (1)将彩色图像转换为灰度图像。 (2)将灰度图像的像素点按照亮度大小进行排序。 (3)选择一个初始阈值T,将像素点分成两部分:小于等于T的像素点为目标部分,大于T的像素点为背景部分。 (4)分别计算目标部分和背景部分的平均颜色值:R1,G1,B1和R2,G2,B2。 (5)更新阈值T:T=(R1+G1+B1+R2+G2+B2)/6。 (6)重复步骤(3)~(5),直到阈值T的变化小于某个阈值ε。 (7)最终得到的阈值T将图像分成两个部分:目标和背景。 以上就是灰度图像和彩色图像阈值分割算法的实现过程。需要注意的是,选择初始阈值T的大小对分割结果影响很大,需要根据具体情况选择合适的初始阈值

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值