3.2 基于阈值的目标提取[1]
3.2.1 二值化处理
二值化处理(binarization)是把目标物从图像中提取出来的一种方法。二值化处理的方法有很多,最简单的一种叫做阈值处理(thresholding),就是对于输入图像的各像素,当其灰度值在某设定值(称为阈值,threshold)以上或以下,赋予对应的输出图像的像素为白色(255)或黑色(0)。可用式(3.1)或式(3.2)表示。
(3.1)
(3.2)
其中f(x,y)、g(x,y)分别是处理前和处理后的图像在(x,y)处像素的灰度值,t是阈值。
根据图像情况,有时需要提取两个阈值之间的部分,如式(3.3)所示。这种方法称为双阈值二值化处理。
(3.3)
3.2.2 阈值的确定
我们知道,灰度图像像素的最大值是255(白色),最小值是0(黑色),从0~255,共有256级,一幅图像上每级有几个像素,把它数出来(计算机程序可以瞬间完成),做个图表,就是直方图。如图3.1所示,直方图的横坐标表示0~255的像素级,纵坐标表示像素的个数或者占总像素的比例。计算出直方图,是灰度图像目标提取的重要步骤之一。
图3.1 直方图
对于背景单一的图像,一般在直方图上有两个峰值,一个是背景的峰值,一个是目标物的峰值。例如,图3.2(a)是一粒水稻种子的G分量灰度图像,图3.2(c)是其直方图。直方图左侧的高峰(暗处)是背景峰,像素数比较多,右侧的小峰(亮处)是籽粒,像素数比较少。对这种在直方图上具有明显双峰的图像,把阈值设在双峰之间的凹点,即可较好地提取出目标物。图3.2(b)是将阈值设置为双峰之间的凹点50时的二值图像,提取效果比较好。
图3.2 籽粒图像及其直方图
图3.3 直方图平滑化
如果原始图像的直方图凹凸激烈,计算机程序处理时就不好确定波谷的位置。为了比较容易地发现波谷,经常采取在直方图上对邻域点进行平均化处理,以减少直方图的凹凸不平。图3.3是图3.2(c)经过5个邻域点平均化后的直方图,该直方图就比较容易通过算法编写来找到其波谷位置。像这样取直方图的波谷作为阈值的方法称为模态法(mode method)。
在阈值确定方法中除了模态法以外,还有p参数法(p-tile method)、判别分析法(discriminant analysis method)、可变阈值法(variable thresholding)、大津法(OTSU method)等。p参数法是当物体占整个图像的比例已知时(如p%),在直方图上,暗灰度(或者亮灰度)一侧起的累计像素数占总像素数p%的地方作为阈值的方法。判别分析法是当直方图分成物体和背景两部分时,通过分析两部分的统计量来确定阈值的方法。可变阈值法在背景灰度多变的情况下使用,对图像的不同部位设置不同的阈值。
其中,大津法在各种图像处理中得到了广泛的应用,下面具体介绍一下大津法。
大津法也叫最大类间方差法,是由日本学者大津(OTSU)于1979年提出的。它是按图像的灰度特性,将图像分成背景和目标两部分。背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大。因此,使类间方差最大的分割意味着错分概率最小。
设定包含两类区域,t为分割两区域的阈值。由直方图经统计可得:被t分离后的区域1和区域2占整个图像的面积比θ1和θ2,以及整幅图像、区域1、区域2的平均灰度μ、μ1、μ2。整幅图像的平均灰度与区域1和区域2的平均灰度值之间的关系为:
μ=μ1θ1+μ2θ2 (3.4)
同一区域常常具有灰度相似的特性,而不同区域之间则表现为明显的灰度差异,当被阈值t分离的两个区域间灰度差较大时,两个区域的平均灰度μ1、μ2与整幅图像的平均灰度μ之差也较大,区域间的方差就是描述这种差异的有效参数,其表达式为:
(3.5)
式中,表示了图像被阈值t分割后两个区域间的方差。显然,不同的t值就会得到不同的区域间方差,也就是说,区域间方差、区域1的均值、区域2的均值、区域1面积比、区域2面积比都是阈值t的函数,因此上式可以写成:
(3.6)
经数学推导,区域间方差可表示为:
(3.7)
被分割的两区域间方差达到最大时,被认为是两区域的最佳分离状态,由此确定阈值T。
(3.8)
以最大方差决定阈值不需要人为地设定其他参数,是一种自动选择阈值的方法。但是大津法的实现比较复杂,在实际应用中,常常用简单迭代的方法进行阈值的自动选取。其方法如下:首先选择一个近似阈值作为估计值的初始值,然后连续不断地改进这一估计值。比如,使用初始阈值生成子图像,并根据子图像的特性来选取新的阈值,再用新阈值分割图像,这样做的效果好于用初始阈值分割图像的效果。阈值的改进策略是这一方法的关键。例如,一种方法如下:
①选择图像的像素均值作为初始阈值T;
②利用阈值T把图像分割成两组数据R1和R2;
③计算区域R1和R2的均值u1、u2;
④选择新的阈值T=(u1+u2)/2;
⑤重复②~④步,直到u1和u2不再发生变化。
图3.4是采用上述大津法对G分量图像进行的二值化处理结果,对于该图像,大津法计算获得的分割阈值为52。
图3.4 大津法二值化图像