“学会积累”——Otsu阈值算法

导师说:学习重在积累。研一到现在,自己都没在闲,但是没感觉积累了什么知识。从今天开始,学者把自己所学过的东西写下来吧。第一次写,从简单的开始:Otsu Threshold Selection Method。虽然简单,但是最经典的算法之一。

1概述

Otsu Threshold Selection Method也称为最大类间方差法或大津法。是日本学者NOBUYUKI OTSU1979年在其文章“A Threshold Selection Method fromGray-Level Histograms”中提出的算法。其基本思想是:用灰度级阈值将图像的灰度值分为两类,根据两类灰度值的类内方差和类内方差,按“类内方差尽量小,类间方差尽量大”的原则来选取最优的阈值。该算法的优点在于它计算简单、无须参数的调整,且不受图像亮度和对比度的影响。

2 算法原理及证明过程

假设图像共有L个灰度级[1,2,…,L],很容易可以得到图像的一维灰度直方图。在此处,为了方便讨论,将对图像的直方图进行归一化处理(归一化后的的直方图可以看做图像灰度值的概率分布)。如果每个灰度级的像素点个数用ni表示,那么图像中总像素数目为N=n1+n2+…+nL。则归一化后的灰度直方图可以做如下表示:


假设灰度级阈值为k,那么图像可以被分为两类C0,C1。其中C0为灰度级为[1,2,…,k]的像素集合,C1为[k+1,…,L]的像素集合。则每一类的概率以及平均灰度为:





很容易证明得到:


====================================================================================

证明:


====================================================================================

两类像素值的类内方差分别为:


基本准备工作完毕,下面就开始介绍计算最优阈值的方法。

首先定义三个判别变量:


其中:分别表示类内方差、类间方差,总方差。



====================================================================================

证明:


====================================================================================

易知:

(猜想:前景和背景在灰度级上是分离的;反之亦然,在灰度级上最优的阈值也就是区分前景和背景的最优阈值。)则此时,“寻找最佳阈值”的问题就简化成为“最大化三个变量”的问题。又由(16)可知:。故最大化三者之一即可。

根据(2)-(5)及(13)-(16),可知的是基于阈值k变化的参数,是常量,且是基于图像的二阶统计特性(方差)的参数,基于图像的一阶统计特性(均值)的参数。由此可知,参数是我们最佳的选择。


====================================================================================

证明:


====================================================================================

则,最佳阈值就是当取最大值时的k值。

matlab代码

<span style="color:#009900;">%N.Otsu.A threshold selection method from gray level histogram[J].
%IEEE Trans.Syst.,Man,Cybern.,vol.19,no.1,pp.62–66,Jan.1979.</span>
function Threshold=My_Ostu(x)
    [m,n]=size(x);
    N=m*n;
    num=imhist(x)';
    p=num/N;
    totalmean=sum([0:1:255].*p);
    maxvar=0;
    for k=0:255
         zerosth=sum(p(1:(k+1)));
         firsth=sum([0:1:k].*p(1:k+1));
         var=sqrt(((totalmean*zerosth-firsth)^2)/(zerosth*(1-zerosth)+0.01));
         if(var>maxvar)
             maxvar=var;
             Threshold=k;
         end
    end
end

参考文献
[1] N.Otsu.A threshold selection method from gray level histogram[J].IEEE Trans.Syst.,Man,Cybern.,vol.19,no.1,pp.62–66,Jan.1979.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值