博客
关于我
图像二值化方法汇总
阅读量:530 次
发布时间:2019-03-09

本文共 1836 字,大约阅读时间需要 6 分钟。

图像二值化方法与阈值分割技术

图像二值化分割技术是图像处理中的核心任务之一,其基本目标是将灰度图像分割为前景和背景两部分。常见的二值化方法包括全局阈值法、局部阈值法、迭代方法以及基于直方图特性的各种阈值分割算法等。本文将从理论到实践,系统阐述图像二值化的主要方法及其应用场景。


一、常用二值化方法分类

二值化方法可以根据是否基于图像整体特性划分为以下几种:

  • 全局阈值法

    该方法通过分析图像整体特性,寻找最优阈值。常用的全局阈值法包括:

    • 大津法(OTSU)
    • OpenCV 简单阈值
    • 自适应阈值法
  • 局部阈值法

    该方法适用于复杂背景或目标物体较多的图像,常用的方法包括:

    • Niblack 阈值
    • Sauvola 阈值

  • 二、大津法:最大类间方差法

    大津法是图像二值化中最负盛的全局阈值分割算法,由日本学者大津于1979年提出。其核心思想是通过选择使得背景和前景类间方差最大的阈值来进行图像分割。

    原理

    图像灰度分布决定了类间方差大小。方差越大,说明两部分的差别越大。通过迭代选择使类间方差最大的阈值,能够最大限度地减少前景与背景的错分 probability。

    优点

    • 计算简单快速,不受光照和对比度影响。
    • 适用于大多数需要全局阈值分割的场景。

    缺点

    • 对图像噪声较为敏感。
    • 适用于单一目标的图像分割。
    • 当目标与背景大小悬殊时,类间方差函数可能呈现双峰或多峰,导致分割效果较差。

    应用

    大津法是求图像全局阈值的最佳方法,广泛应用于图像二值化分割中。


    三、常见的全局阈值法

  • OpenCV 简单阈值

    使用 cv2.threshold 函数,通过设定阈值值来实现二值化。

  • 自适应阈值法

    使用 cv2.adaptiveThreshold 函数,计算阈值时考虑图像本地均值或高斯均值。

    • 自适应均值法(mean_c):基于局部均值计算阈值。
    • 自适应高斯均值法(guassian_c):结合高斯滤波增强鲁棒性。
  • Otsu的二值化方法

    OpenCV 中直接使用 Otsu 阈值方法时,阈值设为 0 并指定 THRESH_OTSU 标志位。


  • 四、局部阈值法

  • Niblack 阈值法

    该方法基于目标区域的平均亮度和假设的偏差比例 k,通过窗口统计计算最佳阈值。适用于有明显目标物体的图像。

  • Sauvola 阈值法

    基于均值和标准差的融合计算阈值,特别适用于复杂背景和小目标的图像分割。

  • IntegralThreshold 法

    该方法结合直方图的积分特性,通过平滑直方图后选择二值化阈值,显示良好的鲁棒性。


  • 五、迭代方法

    迭代方法通过假设当前阈值并进行图像分割,计算各分区的均值或统计量,逐步优化阈值。常用方法包括:

  • Huang 阈值分割法

    基于论文《ImageThresholding By minimizing the measure of fuzziness》,通过最小化模糊度函数来选择阈值。

  • InterModes 阈值法

    假设直方图是双峰分布的,通过平滑滤波后选择两峰的中值作为阈值。

  • IsoData 阈值法

    该方法基于 Ridler-Calvard 算法,通过迭代计算阈值,直到阈值与复合均值一致。

  • Moments 阈值法

    基于 Tsai 的论文《Moment-preserving thresholding: a new approach》,通过最小化前景和背景的高阶矩误差来选择阈值。

  • Yen 阈值法

    基于直方图的最大相关条件,通过优化直方图的相关性来选择阈值。


  • 六、最大熵值分割

    最大熵阈值分割是首选方法之一,其核心思想是选择使得图像直方图熵最大化的阈值。

    • 散度越大,熵越大,表示图像信息越丰富。
    • 通常选择二峰直方图时,该方法表现优异。

    七、其他常用方法

  • 均值方法分割

    计算图像所有像素的均值作为阈值,简单且高效。

  • MinError 方法

    基于 Kittler-Illingworth 算法,通过迭代最小化前景和背景的误差来选择阈值。

  • Triangle 方法

    基于直方图的三角装配,选择最大距离对应的灰度值作为阈值。

  • Percentile 方法

    假设前景像素为 ptile(通常为 50%),通过迭代找到最优阈值。


  • 八、总结

    图像二值化分割是图像处理中的核心任务之一,选择合适的二值化方法对图像分析结果至关重要。不同方法有不同的应用场景,例如大津法适用于全局二值化,Niblack 法适用于目标检测,最大熵值分割适用于复杂背景图像。

    学习和实践这些方法有助于提升图像处理项目的效果。

    转载地址:http://iqqiz.baihongyu.com/

    你可能感兴趣的文章
    痞子衡嵌入式:极易上手的可视化wxPython GUI构建工具(wxFormBuilder)
    查看>>
    痞子衡嵌入式:微处理器CPU性能测试基准(Dhrystone)
    查看>>
    痞子衡嵌入式:语音处理工具pzh-speech诞生记(2)- 界面构建(wxFormBuilder3.8.0)
    查看>>
    痞子衡嵌入式:我当选了2019年度官方论坛i.MXRT板块的顶级贡献者
    查看>>
    痞子衡嵌入式:盘点国内RISC-V内核MCU厂商(2020年发布产品)
    查看>>
    痞子衡嵌入式:分享一个i.MXRT系列配套DRAM压力测试上位机工具(i.MXRT DRAM Tester)...
    查看>>
    Mysql-缓存
    查看>>
    09-【继承、抽象类】
    查看>>
    25-【JDBC】
    查看>>
    Struts2-从值栈获取list集合数据(三种方式)
    查看>>
    LeetCode 两数之和
    查看>>
    98-对选择排序算法的实现和分析
    查看>>
    101-浅谈指针
    查看>>
    134-C++学习第八弹(重载)
    查看>>
    154-删除链表中重复元素(只保留出现一次的元素)
    查看>>
    254-Redis(关于hiredis)
    查看>>
    286-Go语言的操作符
    查看>>
    LeetCode刷题记录12——232. Implement Queue using Stacks(easy)
    查看>>
    nginx刷新出现nginx404
    查看>>
    PAT
    查看>>