6.4 阈值分割 一、基本原理 原始图像——f(x,y) 灰度阈值——T 阈值运算得二值图像——g(x,y) 阈值选择直接影响分割效果,通常可以通过对灰度直方图 的分析来确定它的值。 二、阈值选择 利用灰度直方图求双峰或多峰选择两峰之间的谷底作为阈值 三、人工阈值 人工选择法是通过人眼的观察,应用人对图像的知识,在分析图像直方图的基础上,人工选出合适的阈值。也可以在人工选出阈值后,根据分割效果,不断的交互操作,从而选择出最佳的阈值。 图像直方图 四、自动阈值 1、迭代法 基本思想:开始时选择一个阈值作为初始估计值,然后按某种策略不断地改进这一估计值,直到满足给定的准则为止。在迭代过程中,关键之处在于选择什么样的阈值改进策略,好的阈值的改进策略应该具备两个特征,一是能够快速收敛,二是在每一个迭代过程中,新产生阈值优于上一次的阈值。 (1)? 选择图像灰度的中值作为初始阈值Ti=T0。 (2)? 利用阈值Ti把图像分割成两部分区域, R1和R2,并计算其灰度均值 (3) 计算新的阈值Ti+1 (4) 重复步骤2、3,直到Ti+1和Ti的值差别小于某个给定值 迭代式阈值二值化图像 2、Ostu法 stu方法是使类间方差最大而推导出的一种能自动确定阈值的方法 具有简单,处理速度快的特点 Matlab工具箱提供的graythresh函数求取阈值采用的正是Ostu法 Otsu法二值化图像: 3、分水岭算法 分水岭算法(watershed)是一种借鉴了形态学理论的分割方法,它将一幅图象看成为一个拓扑地形图,其中灰度值被认为是地形高度值。高灰度值对应着山峰,低灰度值处对应着山谷。将水从任一处流下,它会朝地势底的地方流动,直到某一局部低洼处才停下来,这个低洼处被称为吸水盆地,最终所有的水会分聚在不同的吸水盆地, 吸水盆地之间的山脊被称为分水岭,水从分水岭流下时,它朝不同的吸水盆地流去的可能性是相等的。 将这种想法应用于图像分割,就是要在灰度图像中找出不同的吸水盆地和分水岭,由这些不同的吸引盆地和分水岭组成的区域即为我们要分割的目标。 图像对应的拓扑表面图 分水岭阈值选择算法可以看成是一种自适应的多阈值分割算法 分水岭形成示意图 MATLAB函数: L=watershed(f) 不准确标记分水岭算法导致过分割 4、改进的分水岭算法 准确标记的分水岭算法分割过程