数字图像处理技术与.ppt
第3章 图像边缘提取和分割,3.1引言3.2 图像分割处理3.3 图像二值化,第3章 图像边缘提取和分割,3.1引言 图像最基本的特征是边缘,边缘是指其周围像素灰度有阶跃变化或屋顶状变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域、基元与基元之间。它是图像分割所依赖的最重要的特征,也是纹理特征的中重要信息源和形状特征的基础。而图像的纹理形状特征的提取又常常要依赖于图像分割。,3.1.1 统计模式识别简介,统计模式识别认为图像可能包含一个或多个物体,并且每个物体属于若干事先定义的类型、范畴或模式之一。虽然模式识别可以用多种方法实现,但是在此只关心用数字图像处理技术对它的实现。在给定一幅含有多个物体的数字图像的条件下,模式识别过程如图3.1所示,由三个主要阶段组成。,3.1.1 统计模式识别简介,图3.1 模式识别的三个阶段,第一阶段称为图像分割或物体分离阶段。检测出各个物体,把它们的图像和其余景物分离。这一过程也可以称为图像预处理第二阶段是特征提取,一个物体某个可度量性质是度量值,而特征是一个或多个度量的函数。计算特征是为了对物体的一些重要特征进行定量估计。特征抽取过程产生了一组特征,把它们组合在一起,就形成了特征向量。第三阶段称为分类。它的输出是一种决策,确定每个物体应该归属的类别。每个物体被识别为某一特定类型,分类以特征向量作为依据。,3.1.1 统计模式识别简介,3.2 图像分割处理,用计算机进行数字图像处理的目的有两个,一是产生更适合人类视觉观察和识别的图像,二是希望计算机能够自动进行识别和理解图像。图像处理的关键问题是对包含有大量各式各样景物信息的图像进行分解。分解的最终结果就是图像被分成一些具有各种特征的最小成分,这些成分就称为图像的基元。产生这些基元的过程就是图像分割的过程。,3.2 图像分割处理,图像分割可以采用三种不同的原理来实现。在利用区域的方法时,把个别像素划分到各个物体或区域中。在边界方法中,只需确定存在于区域的边界。在边缘方法中,则先确定边缘像素,并把他们连接在一起以构成所需的边界。图像分割作为图像处理领域中极为重要的内容之一,是实现图像分析与理解的基础。所谓图像分割就是按照一定的原则将一幅图像或景物分为若干个部分或子集的过程。,3.2 图像分割处理,图像分割也可以按照如下的标准分类:1.基于区域的分割方法 包括阈值分割法、区域生长和分裂合并法、聚类分割法等;2.基于边界的分割方法 包括微分算子法、串行边界技术等基于区域和边界技术相结合的分割方法。,3.2.1 图像分割的一些常用基本方法,1.直方图分割 最简单的方法是建立在灰度直方图分析的基础上。如果一个图像是由明亮目标在一个暗的背景上组成的,其灰度直方图将显示两个最大值,一个是由目标点产生的峰值,另一个峰值是由背景点产生的。,3.2.1 图像分割的一些常用基本方法,如果目标和背景之间反差足够大,则直方图中的两个峰值相距甚远,可以选择一个灰度阈值T将两个最大值隔开。图中所有大于的灰度值可用数值1取代,而所有小于或等于的灰度值可用数值0取代,如式3.1所示。这样生成一个二值图像,其中目标点用1表示。如果图像由两个以上成分所组成,则直方图将显示多重峰值,分割可以取多重阈值来完成。,为了得到理想的二值图像,一般采用阈值分割技术,它对物体与背景有较强对比的图像的分割特别有效,计算简单而且总能用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阈值的像素被判决为属于物体,灰度值用“255”表示,否则这些像素点被排除在物体区域以外,灰度值为“0”,表示背景。,3.2.1 图像分割的一些常用基本方法,2.区域生长 区域生长是把图像分割成若干小区域,比较相邻小区域的特征相似性,将相似的区域逐一合并,最后形成特征不同的区域。进行区域生长法要注意的三个问题:(1)取定区域的数目;(2)选择特征;(3)确定相似性准则 特征相似性是构成合并区域的基本准则,相邻性是指所取的邻域方式。区域生长根据所用的邻域方式和相似性准则的不同,产生各种不同的区域扩张法。可以简单分为:像素与像素;像素与区域;区域与区域。,3.2.1 图像分割的一些常用基本方法,1)简单区域扩张法 以图像的某个像素为生长点,比较相邻像素的特征,将特征相似的相邻像素合并为同一区域;以合并的像素为生长点,重复整个过程,最终形成具有相似特征的像素的集合。2)像素与区生长 比较单个像素的特征与其相邻区域的特征,如果相似则将该像素合并到相邻区域中。比较已经存在区域像素灰度平均值与该区域邻接的像素灰度值,如果差值小于阈值则合并,否则不合并。这种方法与起始像素有关,起始位置不同分割结果有差异。,3.2.1 图像分割的一些常用基本方法,3)区域与区域生长 基本原则是将图像分割成若干子块,比较相邻子块的相似性,如果相似则合并,否则不合并。下面介绍不依赖于起始点的方法(1)设灰度差的阈值为0,用像素与像素的生长方法将具有相同灰度的像素合并到同一区域,得到图像的初始分割图像;(2)从被分割图像的一个小区域开始,求出相邻区域间的灰度差,将差值最小的相邻区域合并;(3)重复上述操作,将区域逐一合并。,3.2.1 图像分割的一些常用基本方法,3.使用阈值进行图像分割 使用阈值是一种区域分割技术,对物体与背景有较强对比的景物的分割特别有效。计算简单,而且总能用封闭且连通的边界定义不交叠的区域。1)局部阈值分割 阈值分割法分为全局阈值法和局部阈值分割法。局部阈值分割法是将原始图像划分成较小的图像,并对每个子图像选取相应的阈值。在阈值分割后,相邻子图像之间的边界处可能产生灰度级的不连续性,因此需用平滑技术进行排除。,3.2.1 图像分割的一些常用基本方法,2)全局阈值分割 采用阈值确定边界的最简单做法是在整个图像中,将灰度阈值设置为常数。如果背景的灰度值在整个图像中可合理地看作为恒定,而且所有物体与背景都具有几乎相同的对比度,那么,只要选择了正确的阈值,使用一个固定的全局阈值一般会有较好的分割效果。,3.2.1 图像分割的一些常用基本方法,3.2.1 图像分割的一些常用基本方法,原始图像 阈值T=91 阈值T=130 阈值T=43 图3.3 不同阈值对分割结果的影响,3)自适应阈值 在许多境况下,背景的灰度值并不是常数,物体与背景的对比度在图像中也有变化。这时,一个在图像中某一区域效果良好的阈值,在其它区域可能效果很差。在这种情况下,把灰度阈值取成一个随图像中位置缓慢变化的函数值是适宜的。或者对图像采用划分区域处理的方法。这种算法就称为自适应阈值。,3.2.1 图像分割的一些常用基本方法,4)最佳阈值的选择 除非图像中的物体有陡峭的边沿,否则灰度阈值的抽取对物体的边界定位和整体的尺寸有很大的影响。这就意味着后续的尺寸,特别是面积的测量对于灰度阈值的选择很敏感。由于这个原因,需要一个最佳的,或至少是具有一致性的方法确定阈值。因此,采用第2章讲述的直方图技术。,3.2.1 图像分割的一些常用基本方法,一幅含有一个与背景明显对比的物体的图像具有包含双峰的灰度直方图如图3.4所示。两个尖峰对应于物体内部和外部较多数目的点。两峰间的谷对应于物体边缘附近相对较少数目的点。在类似这样的情况下,通常使用直方图来确定灰度阈值。利用灰度值对物体面积进行计算的定义为(3.2),3.2.1 图像分割的一些常用基本方法,图 3.4 一幅图像中两个区域的灰度级概率密度函数,3.2.1 图像分割的一些常用基本方法,假设一幅图像仅包含两个主要灰度级区域。令Z表示灰度级的值,而且将这些值看成是随机量,并且将图像的直方图看成是概率密度函数(PDF)的估计p(z)。一个是图像中亮区域的密度,另一个是暗区域的密度。如果密度的表达式已知或者进行了假设,则它能够确定一个最佳阈值(具有最低分割误差),将图像分割为两个可以区分的区域。,3.2.1 图像分割的一些常用基本方法,3.2.1 图像分割的一些常用基本方法,如图3.4所示,假设两个PDF中p2(z)对于背景的灰度级,p1(z)描述了图像中目标的灰度级。描述图像中整体灰度级变化的混合概率密度函数为(3.3),3.2.1 图像分割的一些常用基本方法,其中p1为像素属于目标像素的概率,p2是像素属于背景像素的概率。假设任何像素不是属于目标就是属于背景,使得(3.4),式(3.4)表示曲线 下方位于阈值T左边区域的面积。同样将一个目标点当成背景点进行分类,错误发生的概率为(3.5),3.2.1 图像分割的一些常用基本方法,3.2.2 边缘检测,确定图像中的物体边界的另一种方法是先检测每个像素和其直接邻域的状态,以决定该像素是否确实处于一个物体的边缘上。具有所需特性的像素被称为边缘点。当图像中各个像素的灰度级用来反映各像素符合边缘像素要求的程度时,这种图像就称为边缘图像或边缘图。,图3.5 图像边缘示意图,3.2.2 边缘检测,3.2.2 边缘检测,如图3.5所示,当目标和背景的边缘清晰时,称之为阶跃状边缘。当目标和背景的边缘是渐变的,称之为屋顶状边缘。根据不同的边缘选择不同的边缘检测算子才能对图像进行有效的分割。,3.2.3 边缘检测算子,边缘检测算子检查每个像素的邻域,并对灰度变化率进行量化,通常也包括方向的确定。有很多方法可以使用,其中大多数是基于方向导数掩模求卷积的方法。经典的、最简单的边缘检测方法是对原始图像按像素的某邻域构造边缘检测算子。例如梯度算子,Sobel算子,拉普拉斯算子,Kirsch算子和Prewitt算子等边缘检测算子。,图3.6 像素8邻域坐标示意图,3.2.2 边缘检测,下面介绍几种常用的边缘检测算子,如图3.6所示,画出了一个像素的8邻域示意图,可以用坐标进行标注,例如位于(i,j)坐标的一个像素有4个水平和垂直的相邻像素,其坐标表示为 这个像素集称为的4邻域,用N4(p)表示,每个像素距离一个单位距离。,3.2.2 边缘检测,3.2.2 边缘检测,p的4个对角的相邻像素有如下坐标:它们与4邻域点一起构成点的8邻域,下面讲述的算子表达式都是基于图3.6所示像素的8邻域 表示。,3.2.2 边缘检测,1.梯度算子 对于阶跃状边缘图像,在边缘点其一阶导数取极值。由此,对数字图像的每个像素取它的梯度值:,3.2.2 边缘检测,适当取门限作如下判断:若 点为阶跃边缘点,称为梯度算子的边缘图像。在有些问题中,只对边缘位置感兴趣,把边缘点标为“1”,非边缘点标为“0”,形成边缘二值图像。,3.2.2 边缘检测,2.Roberts边缘算子 Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,表示为,3.Sobel边缘算子 对于阶跃状边缘,Sobel提出一种检测边缘点的算子。对数值图像的每个像素考察它上、下、左、右邻点灰度的加权差,与之接近的邻点权大。据此,定义Sobel算子,3.2.2 边缘检测,4.Laplacian算子 对于阶跃状边缘,二阶导数在边缘点出现零交叉,即边缘点两旁二阶导数取异号,据此,对数字图像的每个像素,取它关于轴方向和轴方向的二阶差分之和。,3.2.2 边缘检测,对于屋顶状边缘,在边缘点的二阶导数取极小值。对数字图像的每个像素取它的关于方向和方向的二阶差分之和的相反数,即Laplacian算子的相反数。,3.2.2 边缘检测,5 Kirsch边缘算子 图3.7所示的8个卷积核组成了Kirsch边缘算子。图像中的每个点都用8个掩模进行卷积,每个掩模对某个特定边缘方向做出最大响应。所有8个方向中的最大值作为边缘幅度图像的输出。最大响应掩模的序号构成了对边缘方向的编码。,3.2.2 边缘检测,00 450 900 1350,3.2.2 边缘检测,1800 2250 2700 3150 图3.7 Kirsch边缘算子,3.2.2 边缘检测,6.Marr-Hildreth 边缘检测算子 Marr-Hildreth边缘检测算子是将高斯算子和拉普拉斯算子结合在一起而形成的一种新的边缘检测算子,先用高斯算子对图像进行平滑处理,然后采用拉普拉斯算子根据二阶微分过零点来检测图像边缘,因此该算子也可称为LOG(Laplacian of Gaussian)算子。,3.2.2 边缘检测,在数字图像中实现图像与模块卷积运算时,运算速度与选取的模块大小有直接关系,模块越大,检测效果越明显,速度越慢,反之则效果差一点,但速度提高很多。因此在不同的条件下应选取不同大小的模块。在实际计算过程中,还可以通过分解的方法提高运算速度,即把二维滤波器分解为独立的行、列滤波器。常用的55 模块的Marr-Hildreth算子如图3.8所示。,3.2.2 边缘检测,图3.8 LOG算子的55模板,3.2.2 边缘检测,3.2.2 边缘检测,7Canny 边缘检测算子 Canny边缘检测算子是近年来在数字图像处理中广泛应用的边缘算子,它是应用变分原理推导出的一种用高斯模块导数逼近的最优算子。通过Canny算子的应用,可以计算出数字图像的边缘强度和边缘梯度方向,为后续边缘点的判断提供依据。,Canny算子用范函求导方法推导出高斯函数的一阶导数,即为最优边缘检测算子的最佳近似。由于卷积运算可交换,可结合,故Canny算法首先采用二维高斯函数对图像进行平滑,二维高斯函数表示为其中,为高斯滤波器参数,它控制着平滑的程度,较小的滤波器定位精度高,但信噪比低;较大的滤波器情况正好相反,因此,要根据需要选取高斯滤波器参数。,3.2.2 边缘检测,传统Canny算法利用一阶微分算子来计算平滑后图像各点处的梯度幅值和梯度方向,获得相应的梯度幅值图像和梯度方向图像,其中,点处两个方向的偏导数 和分别为则此时点处的梯度幅值和梯度方向分别表示为,3.2.2 边缘检测,为了精确定位边缘,必须细化梯度幅值图像中的屋脊带,只保留幅值的局部极大值,即非极大值抑制(NMS)。Canny算法在梯度幅值图像中以点为中心的邻域内沿梯度方向进行插值,若点处的梯度幅值大于方向上与其相邻的两个插值,则将点标记为候选边缘点,反之则标记为非边缘点。这样,就得到了候选的边缘图像。,3.2.2 边缘检测,传统Canny算法采用双阈值法从候选边缘点中检测和连接出最终的边缘。双阈值法首先选取高阈值和低阈值,然后开始扫描图像。对候选边缘图像中标记为候选边缘点的任一像素点进行检测,若点梯度幅值高于高阈值,则认为该点一定是边缘点,若点梯度幅值低于低阈值,则认为该点一定不是边缘点。而对于梯度幅值处于两个阈值之间的像素点,则将其看作疑似边缘点,再进一步依据边缘的连通性对其进行判断,若该像素点的邻接像素中有边缘点,则认为该点也为边缘点,否则,认为该点为非边缘点。,3.2.2 边缘检测,Canny边缘检测算子的最优性与以下的三个标准有关:(1)检测标准:不丢失重要的边缘,不应有虚假的边缘;(2)定位标准:实际边缘与检测到的边缘位置之间的偏差 最小;(3)单响应标准:将多个响应降低为单个边缘响应。,3.2.2 边缘检测,3.2.2 边缘检测,Canny边缘检测算子基于如下几个概念:(1)边缘检测算子是针对一维信号表达的,对检测标准和 定位标准最优;(2)如果考虑第三个标准(多个响应),需要通过数值优 化的办法得到最优解。该最优滤波器可以有效地近似 为标准差为的高斯平滑滤波器的一阶微分,为了便于 实现检测误差小于20%,与LOG边缘检测算子很相似;(3)将边缘检测算子推广到二维情况。阶跃状边缘由位置、方向和可能的幅度来确定。,3.2.2 边缘检测,8Prewitt算子Prewitt提出了类似的计算偏微分估计值的方法,梯度计算表示为,1方向 2方向 3方向 4方向 5方向 6方向 7方向 8方向 图3.9 Prewitt1-8方向边缘检测算子模板,3.2.2 边缘检测,3.2.2 边缘检测,图 3.10 8个算子样板对应的边缘方向,3.2.4 边缘检测算子的对比,在数字图像处理中,对边缘检测主要要求就是运算速度快,边缘定位准确,噪声抑制能力强,因此就这几方面对以上介绍的几个算子进行分析比较。首先,在运算速度方面,对于一个图像,其计算量如表3-1所示。,根据实际测试结果,简单介绍各个算子的特点。1.Roberts算子 Roberts算子利用局部差分算子寻找边缘,边缘定位精度较高,但容易丢失一部分边缘信息,同时由于没经过图像平滑计算,因此不能抑制噪声。该算子对具有陡峭的低噪声图像响应最好。,3.2.4 边缘检测算子的对比,2.Sobel算子和Prewitt算子 Sobel算子和Prewitt算子都是对图像进行差分和滤波运算,差别只是平滑部分的权值有些差异,因此对噪声具有一定的抑制能力,但不能完全排除检测结果中出现伪边缘。同时这2个算子边缘定位比较准确和完整。该类算子对灰度渐变和具有噪声的图像处理结果较好。3.Krisch算子 该算子对八个方向边缘信息进行检测,因此具有较好的边缘定位能力,并且对噪声有一定的抑制作用,就边缘定位能力和抗噪声能力来说,该算子的处理效果比较理想。,3.2.4 边缘检测算子的对比,4.Laplacian算子 拉普拉斯算子为二阶微分算子,对图像中的阶跃状边缘点定位准确且具有旋转不变性,即无方向性,但是该算子容易丢失一部分边缘的方向信息,造成一些不连续的检测边缘,同时抗噪声能力比较差。拉普拉斯算子比较适用于屋顶型边缘的检测。,3.2.4 边缘检测算子的对比,5.Marr-Hildreth算子 Marr-Hildreth算子首先通过高斯函数对图像作平滑处理,因此对噪声的抑制作用比较明显,但同时也可能将原有的边缘也平滑了,造成某些边缘无法检测到。此外高斯函数中方差 参数的选择,对图像边缘检测效果有很大的影响。越大,检测到的图像细节越丰富,但对噪声抑制能力相对下降,易出现伪边缘;反之,则抗噪声性能提高,但边缘定位准确性下降,易丢失许多真边缘,因此,对于不同的图像应该选择不同的参数。,3.2.4 边缘检测算子的对比,6.Canny算子 Canny算子同样采用高斯函数对图像作平滑处理,因此具有较强的去噪能力,但同样存在容易平滑掉一些边缘信息。同时其后所采用的一阶微分算子的方向性较M-H算子要好,因此边缘定位准确性较高。通过实验结果可以看出,该算子是传统边缘检测算子中效果较好的算子之一。,3.2.4 边缘检测算子的对比,3.3 图像二值化,假设一幅图像由亮的对象和暗的背景组成,那么从背景中提取对象的方法是选择一个门限值通常被称为阈值。所有的像素值为255的属于对象或称为目标,像素值为0的则属于背景。归一化以后变为1和0。这是在3.2中叙述过的具有双峰直方图的图像的分割方法。经过门限处理后的图像定义为,因此,标记为1的像素对应于对象,而标记为0的像素对应于背景。当处理仅取决于一个灰度级值时,门限就称为全局的。否则,就称为局部的。另外,如果取决于空间坐标和灰度值,门限就是动态的或自适应的。按公式方法分割得到的图像就是二值图像。,3.3 图像二值化,本章小结:图像最重要的特征之一是边缘,它也是图像分割的主要依据,因此本章讲述了图像分割的基本概念和方法,重点讲述了边缘的基本特征,经典边缘检测算子及其模板。如:Roberts算子、Sobel算子、Prewitt算子、Krisch算子、Laplacian算子等微分算子,它们对于阶跃状边缘和屋顶状边缘的检出效果是不同的。同时,作为图像分割的一个重要部分讲述了二值图像的概念及其算法。,第3章 图像边缘提取和分割,