数字图像处理作业班级: 1050221姓名: 李博学号: 0 3常用边缘检测算法分析与比较研究摘要: 随着计算机视觉技术的不断发展,其在各行各业得到了广泛的应用而边缘 提取技术是计算机视觉技术的一个基本的核心的技术,因为边缘包含着图像的重 要信息,边缘提取的效果在一定程度上也影响着后面进一步处理的精度和性能 本文分析和比较了一些经典的边缘及爱你侧算子,然后对其中的不足和缺陷,提 出了一种改进 Canny 的算法,实验结果表明,改进算法并使得边缘提取的效果 在一定程度上得到了改善1 概述1.1 . 研究的目的和意义 数字图像处理技术的迅猛发展,其应用前景得到了不可限量的扩展,如今各 行各业都在积极发展与图像相关的技术其应用逐渐凸显其魅力,其应用如医学 影像、航天航空、无人驾驶、自动导航、工业控制、导弹制导、文化艺术等边 缘检测技术在图像处理和计算机视觉等领域骑着重要的作用,是图像分析、模式 识别、目标检测与分割等的前期处理前期边缘检测的好坏,直接影响后期更高 级处理的精度自从 1986 年 John Canny 提出了最优边缘检测算子的三条准则并 推导出了一个近似实现但是在实际中,真正实现这一目标尚有较大的难度。
这 是因为:(1)实际图像一般都含有噪声,并且噪声的分布信息业是未知的,同时 噪声和边缘都属于高频信息,在进行滤波的同时,虽然能够在一定程度上抑制噪 声,却也丢失了边缘信息2)由于场景、光照条件的边缘等原因,同一场景在 不同光照条件下得到的边缘可能也是不同的,设置的阈值也可能是不同的针对 这些问题,如何进行改进,并得到一种较理想的边缘检测算子是有必要的1.2. 本文的框架结构 本论文的第一部分主要是介绍了本课题研究的目的和意义;第二部分主要是 对边缘检测进行概述,并对经典的边缘检测算子进行了分析和比较;;第三部分 进行了实验对比和分析,得出结论2. 边缘检测概述2.1 边缘的定义 首先介绍什么是边缘在数字图像中,边缘是指图像局部变化最显著的部分, 边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如 灰度的突变、纹理结构的图标、颜色的图标等尽管图像的边缘点产生的原因各 不相同,但他们都是图形上灰度不连续或灰度几句辩护的点,图像边缘分为阶跃 状、斜坡状和屋顶状2.2 边缘检测的基本方法 一般图像边缘检测方法主要有如下四个步骤:1)图像滤波:传统边缘检测算法主要是基于图像强度的一阶和二阶导数,但 导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器 的性能。
需要指出的是,大多数滤波器在降低噪声的同时也造成了了边缘强度的 损失,因此,在增强边缘和降低噪声之间需要一个折衷的选择2) 图像增强:增强边缘的基础是确定图像各点邻域强度的变化值增强算法 可以将邻域(或局部)强度值有显著变化的点突显出来边缘增强一般是通过计算 梯度的幅值来完成的3) 图像检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用 领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点最简单的边 缘检测判断依据是梯度幅值4) 图像定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像 素分辨率上来估计,边缘的方位也可以被估计出来近 20 多年来提出了许多边缘检测算子,在这里我们仅讨论集中常见的边缘 检测算子2.3 常见边缘检测算子分析1)差分边缘检测处理数字图像的离散域时,可以用图像的一阶差分来代替图像函数的导数 定义二维离散图像函数在 X 轴方向的一阶差分为:f (i +1, j) - f (i, j) (231)Y 轴方向上的一阶差分定义为:f (i, j +1) - f (i, j) (232)利用图像灰度的一阶导数算子在灰度值变化显著的地方得到的极值来检测 边缘点。
它在某一个点的值就代表了该点的边缘强度值,可通过设置阈值来进一 步得到边缘图像但用差分的方法进行边缘检测必须使差分的方向和边缘的方向 相垂直,这就需要对图像的不同方向分别进行差分运算,增加了运算量一般可 将边缘分为水平边缘、垂直边缘和对角线边缘:0000-10-100-110010010000000000图1水平边缘图2垂直边缘图3对角线边缘显然,差分边缘是最原始、最基础的方法,这种算子具有方向性,并且由于计算不方便等原因,在现在已经很少应用了,但其思想还是很多其他算法的基础2) Reborts 算子Reboerts 算子是一种利用局部差分来寻找边缘的算子, Roberts 梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下:Gx = f (i, j) - f (i -1, j -1) (2.3.3Gy = f (i -1, j) - f (i, j -1) (2.3.4IG (x, y )1= G 2 + G 2 (2.3.5)勺x yRober ts梯度算子对应的卷积模版为:Gx100101Gy 1 02.3.6)用以上两个卷积算子与图像运算后,可求出图像的梯度幅值G ( x,y)然后选择 适当的阈值t,若G ( x,y)T,贝U (i ,j为边缘点,否则,判断(i ,j为非边缘 点。
由此得到一个二值图像{ g (i, j)即边缘图像Roberts算子采用的是用对 角线方向上相邻两像素的差近似梯度幅值来检测边缘)它的定位精度高)对于水 平和垂直方向的边缘)检测效果较好)而对于有一定倾角的斜边缘)检测效果则 不理想,存在着许多的漏检另外,在含噪声的情况下,Roberts算子不能有效 的抑制噪声)容易产生一些伪边缘因此)该算子适合于对低噪声且具有陡峭边 缘的图像提取边缘3) Sobel算子Sobel算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪 声其模版大小为3x3,其将方向差分运算与局部加权平均相结合来提取边缘 在求取图像梯度之前)先进行加权平均)然后进行未分)加强了对噪声的一致Sobel算子所对应的卷积模版为:1 0 1'1 2 1Gx 2 0 2Gy 0 0 0(2.3.7)1011 2 1图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后)再计算得到 梯度幅值G ( x,y)然后选取适当的阈值t,若G ( x,y)T,则U (i ,j为边缘 点,否则,判断(i ,j为非边缘点由此得到一个二值图像{ g (i,j)即边缘图 像Sobel算子在空间上比较容易实现,不但产生较好的边缘检测效果,同时, 由于其引入了局部平均)使其受噪声的影响也较小。
若使用较大的邻域)抗噪性 会更好)但也增加了计算量)并且得到的边缘比较粗在对精度要求不是很高的 场合下,Sobel算子是一种较为常用的边缘检测算法4) Prewitt算子同Sobel算子相似,Prewitt算子也是一种将方向的差分运算和局部平均相 结合的方法)也是取水平和垂直两个卷积核来分别对图像中各个像素点做卷积运 算,所不同的是,Sobel算子是先做加权平均然后再微分,Prewitt算子是先平 均后求微分)其对应的卷积模版为:1 0 1'Gx 1 0 1101111Gy 0 0 01112.3.8)图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后)再计算得到 梯度幅值G ( x,y)然后选取适当的阈值t,若G ( x,y)>,则U (i ,j为边缘 点,否则,判断(i ,j为非边缘点由此得到一个二值图像{ g (i,j)即边缘图 像在此基础上,有人提出了改进的Prewitt算子,将其扩展到八个方向,依次用这些边缘模板去检测图像,与被检测区域最为相似的样板给出最大值用这个 最大值作为算子的输出值P[ i ,j],这样就可将边缘像素检测出来八个方向的 Prewitt 算子模板及其所对应的边缘方向如下所示:-111'11 1'111'-1-21-1-2 11-21-111-1-1 1-1-1-10°方向45O _* fj—t°方向90°方向11-11-1 -1-1-1-11-2-11-2 -11-2111-111 1111180°方向225°方向270°方向1 1 1、135°方向-1 -1 1'-1 -2 11 1 1315°方向Prewitt 算子通过对图像上的每个像素点的八方向邻域的灰度加权差之和来 进行检测边缘,对噪声有一定抑制作用,抗噪性较好,但由于采用了局部灰度平 均,因此容易检测出伪边缘,并且边缘定位精度较低。
5)Kirsch 算子Kirsch算子是一种3X3的非线性方向算子其基本思想是希望改进取平均 值的过程,从而尽量使边缘两侧的像素各自与自己同类的像素取平均值,然后再 求平均值之差,来减小由于取平均值所造成的边缘细节丢失通常采用八方向 Kirsch 模板的方法进行检测,取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向常用的八方向-3 - 3 5-355'-3 0 5-305-3 - 3 5-3-3-35 - 3 - 3-3-3-35 0 - 350-35 - 3 - 355-3Kirsch 模板如下所示:5 5 55 5 - 3-3 0 - 35 0 - 3-3 - 3 - 3-3 - 3 - 3-3 - 3 - 3-3 - 3 - 3'-3 0 - 3-3 0 55 5 5-3 5 5实际的应用中,通常都是利用简单的卷积核来计算方向差分的,不同的算子 对应着不同的卷积核它们在图像的像素点上所产生的两个方向的偏导数用均方 值或者绝对值求和的形式来近似代替梯度幅值,然后选取一个合适的阈值,用所 得到的梯度幅值和所设定的阈值进行比较来判断边缘点若大于所取的阈值,则 判断为边缘点;否则,判断为非边缘点。
很显然,在提取边缘的过程中,阈值 的选取特别重要,尤其在含噪图像中,阈值的选择要折衷考虑噪声造成的伪边缘 和有效边缘的丢失6)Laplace 算子拉普拉斯算子是不依赖于边缘方向的二阶导数算子,它是一个标量而不是向量,具有旋转不变即各向同性的性质若只关心边缘点的位置而不需要了解一其V 2 f =dx 2 dy 2周围的实际灰度差时,一般选择该算子提取图像的边缘Laplace算子的定义为:2.3.9)用差分方程近似二阶偏倒数的结果如下:学二 f (x, y +1) - 2f (x, y) + f (x, y -1) (2.3.10)OX 2Q 2 f-=f (x +1, y) — 2 f (x, y) + f (x — 1, y) (2.3.11)Oy2将这两个式子合并,可以得到近似Laplace算子的模版:'010 'V 2 f占1-41(2.3.12)、010,当 Laplace 算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过 零。