理工大学毕业论文
属,形成区域图,称之为区域生长的分割方法;如果从像元出发,按照区域属性特征一致的准则,将属性接近的连通像元聚集为区域,则是区域增长的分割方法。若是综合利用上述两种方法,就是区域分裂与合并的方法。它是先将图像分割成很多的一致性较强的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的。
基于区域的分割方法往往会造成图像的过度分割,而单纯的基于边缘检测方法有时不能提供较好的区域结构,为此可将基于区域的方法和边缘检测的方法结合起来,发挥各自的优势以获得更好的分割效果。
2.3 结合特定理论工具的分割方法
近年来,随着各学科许多新理论和新方法的提出,人们也提出了许多与一些特定理论、方法和工具相结合的分割技术?2?。
基于人工神经网络的分割方法的基本思想是用训练样本集对神经网络进行训练,以确定节点间的连接和权值,再用训练好的神经网络分割新的图像数据。目前,由于这种方法较复杂,计算量较大,还有待进一步实用化。
基于小波分析和变换的分割方法是借助数学工具小波变换来分割图像的一种方法。小波变换是一种多尺度、多通道的分析工具 它是空域和频域的局域变换,因而能有效地从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度分析,解决了傅立叶变换不能解决的许多问题。
基于数学形态学的分割技术的基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到对图像分析和识别的目的。由于形态学对图像分割具有优异的特性,使其在未来的图像分割中起主导作用。但该方法还不能很好地解决耗时问题,将其与一些节约时间的方法结合起来,是图像分割的一种趋势。
遗传算法是基于进化论自然选择机制的、并行的、统计的、随机化搜索的方法[2]。
5
理工大学毕业论文
第三章 基于边缘的图像分割方法的仿真实现
边缘是所要提取的目标和背景的边界线,如果能够提取出边缘就可以将目标和背景区分开来。图像的边缘中包含着有价值的边界信息,这些信息可以用于图像分析和目标识别等过程。并且通过边缘检测可以极大地降低图像分析处理的数据量。因此,边缘检测是图像分割的经典算法之一。
基于边缘的图像分割首先通过边缘检测得到在边缘上的像素点,然后在使用边缘检测算法后进行连接处理将边缘像素组合成有意义的边缘,即进行边缘跟踪。而在预先知道区域形状的条件下,也可以利用霍夫变换方便地得到边界曲线而将不连续的边缘像素点连接起来。
3.1 边缘检测
边缘检测是检测图像中有意义的不连续性的常用方法。一条边缘是一组相连的像素组合,这些像素位于两个区域的边界上。边缘总是以强度突变的形式出现,可以定义为图像局部特性的不连续性,如灰度的突变、纹理结构的突变等。边缘常常意味着一个区域的终结和另一个区域的开始?4?。
对于边缘的检测常常借助空间微分算子进行,通过将其模板与图像卷积完成。两个具有不同灰度值的相邻区域之间总存在灰度边缘,而这正是灰度值不连续的结果,这种不连续可以利用求一阶和二阶导数检测到。根据灰度变化的特点,常见的边缘可分为阶梯状、脉冲状和屋顶状。常用的空间微分算子主要包括:梯度算子、拉普拉斯算子和Canny算子等。
考核边缘算子的指标是:低误判率,即尽可能少地把边缘点误认为是非边缘点;高定位精度,即准确地把边缘点定位在灰度变化最大的像素上;抑制虚假边缘。其中,Canny算子是最优边缘检测算子。
当今的边缘检测方法中,主要有一次微分、二次微分和模板操作等。这些边缘检测器对边缘灰度值过渡比较尖锐且噪声较小等不太复杂的图像可以取得较好的效果。但对于边缘复杂的图像效果不太理想,如边缘模糊、边缘丢失、边缘不连续等。噪声的存在使基于导数的边缘检测方法效果明显降低,在噪声较大的情况下所用的边缘检测算子通常都是先对图像进行适当的平滑,抑制噪声,然后求导数,或者对图像进行局部拟合,再用拟合光滑函数的导数来代替直接的数值导数,如Canny算子等。在未来的研究中,用于提取初始边缘点的自适应阈值选取、用于图像层次分割的更大区域的选取以及如何确认重要边缘以去掉假边缘将变的非常重要。 3.1.1 梯度算子
梯度对应于一阶导数,相应的梯度算子对应于一阶导数算子。对于一个连续函数f?x,y?,
6
理工大学毕业论文
在?x,y?处的梯度定义如式3-1所示:
??f?f?T?GG ?f?? (3-1) xy???x?y?T??梯度是一个向量,其幅度和相位分别如式3-2和式3-3所示:
22?f?Gx?Gy??1/2 (3-2)
?Gy??x,y??arctan??G?x??? (3-3) ?式中的偏导数需要对每一个像素位置进行计算,在实际应用中常常采用小型模版利用卷积运算来近似,Gx和Gy各自使用一个模版?4?。常用的梯度算子主要有Roberts算子,Prewitt算子和Sobel算子。通过算子检测、二值处理后找到边界点。应用梯度算子进行边缘检测,Sobel算子的检测效果最好。 1、Roberts算子
Roberts边缘算子是一种斜向偏差分的梯度计算方法,梯度的大小代表边缘的强度,梯度的方向与边缘走向垂直。Roberts操作实际上是求旋转±45。两个方向上微分值的和。Roberts边缘算子定位精度高,在水平和垂直方向效果较好,但对噪声敏感。 2、Sobel算子
Sobel算子是一组方向算子,从不同的方向检测边缘。Sobel算子不是简单的求平均再差分,而是加强了中心像素上下左右四个方向像素的权重。运算结果是一副边缘图像。Sobel算子通常对灰度渐变和噪声较多的图像处理得较好。 3、Prewitt算子
Prewitt边缘算子是一种边缘样板算子,利用像素点上下、左右邻点灰度差,在边缘处达到极值检测边缘,对噪声具有平滑作用。由于边缘点像素的灰度值与其领域点像素的灰度值有显著不同,在实际应用中通常采用微分算子和模板匹配方法检测图像的边缘。Prewitt算子不仅能检测边缘点,而且能抑制噪声的影响,因此对灰度和噪声较多的图像处理得较好。 3.1.2 拉普拉斯算子
拉普拉斯算子(Laplacian)是一种二阶倒数算子,对于一个连续函数f?x,y?,在?x,y?处的拉普拉斯算子定义如式3-4所示:
?2f?2f?f?2?2 (3-4)
?x?y2 这里对模版的基本要求:对应中心像素的系数应该是正的,对应中心像素邻近像素的系
7
理工大学毕业论文
数应是负的,且它们的和总为零?4?。
拉普拉斯算子检测方法常常产生双像素边界,而且这个检测方法对图像中的噪声相当敏感,不能检验边缘方向。所以一般很少直接使用拉普拉斯算子进行边缘检测。 3.1.3 Canny算子
Canny算子是一类最优边缘检测算子。它在许多图像处理领域得到了广泛应用。
该算子的基本思想是:先对处理的图像选择一定的高斯滤波器进行平滑滤波,抑制图像噪声,然后采用“非极值抑制”(Nonmaxima Suppression)的技术,细化平滑后的图形梯度幅值矩阵,寻找图像中的可能边缘点;最后利用双门限检测通过双阈值递归寻找图像边缘点,实现边缘提取。
该方法与其他边缘检测方法的不同之处在于,它使用两种不同的阈值分别检测强边缘和弱边缘。并且仅当弱边缘与强边缘相连时才将弱边缘包含在输出图像中,因此这种方法容易检查出真正的弱边缘?5?。 3.1.4 结果分析
通过MATLAB软件进行仿真实验,所得分割图像如图所示,分别为梯度算子、拉普拉斯算子、Canny算子的图像分割仿真结果。针对不同的算子,分别选取分割较好的阈值进行分割。
基于各种算子的图像分割算法是比较经典的图像分割算法之一,边缘检测器对边缘灰度值过渡比较尖锐且噪声较小等不太复杂的图像可以取得较好的效果。但对于边缘复杂的图像效果不太理想,如边缘模糊、边缘丢失、边缘不连续等?5?。
(a) 原始图像 (b) Roberts算子
8
理工大学毕业论文
(c) Sobel算子 (d) Prewitt算子
(e) 拉普拉斯算子 (f) Canny算子
图3-1 边缘算子的边缘检测图像
从图3-1的仿真结果可以看出,对于复杂的图像,分割结果确实出现了边缘丢失和不连续的现象,而且对比发现:由图3-1(f)可以看出Canny算子的分割效果最好,能够检测到真正的弱边缘,但是会造成一定的边缘丢失。而在三个梯度算子中,由图3-1 (b)、(c)、(d)可以看出Sobel算子的分割效果最好。若针对不同的微分算子,正确选择阈值,对简单图像可以得到很好的分割效果,如图3-2(a)-(f)所示。
这是因为:Roberts对噪声较敏感;Sobel算子虽对噪声有一定的抑制能力,但检测出的边缘容易出现多像素宽度;Prewitt算子对噪声具有较好的平滑作用;Canny算子不容易受噪声的干扰,能够检测到真正的弱边缘,但由于具有较强的噪声抑制,同样也会将一些高频边缘平滑掉,造成边缘丢失。
9