常用边缘检测算法的对比分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理作业

班级: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 轴方向的一阶差分为:

),(),1(j i f j i f -+ (2.3.1)

Y 轴方向上的一阶差分定义为:

),()1,(j i f j i f -+ (2.3.2)

利用图像灰度的一阶导数算子在灰度值变化显著的地方得到的极值来检测边缘点。它在某一个点的值就代表了该点的边缘强度值,可通过设置阈值来进一步得到边缘图像。但用差分的方法进行边缘检测必须使差分的方向和边缘的方向相垂直,这就需要对图像的不同方向分别进行差分运算,增加了运算量。一般可将边缘分为水平边缘、垂直边缘和对角线边缘:

000011000

-

000010010- 000010001- 图 1 水平边缘 图 2 垂直边缘 图 3 对角线边缘

显然,差分边缘是最原始、最基础的方法,这种算子具有方向性,并且由于计算不方便等原因,在现在已经很少应用了,但其思想还是很多其他算法的基础。

2)Reborts 算子

Reboerts 算子是一种利用局部差分来寻找边缘的算子,Roberts 梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下:

)1,1(),(---=j i f j i f Gx

(2.3.3 )1,(),1(---=j i f j i f Gy

(2.3.4 22|),(|y x G G y x G +=

(2.3.5)

Roberts 梯度算子对应的卷积模版为:

⎥⎦⎤⎢⎣⎡-=1001Gx ⎥⎦⎤⎢⎣⎡-=0110Gy (2.3.6) 用以上两个卷积算子与图像运算后,可求出图像的梯度幅值 G ( x,y),然后选择 适当的阈值τ ,若 G ( x,y)>τ,则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 { g (i,j)},即边缘图像。Roberts 算子采用的是用对角线方向上相邻两像素的差近似梯度幅值来检测边缘,它的定位精度高,对于水平和垂直方向的边缘,检测效果较好,而对于有一定倾角的斜边缘,检测效果则不理想,存在着许多的漏检。另外,在含噪声的情况下,Roberts 算子不能有效的抑制噪声,容易产生一些伪边缘。因此,该算子适合于对低噪声且具有陡峭边缘的图像提取边缘。

3)Sobel 算子

Sobel 算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪声。其模版大小为3×3,其将方向差分运算与局部加权平均相结合来提取边缘。在求取图像梯度之前,先进行加权平均,然后进行未分,加强了对噪声的一致。Sobel 算子所对应的卷积模版为:

⎥⎥⎥⎦⎥⎢⎢⎢⎣⎢---=101202`101Gx ⎥⎥⎥⎦⎥⎢⎢⎢⎣⎢--=121000121Gy (2.3.7)

图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到 梯度幅值 G ( x,y),然后选取适当的阈值τ ,若 G ( x,y)>τ,则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 { g (i,j)},即边缘图像。Sobel 算子在空间上比较容易实现,不但产生较好的边缘检测效果,同时,由于其引入了局部平均,使其受噪声的影响也较小。若使用较大的邻域,抗噪性会更好,但也增加了计算量,并且得到的边缘比较粗。在对精度要求不是很高的场合下,Sobel 算子是一种较为常用的边缘检测算法。

4)Prewitt 算子

同 Sobel 算子相似,Prewitt 算子也是一种将方向的差分运算和局部平均相结合的方法,也是取水平和垂直两个卷积核来分别对图像中各个像素点做卷积运算,所不同的是,Sobel 算子是先做加权平均然后再微分,Prewitt 算子是先平均后求微分,其对应的卷积模版为:

⎥⎥⎥⎦⎥⎢⎢⎢⎣⎢---=101101`101Gx ⎥⎥⎥⎦⎥⎢⎢⎢⎣⎢---=111000111Gy (2.3.8)

图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到 梯度幅值 G ( x,y),然后选取适当的阈值τ ,若 G ( x,y)>τ,则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 { g (i,j)},即边缘图像。

在此基础上,有人提出了改进的Prewitt 算子,将其扩展到八个方向,依次

相关文档
最新文档