您好、欢迎来到现金彩票网!
当前位置:湖南福彩网 > 分割 >

彩色图像分割技术研究

发布时间:2019-07-13 00:12 来源:未知 编辑:admin

  武汉理工人学硕士学位论文像分割算法。 在早期的图像处理的研究中,图像分割的方法一般被分为2类:一类是边 界法,这种方法是假设图像一定有边缘存在;另一类是区域法,这种方法认为 被分割后的图像区域一定会具有某些相同的特性,不同的区域的像素则会有不 同的特性。 图像分割的技术主要有4种:并行边界分割技术、串行边界分割技术、并 行区域分割技术和串行区域分割技术。如下图1-1所示: 图1-1经典的图像分割方法框架 所谓的串行图像分割是指对图像的每一个像素上所做的运算或者处理不依 赖图像中其他像素点处理的结果。而在并行算法中,对图像每一个像素的处理 依赖其他像素处理后的结果。串行分割一边有3个关键的步骤,每一个步骤都 对分割结果有直接的影响。 起始边缘点的确定。 搜索准则,将根据这个准则确定下一个边缘点。 武汉理工大学硕十学位论文作为一类重要的技术,串行分割技术可以和其他方法结合使用。 对普通的电脑处理器来说,串行分割方法当然比并行分割有明显的优势, 因为并行分割必须在每个图像点完成相同的计算以后再决定是否继续处理或者 放弃处理这个像素点或者区域。这种技术明显导致了时间复杂度,但理论上它 更可靠更准确。而串行分割则简单,方便一些。 1.3常用的彩色图像分割方法 灰度图像只包含有亮度信息,人眼对亮度的敏感度一般只有20多刎4】,彩 色图像除了亮度信息,还包含有色度和饱和度等信息。因此彩色图像分割的方 法越来越受人关注。彩色图像分割主要有2方面,一是选择合适的颜色空间, 二是选择合适的分割方法151。 现行的大多数彩色图像分割算法的思路都是从灰度图像分割继承而来的, 因此彩色图像分割和灰度图像分割在某些方面存在共通点,这点很好理解。为 了满足彩色图像的分割要求,必须做出一些改进。大体上常用彩色图像分割可 以分为以下几种: (1)基于阈值的分割方法【oJ 在阈值分割中,最常用的分割方法是直方图阈值分割法。直方图阈值法必 须假设每个峰值对应的是一个区域,而峰谷则代表了不同区域的边界值。与灰 度图像不同的是,彩色图像有R,G,B,3个分量,这给阈值的确定带来了困 难,为了解决这个问题,可以采用投影的方式把三维的直方图投影到一维平面 直方图阈值分割方法的缺点在于:第一,仅靠颜色分割的图像可能不完整;第二,如果被分割的图像没有明显的峰值,则很难确定阈值;第三:忽略了颜 色的空间信息,第四:投影时可能产生颜色发散的负面影响。 (2)基于边缘的分割方法【11-16】 边缘检测广泛引用于灰度图像的分割。它通过灰度的不连续性来确定图像 中的边缘点从而进行分割。实际上,在图像的边缘检测中,人们用差分方程来 表示图像的一阶导,在实现编程中差分方程用模板来构造,称为模板算子。常 用的模板算子有Roberts算子,Prewitt算子,Sobel算子等。这些算子的优点是 定位准,运算快,缺点是对噪声很敏感,我们可以先对图像进行平滑处理以后 武汉理1:犬学硕士学位论文再进行边缘检测。但是也不能从根本上解决问题,因此建议不单独使用边缘检 测的分割方法实现彩色图像的分割。 分水岭算法也属于基于边缘的分割方法,这种方法将在第4章进行详细的 介绍。 (3)基于区域的分割方法【17。20】 与一般的分割方法不同,基于区域的分割方法是把具有同一种特性的像素 看做一个整体来处理,这些像素在空间上往往是属于相邻的关系但也可以是不 相邻的。 常用的基于区域的分割方法有2种:区域生长和区域分裂合并。区域生长 是按照一定的生长准则合并种子像素周边的像素直到不满足生长条件。分裂合 并几乎是区域生长的逆过程。 基于区域的分割方法的优点在于噪声对它基本上没有影响,在这点上它比 边缘检测要强,但由于它的生长准则并不一定适用所有区域,所以它可能存在 过分割的情况。 (4)基于聚类的分割方法【2ll 图像分割的结果是把图像至少分割成目标和背景,它们属于两个不同的类 别,这个过程就是一个分类的过程。因此聚类分析应用到图像分割当中也是可 以理解的。 聚类是最早应用于彩色图像分割的方法之一,因为在一幅图像中不同物体 颜色的差别往往很大。常用的聚类方法有K均值聚类,模糊C均值聚类,分层 (5)基于模型的分割方法近年来,越来越多的工作都是围绕基于模型的的分割技术展开的。如果图 像分割后的区域被看做是随机场的模型,则图像分割可以转化为统计最优的一 个数学问题。它可以提取更准确的分割区域特征数据。 (6)基于特定理论工具的分割方法【22】 科学技术越先进,不同科学领域问的边界就越来越模糊,其他领域的科学 技术同样可以用在图像分割领域。从而产生了如下分割方法:基于数学形态学 的分割方法,基于模糊技术的分割方法,基于遗传聚类的分割方法等等。这些 方法把其他领域的思想引入到图像分割领域中,既达到了分割的目的,又推进 了图像分割技术的发展。 武汉理工大学硕十学位论文1.4本文的内容安排 第1章,首先给出本课题研究的背景和意义,简明扼要的介绍一下图像分 割的基本方法和常用的彩色图像的分割方法。 第2章,颜色空间的选取和颜色距离阂值的确定。 第3章,用聚类的方法验证颜色一致性距离并实现图像的分割。 第4章,介绍分水岭算法,重点描述了VS算法。 第5章,一步步的介绍基于自动种子区域生长的算法流程,并给出实验结 果进行分析。并把聚类的方法与其相结合得到更好的算法。 第6章,总结和展望。 武汉理工大学硕士学位论文第2章颜色空间 颜色特征是图像的最基本的也是最容易被识别的特征。颜色特征是图像分 割中应用最为广泛的特征。与其他特征相比,颜色特征对图像本身的尺寸,方 向,和视角的依赖性不大,颜色特征的提取也相对容易,因而基于颜色特征的 图像分割研究受到广泛的重视。图像颜色特征的表达涉及若干问题,本章在介 绍常用的颜色空间,转换,量化等基本问题的基础上,讨论了颜色特征的提取 方法以及通过模糊聚类在实验基础上确定相似性度量的方法。 2.1常用的颜色空间 (1)RGB颜色空间 对于彩色图像,它的显示必须从三原色RGB概念说起。众所周知,自然界 中的所有颜色都可以由红,绿,蓝(R,G,B)三原色组合而成。有的颜色含 有红色成分多一些,其他成分少一些。针对含有红色成分的多少,可以将彩色 图像人为地分成O到255共256个等级,0表示包含红色成分,255表示含有100% 的红色成分。同理可得绿色和蓝色也被分为256个等级。这样,根据红,绿, 蓝各种不同的组合我们就能表示出256*256*256(约1600万)种颜色。当一幅 图中每个像素被赋予不同的RGB值时,就能呈现五彩缤纷的颜色了,这就形成 了彩色图像。最强大的红,绿,蓝三原色相加产生了白色。1600多万种颜色视 乎已经够多了,但与可见光谱的色域范围相比还是要狭窄很多。 RGB颜色空间是基于三基色理论开发的颜色相加的颜色模型,其物理意义 很清晰,且颜色的生成很容易实现,因此RGB颜色空间是电子输入设备普遍使 用的颜色语言,如显示器,扫描仪和数码相机等。RGB颜色空间是与设备无关 的,不同的RGB设备再现的颜色不可能完全相同。由于视觉对颜色的感知是非 线性的,因而颜色的指定并不直观,这使它的应用范围受到了局限。 (2)CMY颜色空间 CMY色彩系统也是一种常用的色彩表示方式,与RGB颜色空间有两点不 同:第一,CMY的三基色分别为青,品红,黄(C,M,Y);第二,计算机屏幕的显 示通常用RGB颜色系统,它是通过三种颜色的相加来产生其他颜色的,这种方 CbCr 0.2990—0.1687 0.500 0.5870—0.3313 —0.4187 0.500128 —0.0813 128 (2.3)(4)Munsell颜色空间 Munsell颜色表空间是一种颜色标记系统,它按照颜色的自然属性组织颜色。 它的主要优点在于其给出了能够很好地表达视觉相似性的有限颜色集,用于取 武汉理r1:大学硕士学位论文[妻】。[量0;4179。7三0;三8i1兰3蓍0;20。1。11f竺】 【zJ【o.o.010 的三基色(X。匕Z。)的关系定义的,这样亮度可以由以下公式给出:L=116x(y-)3-16 c2-5, 其中 u=13Lx(ul—u2) v=13L(vl-v2) (2-6) u1= (2.7)X+15Y+3Z X。+15匕+3Z。 v1= (2.8)X+15Y+3Z X。+15K+3z。 武汉理工大学硕士学位论文的色调,亮度,和饱和度。但是CIE颜色空间需要对RGB颜色空间进行正的或 逆的非线性变换,具体应用不方便,运算量大。 (6)HSV颜色空间 HSV颜色空间是一种符合人的感知的颜色空间,它用色调,亮度,和饱和 度表示颜色。从RGB到HSV的变换也是非线性的,但它的逆变换比CIE颜色 空间简单许多。HSV颜色空间具备自然性,而且具有相当的视觉一致性。因此 如果量化合适,可以产生一个同时具备紧凑性和完整性的颜色集合。RGB颜色 空间到HSV颜色空间的转换公式为: V=MAX(R,GB) (2—10) R1-生生一V—MIN体,G,B) GI= V—MIN叫,u,B)B1= 5+Bl1-Gl 1+Rl Bl3+Gl 5一Rl 2.2颜色空间的选择 若B-MAX(R,G,B),且R—MIN(R,G,B)在其他的情况下,H的值是只受R,影响 (2.11) (2.12) (2.13) (2.14) (2.15) 对下表各颜色空间变换进行比较,其中YIQ,YUV和YCrCb颜色空间是从 RGB颜色空间通过线性变换得到的。从RGB到HSV的变换是非线性的,也是 可逆的,同时变换也易于计算,如果量化合适可以产生一致性,完整性紧凑的 颜色集合。Munsell和CIE颜色空间虽然满足自然条件,但是Munsell颜色表系 统不均衡,CIE颜色空间不够紧浏2刚。 10 武汉理工大学硕士学位论文 表2-1各类颜色空间的比较 RGB YIQUV Munsell CIE HSV 一致性 变换线性 非线性 非线性 非线性 颜色空间应该采用具有视觉一致性,完整性,紧凑性,自然性的颜色空间。 通过上述比较,本文采用HSV颜色空间进行研究。 2.3颜色的量化 随着计算机显示系统的飞速发展,目前大多数图像均以真彩色的格式存储。 真彩色表示法是指图像中的每个像素用3个字节来表示,每个字节分别表示该 像素的R'GB分量的值。特征提取算法和匹配算法的复杂度是随图像颜色的数目 增多而非线性膨胀,因此在实际处理时往往是不现实的。例如一幅800*600的 彩色图像,假设每个像素的颜色都不一样,则其所占颜色数目还不到全部颜色 的3%,更何况很多像素的颜色还可能一样。因此有必要减少颜色的数目,这也 是颜色量化的目的。 颜色量化是以一组颜色表示图像的颜色空间,然后确定颜色空间到选定颜 色集合的映射。量化的技术分为均匀量化和非均匀量化两类。 在均匀量化方法中,变量的范围被分为相等的空间。颜色空间的均匀量化 比非均匀量化计算速度快,但是量化后的颜色空间中许多部分并不会用到,这 是因为图像中根本不包含这些颜色。 在非均匀量化中,变量的范围被随机剖分成~系列区间。通过采用基于图 像统计的颜色查找表,可以保证量化颜色空间中的每个区间都非空,从而使所 显示的图像获得更好的效果。 颜色的量化的常用的量化方法如下: (1)统一量化方法。 (2)流行色量化方法。 (3)中位切割量化方法。 武汉理一『=大学硕七学位论文 (4)颜色对聚类量化方法。 (5)基于八叉树结构的量化方法。 (6)基于方差分析的颜色量化方法 本文采用的是非均匀量化方法【231。首先我们用根据公式(2.10)至公式(2.15) 中的公式,把图像从RGB颜色空问转换到HSV颜色空间,得到的h,S,v值的 取值范围为:hE【O,2石】,sE【O,1】,VE【0,11。其次进行非均匀量化,具体的量化和 编码如下: (1)当v<O.25时的颜色归于黑色,编码为:q=O。 当s<0.2并且v>=O.25时,v均匀量化为三个值:深灰,浅灰,白色,其编码为q=l,2,3。 (3)其他情况均为彩色,是将h【O,2丌】均匀量化为18个值,H=0,1…17。 s【O.2,1】均匀量化成3个值S=0,1,2。同理v【O.25,11均匀量化为三个 值V=0,1,2。就得到162种颜色,其编码为:q=9H+3S+V+4。 这样图像就被量化为qE{O,1,2…1651。 2.4HSV颜色相似性度量 由于HSV颜色空间在视觉上是近乎一致的,所以两个HSV颜色空间的相似 度量可以近似用欧式距离来表示。假设有2个索引值分别为i和j的颜色,它们 的距离可以用公式: d-一y+(墨coshi--s,cosh,)2+@sinh广s,sinh//5(2-16) 来计算颜色距离124l。由于对(距离)d进行了归一化,d=l则表示相距最远, d=0则表示在HSV颜色空间中的距离为最小。 不同颜色之间的阈值是多少?为了解决这个问题本文采用1.3中提到边缘检 测的方法对阈值进行实验分析。边缘检测对图像识别和计算机分析十分有用,可 以勾画出目标物体的轮廓,使观察者一目了然:边缘包含了丰富的信息(如方向, 形状等)。 常用的边缘检测算子有很多例;tll:梯度算子,Robeas算子,Sobel算子, Prewitt算子等。最基本的一类边缘检测算子是微分算子类,包括:梯度算子, Roberts梯度算子,Sobel算子,Prewitt边缘检测算子,Krisch边缘算子,Laplacian 算子等。除了Laplacian算子,其他的算子都是基于一阶方向导数在边缘处取最 12 武汉理工人学硕士学位论文 大值这一变化规律。Roberts采用的是对角方向相邻的两个像素之差,从图像处 理的实际效果来看,边缘定位准,对噪声敏感嘲,因此采用Robes算子进行边 缘检测。 Roberts算子是用对角像素的灰度值的差来表示梯度进行边缘检测的。即: 6,f-f(i,,)一,a+lJ+D (2-17) A,,-f(i,,+D—f(i+L』)(2-18) (2—19)g(x,y)为Roberts算子,它的卷积模板为: 确定算子以后,我们可以用经过量化后的q值来进行边缘检测(这种方法相对简单),也可以用上述距离d来进行边缘检测。下面我们对这两种方法进行实 验比较。本章的实验是在WindowsxP操作系统下,用Visualc++6.0完成的。 当q=12时.能检测出图像的明显边缘如图2-1(红色代表边缘点)。 (a)原始图像(b)边缘检测图像 (c)原始图像(d)边缘检测图像 图2-1用q值进行边缘检测结果 武汉理工大学硕士学位论文 图2-1(b)和图2-1(d)都是以q值来进行边缘检测的结果,红色的点为 边缘点。 当d--'O.13时,能检测出图像的明显边缘如下图2-2(红色代表边缘点)。 一一 (a)原始图像 (b)边缘检测图像 (c)原始图像(d)边缘检测图像 图2-2用距离公式进行边缘检测结果 图2-2(b)和图2-2(d)是以距离公式(2.12)做边缘检测得到的结果,红 色点代表边缘点。 通过对比,用距离公式(2-12)中的颜色距离d进行边缘检测效果更为细腻, 除此之外通过对大量图片进行实验发现用q进行边缘检测有一个致命的缺陷,就 是在q值很小时,用q值检测根本检测不出来边缘点。下面通过实验我们来验证 这一点。实验同样是在WindowsXP操作系统下,用Visualc++6.0完成的。 用q=12进行边缘检测的如下图2-3(红色代表边缘点)。 武汉理工大学硕士学位论文 口口(c)原始图像 (d)边缘检测图像 图2-3用q值进行边缘检测的结果 图2-3(b)和图2-3(d)为用q值进行边缘检测得到的结果。红色点点为 边缘点。 用d=0.13进行边缘检测后的效果如图24(红色代表边缘点)。 Ca)原始图像(b)边缘检测图像 武汉理工大学硕士学位论文 (c)原始图像 (d)边缘检测图像 图“用距离公式进行边缘检测的结果 圈24(b)和图2-4(d)为用距离公式(2-12)中的距离d做边缘检测的 结果,红色点为边缘点。 图2-3(b)与图2-4(b)进行对比,可发现用q值进行边缘检测大象的象 背与天空之间这么明显的边缘并没有检测出来。图2-3(d)与图2-4(d)进行 对比同样可以发现用用q值进行边缘检测白花的与黑色背景的交界处及边缘并 没有检测出来。 通过对比可知,在q值较小时,进行边缘检测效极差。在HSV颜色量化中: 当v<0.25时的颜色归于黑色,编码为:q=0;当s<0.2并且v>=0.25时,v均匀 量化为三个值:深灰,浅灰,白色,其编码为q=1.23。我们可以发现当q值较 小时,颜色差别还是很大的。因此采用归一化后的颜色距离d来进行相似性度 量。同样的在使用颜色距离公式(2-12)时,在q值很小的情况下,距离d并不 够准确。因为在q值很小的情况下,HSV颜色空间中的H(色度)分量对颜色 之间的距离d影响很大,也就是它忽略了色度的影响,为了解决这个问题,我 们对q<4的颜色用统一的H(色度)分量。图2-4(b)和图24(d)就是用了 这种方法解决了q值较小相似性不好度量的问题。 虽然没有采用q值来进行边缘检测,但颜色的量化会在后文中的自动选取 中起到重要的作用。 武汉理.T大学硕七学位论文 第3章聚类分析 在2.4当中通过~些列实验确定颜色一致性距离d=0.13以后,本章采用模 糊聚类的方法进行图像分割,通过观察分割后效果来验证颜色一致性距离d是 否可取。 3.1聚类的概念及分类 在当今飞速发展的社会中,聚类分析已经是数据采掘和探查性数据分析中 一个相当重要的技术,被广泛应用于心理、生物、计算机视觉领域。 聚类是指将一组数据划分成不同的组的过程,每一组数据都有高度的相似 性,不同组之间的数据则不相似。在本文中,每组数据相似与否都是由相似性 距离来决定,这对聚类分割的效果有直接的影响。笼统的说,聚类算法是将一 组分布未知的数据进行分类,尽可能地使得同一类中的数据具有相同的性质, 而不同类的数据则性质各异,其目的是寻找隐藏在数据中的结构。 完整的聚类方法如图所示。由图3.1可知,最终的聚类结果不仅仅取决于算 法本身,还取决于特征和相似性的度量。 特征提取 相似性度量 图3-1聚类算法流程图总的来说聚类方法可以分为以下几种: (1)分割聚类方法 分割聚类方法是一种基于原型的聚类方法。首先随机选取聚类中心,然后 将其他数据对象分配到距离最近的聚类中心当中。它是通过迭代控制对原型进 行不断地调整,从而使聚类最优化。K.means算法以及K.medoid算法l捧29l是 其中最经典的算法。其思想是预先设定聚类的个数N,把数据集随机的分为N 类,通过不断的跟新聚类中心来调整不同类别中的数据元素。 17 武汉理工大学硕士学位论文 (2)分级聚类方法 分级聚类方法通过把数据集分成若干类,这若干个类在逻辑上形成一个类 似树形的结构,这种方法是按照特定的判断标准合并最相似的类或分开罪不相 似的类。合并最相似的类的过程是一种从下往上的聚结,称为聚结型层次聚类; 相反的如果分开最不相似的类,则是从上往下的分解,称为分解层次聚类。 分级聚类方法虽然简单,但是聚结和分解的点很难选择。如果选择不好会 可能导致差的聚类结果。并且这种方法不具有很好的伸缩性。 (3)基于密度的聚类方法 基于密度的聚类方法是以密度的思想来聚类的。它与其他方法的不同点为: 它摆脱了传统的距离算法中只能发现“类圆形”的缺点。DBSCAN(Density.Based SpatialClustering Noise),OPTICS(OrderingPointsTo Identify ClusteringStructure)l驯和DENCLUE(Density.basedClustering)这三种方法是目前应用最多的经典的聚类方法。 (4)基于网格的聚类方法 基于网格的方法把数据集分为有限的格子,所有的操作就可以在格子上进 行了。处理的时间仅与格子的数目有关而与对象的数目无关。STING(Statistical Information Grid),WaveCluster和CUQUE三种方法是基于网格聚类方法【31】中比 较经典的方法。 STING方法是在每个网格中保存均值,最大值,最小值,标准差等数据。 网格之间是按层次顺序进行划分的,高层的网格会被划分为若干个底层的网格, 这样高层中的数据就转换到底层中的数据了。在修改以及查询数据时,都是从 高层往底层一步一步往下一直找到正确的网格为止。 WaveCluster方法是将不同类型的数据看做多维的信号的信号,通过小波变 换把数据变换到频域上面来处理。 (5)基于模型的聚类方法基于模型的方法是把每个聚类集当做一种特定的模型来处理,在数据集中 寻找能满足这种模型的数据(模型不一样,满足模型的条件也不一样)。其中典 型的方法有COBWEB方法和CLASSIT方法。COBWEB是基于统计模型的方法, CLASSIT则是COBWEB的另外一个版本,它们都不适合处理数据集较大的工 18武汉理-[大学瑛士学位论文 3.2算法流程和实验结果 除了3.1中提到的5太类聚类方法以外,还有其他大量的聚类算法。例如基 于遗传学的算法,模糊聚类算法嗍,处理海量数据的聚类算法,处理动态数据 的聚类算法等。本文所采用算法是基于聚类的算法。具体算法流程如下: (1)初始化,设定视觉一致性距离d=O.13。并将第~个像素点的颜色作为第一 个集合St的初始聚类中心cl,sl中像素的数日Nl=l。 (2)在HSV空闻中,计算每个像素点与cl的颜色距离DL若B小于设定的颜 色一致性距离d,则将其添加到S。中,并修正st的聚类中心和像素点数目:否 则,将该像素作为新的集合s2的聚类中心G。依次类推。(在实现的进程中,要 注意低饱和度像素的H,S分量取值是一致的) (3)对于每个集合S..如果存在集合Sj,使得两集合聚类中心的距离小于d, 则将s。合并至集合s,中,并修改%的像素数目和聚类中心,并删除集合sj。 聚类后有可能含有一些面积很小的聚类中心。人类视觉在对场景目标进行 分割时,采用主色调原则,人眼可以将区域内的一些小面积的一类颜色滤掉。 为模拟这种功能,将小于一定面积阈值的集台台并到距离最近的骧类积集合中 口”。(在分块聚类中用到,聚粪颜色中像素个数小于5%的颜色滤掉) 为了显示圈像经过聚类以后的结果,必须遍历整幅图像,通过HSV颜色空 间的距离公式找出原彩色图像中像素的RGB转换为HSV值与聚类中心距离晟 近的值作为聚类中心的RGB值。 用上述算法,通过Visual“+6.0对多幅图像进行了实验,图3-2中3幅图 像是最典型的实验结果。 武汉理工大学硕士学位论文(c)原始图像 (d)聚类分割后图像 (e)原始图像 (f)聚类分割后的图像 图3-2聚类实验结果 本节提出了一种基于HSV颜色空间的聚类分割方法,实验表明,基于聚类 的分割方法效果还不错,适用于大多数彩色图像,验证了颜色相似性距离d=0.13 实现分割的可行性。同时为HSV颜色空问的研究做出了贡献。 武汉理工太学硕士学位论文 第4章分水岭分割算法 分水岭算是地形学的概念,是一种基于边缘的分割方法。通过分水岭能够 用一组封闭的曲线将图像分割成不同的区域。分水岭分割算法由Allen和Muerle 在1968年提出例。这种方法具有定位精确,运算速度较快等特点。 4.1分水岭算法的原理 分水蛉的概念的基础是把图像进行三维处理:像素的坐标(横坐标和纵坐 标)和灰度(也可以为梯度)。即任何灰度图像都可以看成一个地形图如图4.1 所示,坐标代表了像素在图像中的位置,灰度对应的是地形的高度。对于彩色 图像可以通过公式(4-1)进行转换后得到彩色图像像素对应的灰度。 Gray--0.299R+0.5870+0.114B (4.1) 考虑地形图中的三个要点: (1)局部荻度最小值; (2)当有一滴水落入地形图中某点时,这滴水总会落到局部灰度最小值的点 (3)当水位到一定的位置时,水会等概率的流入多个局部灰度最小值的点上。满足条件(3)的点的集合即为分水岭。其基本思想是假设我们在每个区域 最小值的位置打个洞,让水以均匀的速度上升,从低到高淹没整个地形.当处在不 同汇聚盆地中的水将要聚合在一起时,修建大坝阻止聚合,最后得到的水坝边界 就是分水岭的分割线 (a)灰度图(b)地形图 图4-1分水岭算法中相应的地形图 武汉理工大学硕士学位论文 4.2常用的分水岭算法 常用的分水岭经典算法有涨水法和降水法2种。我们可以把一幅图像当做 3D的地形来处理,即在2D(对应图像的坐标空间)的的基础上加上另外一维可 以是图像的灰度或者梯度等信息。除此之外还有灰度骨架算法和有序算法等等。 (1)降水法 降水法的基本思想是:我们可以假想一个圆形的目标,其第三维的信息如 梯度从旁边向中间逐步增加,当把图像当做地形看时,则目标看起来像一个圆 锥体。从上向下成象的话可以得到一幅圆形的目标。这2个圆形目标从上往下 看则可得到一幅有重叠的2个圆形的目标图像,在重叠的交点之间画一条直线 就为分水岭了,分水岭代表两个山峰流下来水的汇集的地方。 (2)涨水法 涨水法的基本思想是:假设水从局部低的谷底流出,并且水位是逐渐上涨 的,如果2个相邻的谷底的水流出流过山峰他们汇集的地方就为分水岭。 在实际应用中,形成分水岭的过程通常是使用浸没模型来实现的,如果找 到了图像的分水岭就可以将图像用一组一组封闭的曲线分割成不同的区域。 Beucher和Lantuejoul他们两个人最先提出了基于浸没的算法。但这种算法效率 低,而且在分割过程中如果在同一区域呈环形的情况下,就有可能产生错误的 分水岭。 (3)灰度骨架法 灰度骨架法是从数字图像处理当中的形态学的细化中发展而来的算法,并且 Beucher也证明了分水岭算法和灰度骨架法所得到闭合曲线具有相同的作用。整 幅图像在细化的过程中可以很容易的去掉骨架中不闭合的曲线,而灰度骨架法 是通过多次的反复迭代来去掉这些不闭合的曲线,效率很低,而且在迭代的过 程会产生错误的分水岭。 (4)有序算法 Friedlander提出的有序算法是一种并行的分割算法,因为该算法对图像所有 的像素进行特定顺序的扫描,每个像素的值会对下一个像素的值产生影响。该 算法把区域最小值作为“蓄水盆地”,图像当中所有的像素至少属于其中的某个蓄 水瓮地,如果有的像素属于2个或者2个以上的蓄水瓮地的话那它就成为了分 水岭。每个步骤都是有序进行的,因此整个过程也相当的快。同时该算法还对 武汉理工大学硕十学位论文 每个蓄水盆地进行了标记这样可以避免非闭合曲线被化为分水岭的错误。但是 这种算法还不是非常的准确。 Beucher提出了一种基于有向箭头的算法。算法有三个步骤: 找到整幅图像中区域最小的值; 对于任何一对像素S和P,如果S大于P,则用一个箭头从S指向P'用这种 简洁的方法就可以表示像素之间的邻域关系了。 对区域最小值进行编号,并通过上步中的箭头关系对每个编号进行扩展。 这种算法的速度快,但也不是非常的精确。 上述两种有序算法所共有的特点:第一,它们都必须对图像进行多次的扫描, 非常耗时,效率低;第二,它们的迭代次数并不固定,并且每次迭代都需要重 新扫描图像,如果迭代次数很大,对普通电脑而言,可能需要几个小时才能完 成一次分割,效率太低。 在众多的顺序算法中,1991年Vincent和Soille提出的算法是最著名的基于 沉浸的模拟算法,也是最快的算法。在下面一节当中,我们主要来介绍这种算 4.3Vincent和Soille的算法上节中所描述的是分水岭分割算法,但具体的实现过程则需要用到另外的 算法。最常用的就是Soille和Vincent首先提出的模拟浸没的算法。本节重点描 述了该算法的实现。该算法分割结果效果好,速度快,具有很强的实用性。 Vincent和Soille算、法【35】是对上节算法数学模型的模拟实现过程。该算法包 括2个部分:第一个部分是排序;第二部分为泛洪。算法描述如下: 根据Sobel算子得到图像的梯度。(边缘像素的梯度为其邻域像素的梯度,梯度范围为0.255) 处理第一个梯度层级所有的像素,如果其邻域已经被标识属于某一个区域,则将这个像素加入一个先进先出的队列。 先进先出队列非空时,弹出第一个元素。扫描该像素的邻域像素,如果其邻域像素的梯度属于同一层(梯度相等),则根据邻域像素的标识 武汉理工大学硕士学位论文 来刷新该像素的标识。一直循环到队列为空。再次扫描当前梯度层级的像素,如果还有像素未被标识,说明它是一 个新的极小区域,则当前区域的值(当前区域的值从O开始计数)加1 后赋值给该为标识的像素。然后从该像素出发继续执行步骤5的泛洪 直至没有新的极小区域。 返回步骤4,处理下一个梯度层级的像素,直至所有梯度层级的像素都 被处理。 图4.2Vincent和Soille的算法流程 4.3.1Sobel算子实现 Sobel算子是~种加权平均算子,它是用对邻域像素的加权来突显边缘的【3们。 同样Sobel算子有2个,一个水平加权,~个垂直加权。与Roberts算子相比, Sobel算子对噪声有一定的抑制作用,它不依赖边缘方向的二阶微分算子,是一 个标量而不是向量,具有旋转不变性。 Sobel算子的定义为: 24 武汉理工大学硕十学位论文 (4.6)s,,-[r(x+1’),一1)+2/(x+1,y)+f(x+Ly之DJ (4.7) Sy。【厂O一1y+1)+2f(x,y+1)+厂@+1,.),+1)1(4-8) c4-9,4.3.2排序 我们需要对图像的梯度进行排序,一般情况下我们可以采用快速排序,但 快速排序算法在这里依然比较费时。我们可以采用一种地址分布式算法来代替 快速排序法。首先需要得到图像各个梯度级的像素的个数,和每个梯度级的累 积分布频率。这里梯度的范围是在0.255之间,大于255的强行规定为255,小 于O的用O代替。这样每个像素都有唯一一个存储单元。 用imagelen代表图像中像素的个数,hIIlin和hm戤代表整幅图像中梯度最小 值和梯度最大值。整个排序算法需要把图像扫描2次。第一次扫描计算出各个 梯度级像素的个数,第二次扫描计算每个梯度级的累积分布概率。排序完成以 后就可以直接访问了梯度为h的所有像素了。整个排序过程只需对整幅图像扫 描两次。 武汉理一r大学硕士学位论文 4.3.3算法的伪代码 排序完成以后,就用Vincent和Soille提出的沉浸法进行分水岭分割。水位 从最低的,hmin一直一级一级的上升到h一,当水位(梯度)为h时,所有的集 水盆地的区域最小值都不大于h。由于4.2.2中的排序,我们就可以直接获取水 位为h+l的像素,水位为h+l的所有像素我们事先用MASK进行标记(constINT MASK=.2),在所有标记为MASK像素中,如果其邻域已被标记,则讲已标记 的像素加入一个先进先出(FIFO)队列当中。顺序处理队列中的每个像素,如果其 邻域为MASK则其邻域标记为相同的标记,用这种方式来扩展集水盆地。如果 还有标记为MASK的像素未处理,这就说明有新的集水盆地出现,并且其梯度 最小值为h+l,此时需要重新进行一次扫描,给这些新集水盆地新的标记。 泛洪过程中对整幅图像扫描了三次:所有的像素被分为不同的梯度层级; 对每个梯度层级h进行的邻域扫描;扫描梯度层级为h的像素,看是否有新的 集水盆地。 Vincent和Soille的算法的伪代码【37】实现如下: #define INrr-1(*initial valueoflable image宰) #define MASK 2(}initial valueateach level謇) #defineWATERSHED 0(宰label ofthewatershed pixels幸) #define imi(宰decimalinputimage宰) #define imo(*image ofthelabeled watersheds牛) #define arrayline[】(木lien[】is aindex chain array whichsavedthe x-coordinatevalueofthesorted pixels木) #define arraycol[I(幸yf】is aindexchain array whichsavedthe y_coordinate valueofthesorted pixels}) #define arraycount[](木count[】is arraywhichsavethenumberof every grey level pixels valueINITisassignedtoeach pixel curlab<label+l;(木labelisthemaximummarkerofthe basin宰) forall Pimo do imo(p)<INIT; end Lethmiandhmdesignate thelowestand hi曲estvalues,respectively: 武汉理:C人学硕士学位论文 fori=h+ltohamx m=num(i-h)+z; forn--1to num(i.h+1) foru==1to num(i-h+1) imo(x,y)=imoO);delete_array(x);(窜为下一次扫描减少数据量宰) delete_array(y); num(i h--1)=num(i-h+1)一1; elseif imo(p)!=imo(x,Y) imo(p)=WATERSHED; end elseif imo(x,y)=MASK imo(x,y)=WATERSHED;delete_array(x);(幸为下一次扫描减少数据量掌) delete_array(y); num(i-h+1)=count(i.h+1)一1; end end end end (木检查是否有新的局部最小值发现,即是否有新盆地发现。?) if(num(i-h+1)=0) thereisnonewbasinwasdicoverd else if(num(i.h+1)!=0) 武汉理工大学硬士学位论文 (+newbasinsWerediscovered’) fori=1to num(i-h+1) applytheformeralgorithmthatwasusedforlabelthe initialbasiutothe remainedpixolsingreylevel endend END 4.4实验结果 用上述vs算法Ormceut和Soifie的算法的简称)t通过suni c+十6.0对多 幅图像进行了实验,图4-3中2幅b图是最典型的实验结果 VS算法实验效果如下圈舢3: 原图(a)分水岭分割后图(b) 分水峰分割后图(d)图4.3分水岭分割实验结果 'Vincent和Soillc提出的分水岭算法与图像的像素个数成正比,与4.3中提 武汉理:亡人学硕士学位论文 到的常用的经典算法相比要快几百倍。除此之外VS算法还有其他的优点:第一, 它使用4邻域和8邻域等任意一种网格图形;第二,这种算法可以推广到11维; 第三,精确度非常高。 通过以上的实验结果可知,分水岭分割对图像微弱的边缘有良好的分割响 应,分水岭分割存在2个重要的缺陷:一是过分分割的问题,二是噪声造成的 误差(基于边缘的分割方法对噪声很敏感)。 为了解决这个问题,我们可以对图像进行预处理,对图像进行平滑处理, 方法很多如邻域平均法,中值滤波,小波交换等。但图像的平滑不能从根本上 解决问题,因为图像本身纹理细节也会导致过分分割的问题,此时可以考虑用 区域合并的方法,把分割后的区域按照一定的原则进行合并可以改善分割结果。 武汉理工大学硕士学位论文 基于自动种子区域生长的算法不管采用何种梯度,仅用分水岭进行分割进行图像分割得到的结果往往是 产生过分分割的图像。所以一般经过分水岭分割后的图像需要经过区域生长合 并才能得到较好的效果,区域生长合并是分水岭分割的必要组成部分。 5.1区域生长算法 区域生长法是在图1-1中图像经典分割方法中基于区域的串行分割方法。它 的基本思想是把具有相似性的像素划为一个区域,在图像的所有像素中选一个 作为起始点及种子点,如果种子点邻域像素与该种子点满足一定的相似性,则 合并邻域的像素到该种子所属区域,新加入的像素作为新的种子重复上述的过 程,知道没有新的像素加入种子区域。 区域生长算法一般可以分为单连接区域生长,中心连接区域生长。下面对 这2种算法做简单的介绍13剐。 (1)单连接区域生长 把单个像素与其邻域像素的特性如梯度进行比较,从而进行区域生长。从 而衡量2个像素是否相似的方法就成为了关键。其生长步骤如下: 对整幅图像进行扫描,找出不属于任何区域的像素; 将像素与其邻域的像素相比较(与其比较的像素已不属于任何一个区域), 如果小于一定的阈值则进行合并。 反复进行的操作直至不能生长。 这种方法比较简单,但由于噪声和图像本身复杂度的干扰,常常导致了错 误的区域生成。 (2)中心连接区域生长 从满足一定相似性的点开始生长。这种方法的思路很清晰,假设A为已经 标记的一块区域,在其所有邻域中如果存在满足一定相似性的领点则加入区域 A,并刷新A的邻域像素,一直重复这个过程直至不再生长。 在区域生长算法中经常提到一个名词.邻域。在日常生活中我们所见到的图像 的最基本的组成部分为像素。一个像素占据一个单位的J下方形区域。它的水平 武汉理工大学硕士学位论文 和垂直方向的像素为该像素的4邻域,如果再加上2条对角线种子区域生长算法及描述 种子区域生长(SRG)是由Adams和Bischof提出的一种图像分割方法【39】。 其具体的实现过程是在待分割的图像中选取一个或者多个生长种子(种子可以

http://hostalblau.com/fenge/199.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有