常见的图像二值化算法大致可分为全局阈值方法与局部阈值方法这两种类型。全局方法就是一个阈值,像素值大于此值的为1,小于此值的为0。局部方法就是对每一个像素求阈值,大于此值为1,小于此值为0。其中OTSU算法是全局阈值的代表,而Sauvola算法则是局部阈值方法的标杆。Otsu(大津法),相关介绍很多,这里不做介绍。重点介绍局部阈值分割算法.

1. Bersen算法原理

1) 先人为设定两个值S与TT(Bemsen最初设S为15,TT设为128);

2)计算以图像中任意像素尸为中心的大小为k×k窗口内的所有像素的最大值M与最小值N,两者的均值T,

如果M-N大于S,则当前P的阈值为T;

若小于S,则表示该窗口所在区域灰度级灰度级差别较小,那么窗口在目标区或在背景区;

3)再判断T与TT的关系,若T>TT则当前点灰度值为255,否则当前点灰度值为0。

缺点:耗时大.

2. Niblack算法

T是阈值,m是图像邻域窗口的均值,s是邻域窗口的标准差,K是预先设定的修正值。

Niblack根据以像素点为中心的邻域内的点的情况为此像素计算阈值.

Niblack法的优点:

对每一个像素点都独立的跟据此像素点的邻域的情况来计算门限,对于和邻域均值m(x,y)相近的像素点判断为背景而反之判断为前景;而具体相近到什么程度由标准差s(X’y)和修正系数k来决定,这保证了这种的方法的灵活性。

Niblack法的不足:

由于要利用域r×r模板遍历图像,导致边界区域(r-1)/2的像素范围内无法求取阈值;同时当进行图像遍历时,如果域r×r范围内都是背景,经NIBLACK计算后必有一部分被确定为目标,产生伪噪声。

总之,用Niblack方法进行图像分割时,选择的处理模板窗口R*R大小的选择很关键,选择的空间太小,则噪声抑制的效果不理想,目标主体不够突出,选择的空间太大,则目标的细节会被去除而丢失信息。

3. Sauvola算法

Sauvola算法的输入是灰度图像,它以当前像素点为中心,根据当前像素点邻域内的灰度均值与标准方差来动态计算该像素点的阈值。

假定当前像素点的坐标为(x,y),以该点为中心的领域为r*r,g(x,y)表示(x,y)处的灰度值,Sauvola算法的步骤为:

参考:https://livezingy.com/derivations-of-sauvola-formula/

otsu阈值分割算法原理_局部阈值分割算法总结相关推荐

  1. 人工神经网络的算法原理,最简单的神经网络算法

    神经网络算法原理 一共有四种算法及原理,如下所示:1.自适应谐振理论(ART)网络自适应谐振理论(ART)网络具有不同的方案.一个ART-1网络含有两层一个输入层和一个输出层. 这两层完全互连,该连接 ...

  2. 先来先服务算法代码_一致性哈希算法编写

    今天我想先给大家科普下一致性哈希算法这块,因为我下一篇文章关于缓存的高可用需要用到这个,但是又不能直接在里面写太多的代码以及关于一致性hash原理的解读,这样会失去对于缓存高可用的理解而且会造成文章很 ...

  3. ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)(三)

    本文为:ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)第三篇 深度优先算法(DFS)和广度优先算法(BFS):DFS 和 BFS 在 ES 中的应用(一) 深度优先算法(DF ...

  4. ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)(一)

    本文为 ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)第一篇 深度优先算法(DFS)和广度优先算法(BFS):DFS 和 BFS 在 ES 中的应用(一) 深度优先算法(DF ...

  5. otsu阈值分割算法原理_大津法---OTSU算法

    简介: 大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出.从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景 ...

  6. otsu阈值分割算法原理_大津二值化算法OTSU的理解

    otsu 大津算法介绍: OTSU算法是由日本学者OTSU于1979年提出的一种对图像进行二值化的高效算法. 利用阈值将原图像分成前景,背景两个图象. 前景:用n1,csum,m1来表示在当前阈值下的 ...

  7. 连通域最小外接矩形算法原理_基于分割的文本检测算法之PSENet/PAN/DBNet

    1. 文本检测难点 文本内包含文本,艺术字体,任意方向 ,曲线文字 ,多语言,其他环境因素等是文本检测中的难点 2. 分割 问题1: 语义分割模型是对pixel进行分类,所以理论上讲,可以检测不规则的 ...

  8. 深度学习算法原理_用于对象检测的深度学习算法的基本原理

    深度学习算法原理 You just got a new drone and you want it to be super smart! Maybe it should detect whether ...

  9. xgboost算法原理_从XGB到SecureBoost:看联邦学习XGB的算法原理

    摘要: 最近与某厂完成基于FATE的联邦学习框架的一个项目,第一次实践了一把联邦学习在实际业务场景中的应用,从模型评估结果来看,效果还不错.因此,本文将完成对于其中实现的提升算法SecureBoost ...

  10. dijkstra算法原理_这 10 大基础算法,程序员必知必会!

    来源:博客园原文地址:http://kb.cnblogs.com/page/210687/算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序n个项目要Ο(nlogn)次 ...

最新文章

  1. 菲尔兹奖数学家丘成桐:人工智能中的数学理论尚无很大突破
  2. [内部项目]i前端如何增加一个页面
  3. 零起点学算法 3个数比较大小
  4. python读取字典元素笔记_python学习笔记:字典的使用示例详解
  5. Java GC系列(4):垃圾回收监视和分析
  6. WPF框架剖析,从头开始自己写WPF框架
  7. adc0808模数转换实验报告_模数转换ADC0832、ADC0808和ADC0809的利用
  8. 本地如何使用oracle数据库,使用sqlplus连接oracle本地数据库的方式
  9. 网马(原理)及制作全过程
  10. 数据库异常用户sa登录失败_Sa登录失败
  11. ESLint Prettier
  12. 一文读懂自动驾驶传感器之激光雷达、毫米波雷达、超声波雷达及摄像头
  13. TOLUA的文件结构
  14. 福特汉姆计算机专业,福特汉姆大学计算机
  15. 视觉SLAM——特征点法与直接法对比以及主流开源方案对比 LSD SVO ORB DSO
  16. 【转】【Books】程序员必读的30本书籍
  17. 为什么评论会被折叠?
  18. leetcode刷题记录2:进度64, 2021.10.23
  19. 短视频源码,成品短视频app源码搭建第一步
  20. StarUML使用简明教程

热门文章

  1. 行政区划编码转换区域名工具类
  2. iOS 9 Safari广告拦截插件
  3. Firefox Focus 9.0 将新增广告拦截插件
  4. 开源视频处理工具Shotcut的用法: 剪切、合并、增加背景音乐、添加字幕、 插入视频、图片转视频并加背景音乐、制作电子相册
  5. 搭建SFTP服务器实现文件上传
  6. SNMP弱口令导致的网络入侵
  7. spoon新手入门教程
  8. matlab仿真元件,matlab电力系统仿真元件[高等教育]
  9. SCM供应链管理系统对更多行业未来
  10. Python实现基于模块的库存管理系统