阈值分割算子之OSTU算法

1、原理参考:https://www.cnblogs.com/guopengfei/p/4759569.html

2、公式推导:

3、同halcon的binary_threshold (Image, Region, ‘max_separability‘, ‘light‘, UsedThreshold3)算子。

具体推导如下:

 gray_histo (Region, Image, AbsoluteHisto, RelativeHisto)
 nAveragray:=0
 for Index := 0 to 255 by 1
     nAveragray:=nAveragray+RelativeHisto[Index]*Index
 endfor
 wk:=0.0
 uk:=0.0
 MaxDiff:=0.0
 Diff:=0.0
 AutoThre:=0

 for Index := 0 to 255 by 1
     wk:=wk+RelativeHisto[Index]
     uk:=uk+RelativeHisto[Index]*Index
     if(wk<=0.0 or wk>=1.0)
          Diff:=0
     else
          Diff:=(nAveragray*wk-uk)*(nAveragray*wk-uk )/(wk*(1-wk))
     endif
     if(Diff>MaxDiff)
           MaxDiff:=Diff
           AutoThre:=Index
     endif
 endfor

  

原文地址:https://www.cnblogs.com/baiyy-daheng/p/11421537.html

时间: 2024-08-01 12:46:01

阈值分割算子之OSTU算法的相关文章

Halcon阈值化算子dual_threshold和var_threshold的理解

Halcon中阈值二值化的算子众多,通常用得最多的有threshold.binary_threshold.dyn_threshold等. threshold是最简单的阈值分割算子,理解最为简单:binary_threshold是自动阈值算子,它可以自动选出暗(dark)的区域,或者自动选出亮(light)的区域,理解起来也没有难度. 动态阈值算子dyn_threshold理解起来稍微复杂一点,使用dyn_threshold算子的步骤基本是这样的: ① 将原图进行滤波模糊处理. ② 用原图和模糊后

阈值分割与XLD轮廓拼接——第4讲

一.阈值分割 阈值分割算子众多: threshold :这是最基本最简单的阈值算子. binary_threshold :它是自动阈值算子,自动选出暗(dark)的区域,或者自动选出亮(light)的区域,理解起来并没有难度. dyn_threshold :该算子和dual_threshold和var_threshold的理解参考下文链接. Halcon阈值化算子dual_threshold和var_threshold的理解 动态阈值需要一张模糊的图片做对比,因此需要预处理图像的算子: thre

【图像算法】七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)

图像算法:图像阈值分割 SkySeraph Dec 21st 2010  HQU Email:[email protected]    QQ:452728574 Latest Modified Date:Dec.21st 2010 HQU 一.工具:VC+OpenCV 二.语言:C++ 三.原理(略) 四.程序 主程序(核心部分)  代码 1 /*===============================图像分割=====================================*/2

灰度图像的自动阈值分割(Otsu 法)

灰度图像的自动阈值分割(Otsu 法) 机器视觉领域许多算法都要求先对图像进行二值化.这种二值化操作阈值的选取非常重要.阈值选取的不合适,可能得到的结果就毫无用处.今天就来讲讲一种自动计算阈值的方法.这种方法被称之为Otsu法.发明人是个日本人,叫做Nobuyuki Otsu (大津展之). 简单的说,这种算法假设一副图像由前景色和背景色组成,通过统计学的方法来选取一个阈值,使得这个阈值可以将前景色和背景色尽可能的分开.或者更准确的说是在某种判据下最优.与数理统计领域的 fisher 线性判别算

灰度图像的自动阈值分割(Otsu 法)(转载)

灰度图像的自动阈值分割(Otsu 法) 机器视觉领域许多算法都要求先对图像进行二值化.这种二值化操作阈值的选取非常重要.阈值选取的不合适,可能得到的结果就毫无用处.今天就来讲讲一种自动计算阈值的方法.这种方法被称之为Otsu法.发明人是个日本人,叫做Nobuyuki Otsu (大津展之). 简单的说,这种算法假设一副图像由前景色和背景色组成,通过统计学的方法来选取一个阈值,使得这个阈值可以将前景色和背景色尽可能的分开.或者更准确的说是在某种判据下最优.与数理统计领域的 fisher 线性判别算

关于阀值 &amp;&amp; OSTU算法

photoshop中的解释:阈值”命令将灰度或彩色图像转换为高对比度的黑白图像.可以指定某个色阶作为阈值.所有比阈值亮的像素转换为白色:而所有比阈值暗的像素转换为黑色.“阈值”命令对确定图像的最亮和最暗区域很有用. 如果图像的像素等于阀值时怎么处理呢? 如果是普通图片,怎么处理都不怎么影响,可当图片是二值化之后的,会怎么样呢?传一张全白的怎么样呢? 这可能存在的隐形问题如果没考虑到,会有出乎意料的结果. int otsuThreshold(int *data, int size)//buf里保存

七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)

转自:http://blog.csdn.net/xw20084898/article/details/17564957 一.工具:VC+OpenCV 二.语言:C++ 三.原理 otsu法(最大类间方差法,有时也称之为大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找一个合适的灰度级别 来划分. 所以 可以在二值化的时候 采用otsu算法来自动选取阈值进行二值化.otsu算法被认为是图像分割中阈值选

红外目标图像中阈值分割方法的比较与研究

红外目标图像中阈值分割方法的比较与研究   摘要:本文主要以红外图像目标检测技术为背景,在图像阈值分割中以最大熵准则及遗传算法为基础,研究了一维最大熵值法(KSW法)及基于遗传算法的KSW熵法单阈值.双阈值等三种不同的阈值分割方法,并通过实验仿真验证了它们的性能及差异.实验结果表明:基于遗传算法的KSW熵法的双阈值分割方法,可以用于红外型目标检测系统中,并取得良好效果,为了验证其是否具有普适性,在其它科学领域如:沿海码头等方向也做了相应的仿真实验,结果较为满意. 关键词:红外目标检测:阈值分割:

OpenCV中通过滑动条阈值分割多通道图像

1.阈值分割 阈值分割法是一种基于区域的图像分割技术.其基本原理是:通过设定不同的特征阈值,把图像象素点分为若干类.根据图像阈值化算法所依据的信息源,可将阈值化方法分为五类:1) 基于聚类的方法:数据聚类中,总的数据集被划分为属性相似的子类,例如将灰度级聚类成为两部分:前景物体部分和背景部分.2) 基于直方图的方法:在直方图的峰.谷和直方图的圆滑曲线上进行分析.3) 基于熵的方法:熵方法将区域分为背景区域和前景区域,前景区域通常是物体部分(在一些热红外图像中,背景部分是物体) .该方法是通过最小