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)>dtT0=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、运行效果如下:

图像分割——迭代式阈值分割相关推荐

  1. 图像分割之最大熵阈值分割

    最大熵阈值分割法和OTSU算法类似,假设将图像分为背景和前景两个部分.熵代表信息量,图像信息量越大,熵就越大,最大熵算法就是找出一个最佳阈值使得背景与前景两个部分熵之和最大. 基本原理 频率和概率 直 ...

  2. 【MATLAB教程案例23】基于MATLAB图像分割算法仿真——阈值分割法、Otsu阈值分割法、K均值聚类分割法等

    FPGA教程目录 MATLAB教程目录 目录 1.软件版本 2.通过二值图实现图像分割 3.通过Otsu阈值分割实现图像分割

  3. 基于MATLAB改进Otsu阈值分割的车道线检测

    基于MATLAB改进Otsu阈值分割的车道线检测 摘要:在判断车道偏离以防止车辆碰撞等危害时,车道标线检测需要通过图像处理来进行,检测方法是否适用于各种背景环境条件以及检测的及时性至关重要传统的Ots ...

  4. 数字图像处理实验(六)|图像分割{阈值分割、直方图法、OTUS最大类间方差法(edge、im2dw、imfilter、imresize)、迭代阈值法、点检测}(附matlab实验代码和截图)

    文章目录 一.实验目的 二.实验原理 (一) 阈值分割 1. 直方图法 2.OTSU法(最大类间方差法)确定阈值 3. 迭代阈值法 4. 点检测 (二)边缘检测 三.实验内容 (一)阈值分割 1. 直 ...

  5. python图像分割动态域值_图像处理基本算法 动态阈值分割

    在图像处理时,受外界光线的干扰一般比较大,假如在阈值分割时采用固 定阈值,那么在环境改变时分割效果受影响极大,那么为了避免此影响就 必须采用动态阈值,自动求出合适的阈值进行分割. 本文的介绍几种主要的 ...

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

    **1.算法原理简述**        迭代法求取阈值进行图像分割:它的主要思想是:图像分割后的两部分A和B的均值和基本保持稳定.也就是说,随着迭代的进行,取 [mean(A)+mean(B)]/2 ...

  7. matlab中图像分割技术之二阈值分割

    1.直方图双峰法 2.最大类间方差法 3.迭代法 阈值化图像分割是一种最基本的图像分割方法,其基本原理就是选取一个或多个处于灰度图像范围之中的灰度阈值,然后将图像中各个像素的灰度值与阈值比较,并根据比 ...

  8. 图像分割__阈值分割

    阈值分割 为得到图像中的物体信息, 必须进行图像分割, 即提取图像中与感兴趣物体相对应的区域, 而其中最简单的分割算法是图像的阈值分割. 1. 全局阈值 使用过程中的五种阈值类型如上图所示 这种设定全 ...

  9. 7.2 Python图像处理之图像分割-单阈值分割

    7.2 Python图像处理之图像分割-单阈值分割 文章目录 7.2 Python图像处理之图像分割-单阈值分割 1 算法原理 2 代码 3 效果 1 算法原理 单阈值分割算法原理: 单阈值分割是指将 ...

最新文章

  1. 开源工具高效分析Java应用
  2. 软件工程之中期学习总结
  3. 【华为云技术分享】40%性能提升,华为云推出PostgreSQL 12 商用版
  4. springboot 统一异常处理
  5. JavaEE 微信支付
  6. Shell脚本学习-阶段五-MYSQL101条调优
  7. 【C#】通过正则表达式对TextBox进行校验
  8. 《圈圈教你玩USB》之 USB鼠标 描述符
  9. PowerShell入门简介
  10. qt实现视频播放器,基本功能都有,可以当毕设用
  11. AI编程 亚马逊 CodeWhisperer VS GitHub Copilot
  12. Android获取硬件设备详细信息
  13. 【Python服务生活系列--2】实现WPS Office付费功能 word转换纯图pdf
  14. 谷歌开源 ClusterFuzz,自动化查找并修复 bug
  15. Windows系统使用Procrun部署SpringBoot的JAR包
  16. android ubuntu网络,Android手机利用USB共享网络通过Ubuntu连接网络
  17. LG OnScreen Control 软件提示‘镜像显示器‘ BUG
  18. 安化云台山风景区——我心底的桃花源
  19. PDF如何编辑,怎么编辑PDF文件中的文字
  20. JSP的特点与工作流程

热门文章

  1. 论文浅尝 | BoxE:一种基于Box的知识图谱表示学习模型
  2. 论文浅尝 | 基于知识图谱中图卷积神经网络的推荐系统
  3. 肖仰华 | 知识图谱落地的基本原则与最佳实践
  4. 技术动态 | 知识可视化,连接和探究知识之间的联系!
  5. 看完这篇Linux基本的操作就会了
  6. Android官方开发文档Training系列课程中文版:通过NFC共享文件之从其它设备接收文件
  7. 推荐标星 100 K 的 GitHub 开源项目
  8. 【ACL2020】Relabel the Noise: Joint Extraction of Entities and Relations via Cooperative Multiagents
  9. 国科大prml14-独立于算法的机器学习(boosting/
  10. Python绘制图形之Matplotllib绘图