12第3章图像边缘提取和分割3.1引言图像最基本的特征是边缘,边缘是指其周围像素灰度有阶跃变化或屋顶状变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域、基元与基元之间。它是图像分割所依赖的最重要的特征,也是纹理特征中的重要信息源和形状特征的基础。而图像的纹理形状特征的提取又常常要依赖于图像分割。2019/11/2133.1.1统计模式识别简介统计模式识别认为图像可能包含一个或多个物体,并且每个物体属于若干事先定义的类型、范畴或模式之一。虽然模式识别可以用多种方法实现,但是在此只关心用数字图像处理技术对它的实现。在给定一幅含有多个物体的数字图像的条件下,模式识别过程如图3.1所示,由三个主要阶段组成。2019/11/2143.1.1统计模式识别简介图3.1模式识别的三个阶段2019/11/21图像分割特征提取分类输入图像物体图像特征图像物体类型5图像分割:检测出各个物体,把它们的图像和其余景物分离,这一过程也可以称为图像预处理。2019/11/213.1.1统计模式识别简介63.2图像分割处理用计算机进行数字图像处理的目的有两个:一是产生更适合人类视觉观察和识别的图像;二是希望计算机能够自动进行识别和理解图像。图像处理的关键问题是对图像进行分解。分解的最终结果是各种特征的最小成分(基元)。产生基元的过程就是图像分割的过程。2019/11/2173.2图像分割处理图像分割也可以按照如下的标准分类:1.基于区域的分割方法包括阈值分割法、区域生长和分裂合并法、聚类分割法等;2.基于边界的分割方法包括微分算子法、基于区域和边界技术相结合的分割方法。2019/11/2183.2.1基于区域的分割方法直方图分割(灰度阈值分割)最简单的方法是建立在灰度直方图分析的基础上。如果一个图像是由明亮目标在一个暗的背景上组成的,其灰度直方图将显示两个最大值,一个是由目标点产生的峰值,另一个峰值是由背景点产生的。2019/11/219图3—1图像的直方图),(yxf10由直方图可以知道图像的大部分像素灰度值较低,其余像素较均匀地分布在其他灰度级上。由此可以推断这幅图像是由有灰度级的物体叠加在一个暗背景上形成的。可以设一个阈值T,把直方图分成两个部分,如图所示。T的选择要本着如下原则:B1应尽可能包含与背景相关连的灰度级,而B2则应包含物体的所有灰度级。),(yxf11当扫描这幅图像时,从到之间的灰度变化就指示出有边界存在。当然,为了找出水平方向和垂直方向上的边界,要进行两次扫描。也就是说,首先确定一个门限,然后执行下列步骤:B1B2T12第一,对的每一行进行检测,产生的图像的灰度将遵循如下规则其他处在不同的灰度级上和BELyxfyxfLyxf)1,(),(),(1式中是指定的边缘灰度级,是背景灰度级。),(yxfLELB13第二,对的每一列进行检测,产生的图像的灰度将遵循下述规则其他上灰度处在不同的灰度级和BELyxfyxfLyxf),1(),(),(2),(yxf14在数字图像处理中,样板是为了检测某些不变区域特性而设计的阵列。样板可根据检测目的不同而分为点样板、线样板、梯度样板、正交样板等等。点样板的例子如图3—2所示。下面用一幅具有恒定强度背景的图像来讨论。1)、点样板3.2.2基于边界检测方法(样板匹配)15-1-1-1-18-1-1-1-122222222230220292222222822222222222222222用点样板的检测步骤如下:3-2点样板检测16样板中心(标号为8)沿着图像从一个像素移到另一个像素,在每一个位置上,把处在样板内的图像的每一点的值乘以样板的相应方格中指示的数字,然后把结果相加。如果在样板区域内所有图像的像素有同样的值,则其和为零。否则其和不为零。17例如,设代表3×3模板的权,并使为模板内各像素的灰度值。从上述方法来看,应求两个矢量的积,即:129,,,xxx129,,,WXxxxxTnnn1122991918线检测样板如图3—3所示。其中,样板(a)沿一幅图像移动,它将对水平取向的线(一个像素宽度)有最强的响应。对于恒定背景,当线通过样板中间一行时出现最大响应;样板(b)对45°方向的那些线具有最好响应;样板(c)对垂直线有最大响应;样板(d)则对-45°方向的那些线有最好的响应。1)、线样板19图3—3线样板20设是图3—3中四个样板的权值组成的九维矢量。与点样板的操作步骤一样,在图像中的任一点上,线样板的各个响应为,这里i=1、2、3、4。此处X是样板面积内九个像素形成的矢量。给定一个特定的X,希望能确定在讨论问题的区域与四个线样板中的哪一个有最相近的匹配。如果第i个样板响应最大,则可以断定X和第i个样板最相近。换言之,如果对所有的值,除外,有:jijWXWXiTjT就可以说和第个样板最接近。如果,=2、3、4,可以断定代表的区域有水平线的性质。XiWXWXiTjTj22对于边缘检测来说也同样遵循上述原理。通常采用的方法是执行某种形式的二维导数。类似于离散梯度计算,考虑3×3大小的模板,如图3—4所示。23图3—433样板考虑3×3的图像区域,及分别用下式表示GxGyGghiadcx()()22Gcfiadgy()()2224采用绝对值的一种定义为在点的梯度为eGGGxy2212GGGxy梯度模板如图3—5所示。25图3—5梯度样板26边缘检测也可以表示成矢量,其形式与线样板检测相同。如果代表所讨论的图像区域,则:XGWXxT1GWXyT2这里,是图3—5中的两个样板矢量。分别代表它们的转置。W1W2WWTT12,27这样,梯度公式如下这种形式:GWXWXTT()()121212GWXWXTT12283.2.2图像分割的一些常用基本方法原始图像阈值T=91阈值T=130阈值T=43图3.3不同阈值对分割结果的影响2019/11/21293.Sobel边缘算子对于阶跃状边缘,Sobel提出一种检测边缘点的算子。对数值图像的每个像素考察它上、下、左、右邻点灰度的加权差,与之接近的邻点权大。据此,定义Sobel算子2019/11/21)]1,1(),1(2)1,1([)]1,(),1(2)1,1,([),(jifjifjifjjifjifjifjiS)]1,1()1,(2)1,1([)]1,1()1,(2)1,1([jifjifjifjifjifjif3.2.2边缘检测304.Laplacian算子对于阶跃状边缘,二阶导数在边缘点出现零交叉,即边缘点两旁二阶导数取异号,据此,对数字图像的每个像素,取它关于轴方向和轴方向的二阶差分之和。2019/11/21),(4)1,()1,(),1(),1(),(),(),(222jifjifjifjifjifjifjifjifyx3.2.2边缘检测31对于屋顶状边缘,在边缘点的二阶导数取极小值。对数字图像的每个像素取它的关于方向和方向的二阶差分之和的相反数,即Laplacian算子的相反数。2019/11/21),(4)1,()1,(),1(),1(),(),(2jifjifjifjifjifjifjiL3.2.2边缘检测325.Kirsch边缘算子图3.7所示的8个卷积核组成了Kirsch边缘算子。图像中的每个点都用8个掩模进行卷积,每个掩模对某个特定边缘方向做出最大响应。所有8个方向中的最大值作为边缘幅度图像的输出。最大响应掩模的序号构成了对边缘方向的编码。2019/11/213.2.2边缘检测330045090013502019/11/21-350-35-3-35-3-350-35-3-3-35550-3-3-3-3-355-305-35-3-3-33.2.2边缘检测341800225027003150图3.7Kirsch边缘算子2019/11/215-305-3-3-3-35-3-305-355-3-35-305-3-3-3-35-3-30-35-355-33.2.2边缘检测356.Marr-Hildreth边缘检测算子Marr-Hildreth边缘检测算子是将高斯算子和拉普拉斯算子结合在一起而形成的一种新的边缘检测算子,先用高斯算子对图像进行平滑处理,然后采用拉普拉斯算子根据二阶微分过零点来检测图像边缘,因此该算子也可称为LOG(LaplacianofGaussian)算子。2019/11/213.2.2边缘检测36在数字图像中实现图像与模块卷积运算时,运算速度与选取的模块大小有直接关系,模块越大,检测效果越明显,速度越慢,反之则效果差一点,但速度提高很多。因此在不同的条件下应选取不同大小的模块。在实际计算过程中,还可以通过分解的方法提高运算速度,即把二维滤波器分解为独立的行、列滤波器。常用的5×5模块的Marr-Hildreth算子如图3.8所示。2019/11/213.2.2边缘检测37图3.8LOG算子的5×5模板244424080448248440804244422019/11/213.2.2边缘检测383.2.2边缘检测7.Canny边缘检测算子Canny边缘检测算子是近年来在数字图像处理中广泛应用的边缘算子,它是应用变分原理推导出的一种用高斯模块导数逼近的最优算子。通过Canny算子的应用,可以计算出数字图像的边缘强度和边缘梯度方向,为后续边缘点的判断提供依据。2019/11/2139Canny算子用范函求导方法推导出高斯函数的一阶导数,即为最优边缘检测算子的最佳近似。由于卷积运算可交换,可结合,故Canny算法首先采用二维高斯函数对图像进行平滑,二维高斯函数表示为其中,为高斯滤波器参数,它控制着平滑的程度,较小的滤波器定位精度高,但信噪比低;较大的滤波器情况正好相反,因此,要根据需要选取高斯滤波器参数。2019/11/212222221),(yxeyxG3.2.2边缘检测40传统Canny算法利用一阶微分算子来计算平滑后图像各点处的梯度幅值和梯度方向,获得相应的梯度幅值图像和梯度方向图像,其中,点处两个方向的偏导数和分别为则此时点处的梯度幅值和梯度方向分别表示为2019/11/212/)),1()1,1(),()1,((),(jifjifjifjifyxGx2/))1,1(),1(),((),(jifjifjifjiGy),(),(),(22jiGjiGjiGyx),(),(arctan),(jiGjiGjiyx3.2.2边缘检测41为了精确定位边缘,必须细化梯度幅值图像中的屋脊带,只保留幅值的局部极大值,即非极大值抑制(NMS)。Canny算法在梯度幅值图像中以点为中心的邻域内沿梯度方向进行插值,若点处的梯度幅值大于方向上与其相邻的两个插值,则将点标记为候选边缘点,反之则标记为非边缘点。这样,就得到了候选的边缘图像。2019/11/213.2.2边缘检测42传统Canny算法采用双阈值法从候选边缘点中检测和连接出最终的边缘。双阈值法首先选取高阈值和低阈值,然后开始扫描图像。对候选边缘图像中标记为候选边缘点的任一像素点进行检测,若点梯度幅值高于高阈值,则认为该点一定是边缘点,若点梯度幅值低于低阈值,则认为该点一定不是边缘点。而对于梯度幅值处于两个阈值之间的像素点,则将其看作疑似边缘点,再进一步依据边缘的连通性对其进行判断,若该像素点的邻接像素中有边缘点,则认为该点也为边缘点,否则,认为该点为非边缘点。2019/11/213.2.2边缘检测43Canny边缘检测算子的最优性与以下的三个标准有关:(1)检测标准:不丢失重要的边缘,不应有虚假的边缘;(2)定位标准:实际边缘与检测到的边缘位置