1DigitalImageProcessing数字图像处理2第九章图像分割39.4阈值分割基本原理常用的图像分割方法是把图像灰度分成不同的等级,然后用设置灰度门限(阈值)的方法确定有意义的区域或分割物体的边界。常用的阈值化处理就是图像的二值化处理,即选择一阈值,将图像转换为黑白二值图像,用于图像分割及边缘跟踪等预处理。5基本原理原始图像——f(x,y)灰度阈值——T阈值运算得二值图像——g(x,y)1[,][,]0[,]fxyTgxyfxyT如果如果阈值选择直接影响分割效果,通常可以通过对灰度直方图的分析来确定它的值。6通过直方图阈值选择利用灰度直方图求双峰或多峰选择两峰之间的谷底作为阈值7通过直方图阈值选择8(a)(b)(a)原始图像;(b)阈值T=91;(c)阈值T=130;(d)阈值T=43(c)(d)9通过直方图阈值选择(a)原图(b)直方图(c)二值化结果Rice图像双峰法分割10通过直方图阈值选择11人工阈值人工选择法通过人眼的观察,应用人对图像的知识,在分析图像直方图的基础上,人工选出合适的阈值。也可以在人工选出阈值后,根据分割效果,不断的交互操作,从而选择出最佳的阈值。12T=155的二值化图像T=210的二值化图像原始图像图像直方图人工阈值13阈值选择在图像的阈值化处理过程中,选用不同的阈值其处理结果差异很大;阈值过大,会提取多余的部分;阈值过小,又会丢失所需的部分;因此,阈值的选取非常重要。14自动阈值迭代法Otsu方法分水岭方法15自动阈值基本思想:开始时选择一个阈值作为初始估计值,然后按某种策略不断地改进这一估计值,直到满足给定的准则为止。在迭代过程中,关键之处在于选择什么样的阈值改进策略,好的阈值的改进策略应该具备两个特征,一是能够快速收敛,二是在每一个迭代过程中,新产生阈值优于上一次的阈值。迭代法16自动阈值迭代法(1)选择图像灰度的中值作为初始阈值Ti=T0。(2)利用阈值Ti把图像分割成两部分区域,R1和R2,并计算其灰度均值101210,iiiiLTiiiTiTLiiiTiininuunn1121()2iT(3)计算新的阈值Ti+1(4)重复步骤2、3,直到Ti+1和Ti的值差别小于某个给定值17自动阈值迭代法原始图像迭代阈值二值化图象迭代式阈值二值化图像18自动阈值Otsu法Otsu方法是使类间方差最大而推导出的一种能自动确定阈值的方法(最大类间方差法)具有简单,处理速度快的特点Matlab工具箱提供的graythresh函数求取阈值采用的正是Otsu法19自动阈值Otsu法原始图像Otsu法二值化图象Otsu法二值化图像20自动阈值分水岭算法分水岭算法(watershed)是一种借鉴了形态学理论的分割方法,它将一幅图象看成为一个拓扑地形图,其中灰度值被认为是地形高度值。高灰度值对应着山峰,低灰度值处对应着山谷。将水从任一处流下,它会朝地势底的地方流动,直到某一局部低洼处才停下来,这个低洼处被称为吸水盆地,最终所有的水会分聚在不同的吸水盆地,吸水盆地之间的山脊被称为分水岭,水从分水岭流下时,它朝不同的吸水盆地流去的可能性是相等的。将这种想法应用于图像分割,就是要在灰度图像中找出不同的吸水盆地和分水岭,由这些不同的吸水盆地和分水岭组成的区域即为我们要分割的目标。21自动阈值分水岭算法(a)原始图像(b)图像对应的拓扑地形图图像对应的拓扑表面图22自动阈值分水岭算法分水岭阈值选择算法可以看成是一种自适应的多阈值分割算法分水岭形成示意图分水岭对应于原始图像中的边缘23自动阈值分水岭算法L=watershed(f)MATLAB函数不准确标记分水岭算法导致过分割原始图像分水岭分割结果局部极小值24自动阈值改进的分水岭算法准确标记的分水岭算法分割过程原始图像原图像的距离变换标记外部约束标记内部约束由标记内外部约束重构的梯度图分割结果25多阈值分割多阈值处理方法物体和背景的对比度在图像各处不一样时,需要选取多个阈值进行处理。269.5区域分割27基本思想阈值分割法由于没有或很少考虑空间关系,使多阈值选择受到限制基于区域的分割方法可以弥补这点不足,它利用的是图像的空间性质,该方法认为分割出来的属于同一区域的像素应具有相似的性质,其概念是相当直观的。传统的区域分割算法有区域增长法和区域分裂合并法。该类方法在没有先验知识可以利用时,对含有复杂场景或自然景物等先验知识不足的图像进行分割,也可以取得较好的性能。但是,空间和时间开销都比较大。28区域生长区域生长法主要考虑象素及其空间邻域象素之间的关系开始时确定一个或多个象素点作为种子,然后按某种相似性准则增长区域,逐步生成具有某种均匀性的空间区域,将相邻的具有相似性质的象素或区域归并从而逐步增长区域,直至没有可以归并的点或其它小区域为止。区域内象素的相似性度量可以包括平均灰度值、纹理、颜色等信息。29区域生长选择合适的种子点确定相似性准则(生长准则)确定生长停止条件步骤30区域生长实例从满足检测准则的点开始(或者已知点)在各个方向上生长出区域。例如:每一步所接受的邻近点的灰度级与先前物体的平均灰度级相差小于2。区域生长的过程31区域生长实例3333382279846855区域生长的过程3333382279846855333338227984685532区域生长实例区域生长原始图像及种子点位置三个种子点区域生长结果原始图像及种子点位置四个种子点区域生长结果33区域分裂条件:如果区域的某些特性不满足一致性准则开始:从图像的最大区域开始,一般情况下,是从整幅图像开始注意:确定分裂准则(一致性准则)确定分裂方法,即如何分裂区域,使得分裂后的子区域的特性尽可能都满足一致性准则值。34区域分裂算法形成初始区域对图像的每一个区域Ri,计算P(Ri),如果P(Ri)=FALSE则沿着某一合适的边界分裂区域重复步骤2,当没有区域需分裂时,算法结束。35区域合并合并运算就是把相邻的具有相似性质的区域合成为一个区域合并算法中最重要的运算是确定两个区域的相似性评判区域相似性方法有许多,评判相似性的方法可以基于区域的灰度值,也可以基于区域边界的强弱性等因素。一种简单的方法是比较它们的灰度均值基本思想36区域合并使用某种方法进行图像的初始区域分割。对于图像中乡邻个区域,计算是否满足一致性谓词词,若满足则合并为一个区域。重复步骤2,直到没有区域可以合并,算法结束。算法37区域分裂合并数据结构38区域分裂合并数据结构图9.31图像分裂示例39区域分裂合并算法设整幅图像为初始区域对每一区域R,如果P(R)=FLASE,则把该区域分裂成四个子区域重复上一步,直到没有区域可以分裂对图像中任意两个相邻的R1和R2,如果P(R1UR2)=TRUE,则把这两个区域合并成一个区域。重复上一步,直到没有相邻区域可以合并,算法结束40区域分裂合并实例原始图像分裂最小子区域大小1616分裂最小子区域大小88分裂最小子区域大小88图像分裂合并