边缘检测原理(内含三种算法)

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

边缘检测原理的论述

摘要

数字图像处理技术是信息科学中近几十年来发展最为迅速的学科之一。图像边缘是图像最基本的一种特征,边缘在图像的分析中起着重要的作用。边缘作为图像的一种基本特征,在图像识别、图像分割、图像增强以及图像压缩等的领域中有较为广泛的应用,其目的就是精确定位边缘,同时更好地抑制噪声。目前,数字图像处理技术被广泛应用于航空航天、通信、医学及工业生产等领域中。图像边缘提取的手段多种多样,本文主要通过MATLAB语言编程分别用不同的算子例如Roberts算子、Prewitt算子、Sobel算子、Kirsch算子、Laplacian算子、Log算子和Canny算子等来实现静态图像的边缘检测,并且和检测加入高斯噪声的图像进行对比。阐述了不同算子在进行图像边缘提取的特点,并在此基础上提出利用小波变换来实现静态图像的边缘检测。

【关键字】图像边缘数字图像边缘检测小波变换

背景

图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。图像处理方法有光学方法和电子学方法。从20世纪60年代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。

计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。(2)希望能由计算机自动识别和理解图像。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。

边缘是图象最基本的特征.边缘检测在计算机视觉、图象分析等应用中起着重要的作用,是图象分析与识别的重要环节,这是因为子图象的边缘包含了用于识别的有用信息.所以边缘检测是图像分析和模式识别的主要特征提取手段。

所谓边缘是指其周围像素灰度后阶变化或屋顶状变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域,基元与基元之间。因此它是图象分割所依赖的重要的特征,也是纹理特征的重要信息源和形状特征的基础;而图象的纹理形状特征的提取又常常依赖于图象分割。图象的边缘提取也是图象匹配的基础,因为它是位置的标志,对灰度的变化不敏感,它可作为匹配的特征点。

图象的其他特征都是由边缘和区域这些基本特征推导出来

的.边缘具有方向和幅度两个特征.沿边缘走向,像素值变化比较平缓;而垂直与边缘走向,则像素值变化比较剧烈.而这种剧烈可能呈现阶跃状,也可能呈现斜坡状。边缘上像素值的一阶导数较大;二阶导数在边缘处值为零,呈现零交叉。

经典的、最简单的边缘检测方法是对原始图象按像素的某邻域构造边缘算子.由于原始图象往往含有噪声,而边缘和噪声在空间域表现为灰度有比较大的起落;在频域则反应为同是高频分量,这就给边缘检测带来困难.

原理

边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就是利用了这个特点,对图像各个像素点进行微分或求二阶微分来确定边缘像素点。一阶微分图像的峰值处对应着图像的边缘点;二阶微分图像的过零点处对应着图像的边缘点。根据数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于图像的简单一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性。为了克服一阶导数的缺点,我们定义图像的梯度为梯度算子,它是图像处理中最常用的一阶微分算法。图像梯度的最重要性质是梯度的方向是在图像灰度最大变化率上,它恰好可以反映出图像边缘上的灰度变化。

1 .Roberts 算子

边缘,是指周围像素灰度有阶跃变化或屋顶等变化的那些像素的集合。图像的边缘对应着图像灰度的不连续性。显然图像的边缘很少是从一个灰度跳到另一个灰度这样的理想状况。真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。

边缘的锐利程度由图像灰度的梯度决定。梯度是一个向量,∇f 指出灰度变化最快的方向和变化量。

),(

f y

f x f ∂∂∂∂=∇ 梯度大小由

22⎪⎪⎭⎫ ⎝⎛∂∂+⎪⎭⎫ ⎝⎛∂∂=∇y f x f f 确定。而梯度方向则由

⎪⎪⎪⎭

⎫ ⎝⎛∂∂∂∂=x f y f θ 确定。

因此最简单的边缘检测算子是用图像的垂直和水平差分来逼近梯度算子:

()()))1,(),(,,1,(----=∇y x f y x f y x f y x f f

因此当我们寻找边缘的时候,最简单的方法是对每一个像素计算出(2.1.4)的向量,然后求出它的绝对值。利用这种思想就得到了Roberts 算子:

2122})],1()1,([)]1,1(),({[),(y x f y x f y x f y x f y x g +-++++-= 2 .Prewitt 算子

Roberts 算子是直观的也是简单的,但是对噪声多的情况显然效果不好。实践中人们做了大量的实践,总结出了一些经验,后来Prewitt 提出了一个算子,这就是Prewitt 算子。 Prewitt 边缘检测算子使用两个有向算子(一个水平的,一个是垂直的,一般称为模板),每一个逼近一个偏导数:

⎪⎪⎪⎭⎫ ⎝⎛---=111000111v p ⎪⎪⎪⎭

⎫ ⎝⎛---=101101101h p

如果我们用Prewitt 算子检测图像 M 的边缘的话,我们可以先分别用水平算子和垂直算子对图像进行卷积,得到的是两个矩阵,在不考虑边界的情形下也是和原图像同样大小的 M1,M2,他们分别表示图像M 中相同位置处的两个偏导数。然后把M1,M2 对应位置的两个数平方后相加得到一个新的矩阵G,G 表示M 中各个像素的灰度的梯度值(一个逼近)。然后就可以通过阀值处理得到边缘图像。

我们假设图像的灰度满足下面这个关系:

γβα++=y x M y x ,

则梯度是(α,β) 。

显然,当前像素 3×3 邻域内像素值为:

相关文档
最新文档