zoukankan      html  css  js  c++  java
  • Otsu图像分割算法(大津算法)

    OTSU算法是由日本学者OTSU1979年提出的一种对图像进行二值化的高效算法。(大津算法)。不过OTSU比较适合前景和背景像素值差距比较大的图像,如果图像复杂、细节多、近色的话,OTSU算法效果不好。

    阈值将原图像分成前景、背景两个图像。前景:用n1,csum,m1来表示在当前阈值下的前景的点数,质量矩,平均灰度;背景:用n2,sum-csum,m2来表示在当前阈值下的背景的点数,质量矩,平均灰度;当取最佳阈值时,背景应该与前景差别最大,关键在于如何选择衡量差别的标准;而在Otsu算法中这个衡量差别的标准就是最大类间方差;

    在以下程序中类间方差用是sb表示,最大类间方差用fmax,关于最大类间方差(Otsu)的性能:

    类间方差对噪音和目标大小十分敏感,它仅对类间方差为单峰值的图像产生较好的分割效果,当目标与背景的大小比例悬殊时,类间方差准则函数可能呈现双峰或多峰,此时效果不好,但是类间方差使用是最少的。

    最大类间方差(Otsu)的公式推导:

    t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1

    则图像的总平均灰度为:u=w0*u0+w1*u1;

    前景和背景图像的方差:g=w0*(u0-u).^2+w1*(u1-u).^2=w0*w1*(u0-u1).^2

    此公式为方差公式。

    上面的g公式也就是下面程序中得sb的表达式:

    当方差g最大时,可以认为此时前景与背景差异最大,也就是此时的灰度值是最佳阈值;

    Otsu图像分割算法结果3D展示图

     

  • 相关阅读:
    TCP/IP和HTTP的举例理解
    c#中栈和堆的理解
    c#设计模式之单例模式
    JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值
    JSON.stringify初识
    c# 过滤字符串中的重复字符
    C#中jQuery Ajax实例(二)
    C#中jQuery Ajax实例(一)
    jQuery动态对表格Table进行添加或删除行以及修改列值操作
    asp.net中控件的Attributes用法
  • 原文地址:https://www.cnblogs.com/yucongcong/p/14593619.html
Copyright © 2011-2022 走看看