区别如下:
Niblack算法是通过某一像素点及其邻域内像素点灰度值的均值和标准差计算得到二值化阈值的。在计算图像点(x,y)二值化阈值时,首先计算以(x,y)为中心的n*n大小的区域内像素点的灰度均值m和标准差s。灰度均值m和标准差s的计算公式如下:
然后根据灰度均值和标准差计算得到点(x,y)的二值化阈值T,计算公式为T(x,y)=k*s(x,y)+m(x,y),其中k为修正系数。最后根据计算得到的阈值T对该点进行二值化处理。将图像中所有的像素点按照此方法处理即可得到二值化图像。
虽然能够实现图像的二值化,但是如果选取的区域均为背景点时,该算法会将灰度值较高的点当做是目标点,导致伪噪声的引入(针对伪噪声引入的问题,产生了Sauvola算法)。此处说明一下Sauvola算法。Sauvola算法可以说是一种改进的Niblack算法。首先也是按照上文所述方式求取灰度均值和标准差,但是采用了不同的阈值选取方法。
盲猜是图像二值化处理的问题。
首先说结论:otsu法和threshold并不是一类东西,没法说有什么区别。otsu法是得出threshold的一个算法。
一个灰度图像,每个像素的灰度值都是一个字节,8位,也就是0~255。数越大颜色越浅,越小颜色越深,0是黑色,255是白色。
二值化图像也就是只有黑和白两种颜色,一般情况下0是黑,1是白。
将灰度图进行二值化处理时也就需要一个阈值,也就是threshold。小于这个阈值的数为0,这个点为黑色;大于这个阈值的数为1,这个点为白色。
所以图像二值化最根本的问题就在于怎么去选择这个阈值。
最简单的办法就是设定一个固定值,这是运算速度最快也是最弱智的方法。显然这种方法对环境光的要求比较高,如果整体环境的明暗发生变化,那么对设定的阈值也要重新整定。
所以需要找到一种能够自动计算出阈值的算法。这种算法有很多,OTSU法是其中用的比较多的一个方法。
OTSU法,中文叫大津法,是由日本学者大津展之提出的,因此以他的名字命名。大津法的根本思想是,首先通过聚类的方法将图像的灰度值分为前景和背景两类,再穷举所有像素点的灰度值,并计算出一个阈值使得类间方差最大,这样这个阈值就是一个理想的二值化阈值。大津法能够很好的适应图像的明暗度和对比度的变化。
大津法的具体算法可以参考这篇文章:网页链接。
Otsu算法:最大类间方差法(大津算法),是一种确定阈值的算法。
之所以称为最大类间方差法是因为,用该阈值进行的图像固定阈值二值化,类间方差最大,它是按图像的灰度特性,将图像分成背景和前景两部分,使类间方差最大的分割意味着错分概率最小。
算法评价:
优点:算法简单,当目标与背景的面积相差不大时,能够有效地对图像进行分割。
缺点:当图像中的目标与背景的面积相差很大时,表现为直方图没有明显的双峰,或者两个峰的大小相差很大,分割效果不佳,或者目标与背景的灰度有较大的重叠时也不能准确的将目标与背景分开。
乙=お疲れ様=otsu=辛苦了。
日本最大的BBS“2チャンネル”上的流行语,也就是网络语言,现实生活中基本不用,由于乙的发音是“おつ”、于是就成了“お疲れさま(您辛苦了)”的简略语。
OTSU-最大类间方差是由日本学者大津(OTSU)于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU。
KSW 双阈值方法1985年Kapur,Sahoo和Wong(三个人)提出一种最佳熵自动门限法,在此简称KSW 方法。