图像二值化-局部阈值方法汇总

概述:

在图像处理中二值图像处理与分析是图像处理的重要分支,图像二值分割尤为重要,有时候基于全局阈值自动分割的方法并不能准确的将背景和对象二值化,这个时候就需要使用局部的二值化方法。常见的图像二值化局部自动阈值的方法有九种,在ImageJ的分支Fiji中已经全部实现,OpenCV中自适应阈值方法也实现了局部阈值的均值法与高斯均值法算法。对于二值图像常见的表示还可以1 - 表示对象,0-表示背景。

运行与各种方法介绍:

首先看一下ImageJ种九种二值化方法的运行演示:

原图

对应基于各种局部二值化方法运行结果:

Bernsen

实现了Bernsen算法,ImageJ中的代码实现是基于圆形的掩膜而不是标准算法中的矩形掩膜。最初输入的对比度阈值(Contrast Threshold)为T=15,第二个参数在ImageJ的代码实现中没有用到。对矩形或者圆形窗口内的所有像素值根据最大值与最小值得到局部对比度Local Contrast = (Max - Min)跟给定输入参数Contrast Threshold做如下比较:

这样就实现了每个像素点的二值化赋值,从而得到最终的二值图像。

Contrast

基于对比度二值化方法,根据局部像素块最大值与最小值决定中心像素是否设为对象像素或者背景像素。

Mean

均值法,选择的阈值是局部像素的灰度均值(gray mean),该方法的一个变种是用常量C减去均值Mean,然后根据均值实现如下操作:

其中默认情况下参数C取值为0。均值法在OpenCV中的局部阈值方法中有两种实现,一种是普通均值,另外一种是基于高斯的权重均值方法。

Median

中间值法,选择的阈值是局部范围内像素的灰度中值,同样该方法也可以使用常量C来进行阈值调节。实现的操作如下:

MidGrey

中值法,选择的是局部范围内像素的最大与最小值之和的一半作为阈值。同样可以通过常量C来调节阈值大小

NiBlack

计算局部范围内像素的均值与方差之后,根据如下公式计算阈值

其中K的默认取值为0.2,如果取-0.2将会得到比较暗的二值图像

Otsu

该方法前面有一篇文章已经专门见过,感兴趣读者可以自己搜索【OpenCV学堂】相关文章即可得到!这里不再重复。OpenCV中也有基于Otsu的全局阈值实现。看这里即可《二值化算法OTSU源码解析

Phansalkar

该方法对低对比度的图像实现二值化比较管用,计算阈值的公式如下:

其中mean表示局部均值,stdev表示方差。其它几个参数的默认取值如下:

k= 0.25,

r = 0.5,

p = 2,

q = 10.

Sauvola

该方法是NiBlack方法的一个变种,此方法中计算阈值的公式如下:

其中参数k的默认取值为0.5

相关源代码可以从下面的链接中获取

https://github.com/fiji/Auto_Threshold

本文分享自微信公众号 - OpenCV学堂(CVSCHOOL)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-01-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信小驿站

机器学习识别乳腺癌

人工神经网络是一种类似于大脑神经突触连接的结构进行信息处理的数学模型,由大量的输入层节点、隐藏层节点和输出层节点连接构成。有关神经网络算法最核心的三个问题就是:...

14120
来自专栏文武兼修ing——机器学习与IC设计

基于sklearn的集成分类器理论代码实现

理论 集成模型 集成分类器模型是综合考虑多种机器学习模型的训练结果,做出分类决策的分类器模型 投票式:平行训练多种机器学习模型,每个模型的输出进行投票做出分类决...

46970
来自专栏决胜机器学习

机器学习(十七) ——SVM进一步认识

机器学习(十七)——SVM进一步认识 (原创内容,转载请注明来源,谢谢) 注:这两天边看ng的svm视频,边看机器学习实战的书的svm代码,两边都看的云里雾里...

34380
来自专栏深度学习与计算机视觉

理解图像卷积操作的意义

在图像处理领域,我们经常能听到滤波,卷积之类的词,其实他们都可以看做一种图像的卷积操作,相对应的卷积核,卷积模板,滤波器,滤波模板,扫描窗其实也都是同一个东西。...

78860
来自专栏生信小驿站

机器学习预测乳腺癌良恶性(1)(逻辑回归)

逻辑回归算法思想:逻辑回归(LogisticRegression)是当前机器学习算法比较常用的方法,可以用来回归分析,也可以用来分类,主要是二分类问题。逻辑回归...

24830
来自专栏Pulsar-V

原-图像处理基础(二)图像的放大与缩小

最近邻插值法 ? 其中 size(g(x))代表图像像素矩阵列宽 size(g(y))代表图像像素矩阵行高 scale 代表缩放倍数 \begin{matr...

63870
来自专栏文武兼修ing——机器学习与IC设计

mxnet RNN简单剖析官方github教程部分代码

import mxnet as mx 官方github教程部分代码 网络生成 num_layers = 2 num_hidden = 256 stack = m...

41170
来自专栏机器学习养成记

Twitter情感分析CNN+word2vec(翻译)

Rickest Ricky 对Twitter内容做了一系列的文本分析处理,并把内容整理成博文发布到:https://medium.com/@rickykim78...

33710
来自专栏生信小驿站

R 集成算法③ 随机森林

按这种算法得到的随机森林中的每一棵都是很弱的,但是大家组合起来就很厉害了。我觉得可以这样比喻随机森林算法:每一棵决策树就是一个精通于某一个窄领域的专家,这样在随...

20440
来自专栏机器学习算法工程师

数据挖掘中的数据清洗方法大全

作者:章华燕 编辑:黄俊嘉 在数据挖掘领域,经常会遇到的情况是挖掘出来的特征数据存在各种异常情况,如数据缺失 、数据值异常 等。对于这些情况,如果不加以处理,那...

40750

扫码关注云+社区

领取腾讯云代金券