美文网首页
otsu算法

otsu算法

作者: 井底蛙蛙呱呱呱 | 来源:发表于2019-05-13 00:25 被阅读0次

    在计算机视觉和图像处理中,otsu (大津二值化法)用来自动对基于聚类的图像进行二值化,或者说,将一个灰度图退化为二值图像。该算法以大津展之命名。

    对于一个灰度图,如果能按图像的灰度特性,将图像分为背景和目标两部分。也就是找到一个阈值,将这个灰度图分为前景背景两部分,则这两部分的类内方差越小,说明前背景分离的越好。


    而大津证明了最小化类内方差和最大类间方差是相同的 这个没怎么看懂。。。 用类概率wi和均值μi来表示。

    上面的摘自维基百科,不够通俗。下面使用更加通俗易懂的解释。

    现在有一张图像,大小为MxN,前景像素数量占总像素比例为w0,平均灰度值为μ0;背景像素数量占总像素比例为w1,平均灰度值为μ1。图像的总平均灰度值为μ,类间方差记为g。假设我们取阈值为t,则图像中像素灰度值小于阈值t的分为一类,其像素个数记为N0,像素值灰度值大于阈值t的分为一类,其像素个数记为N1,则有:
    w0 = N0/(MxN) (1)
    w1 = N1/(MxN) (2)
    N0 + N1 = MxN (3)
    w0 + w1 = 1 (4)
    μ = w0μ0 + w1μ1 (5)
    g = w0(μ0-μ)^2 + w1(μ1-μ)^2 (6)

    将式(5)代入式(6),得到等价公式:g=w0*w1(μ0-μ1)^2 (7)
    采用遍历的方法得到使类间方差最大的阈值T,即为所求。

    otsu算法步骤如下:
    设图像包含L个灰度级(0,1,...,L-1),灰度值为i的像素点数量Ni,图像总的像素点数为N = N0+N1+...+N(L-1)。灰度值为i的点的概率为:
    P(i) = N(i)/N
    门限t将整幅图像分为暗区c1和亮区c2两类,则类间方差σ是t的函数:
    σ = a1*a2(u1-u2)^2
    式中,aj为类cj的面积与图像总面积之比,a1 = sum(P(j)), j∈(0, t),a2=1-a1; uj为类cj的均值,u1 = sum(i*P(i))/a1, i∈(0, t); u2 = sum(i*P(i))/a2, i∈(t+1, L-1) 。
    该法选择最佳门限t^ 使类间方差最大,即:令Δu=u1-u2,σb = max{a1(t)*a2(t)Δu^2}

    参考:
    大津算法
    图像二值化----otsu(最大类间方差法、大津算法)

    相关文章

      网友评论

          本文标题:otsu算法

          本文链接:https://www.haomeiwen.com/subject/chmhaqtx.html