图像边缘检测技术分析

2024-08-18

图像边缘检测技术分析(共9篇)

图像边缘检测技术分析 篇1

0 引言

数字图像处理的英文名称是“Digital Image Processing”。通常说的数字图像处理是指用计算机进行的处理,因此也称为计算机图像处理(Computer Image Processing)。数字图像处理包括点运算、几何处理、图像增强、图像复原、图像形态学处理、图像编码、图像重建、模式识别几项内容。提取出图像的边缘就是边缘检测,图像边缘检测对于图像识别、压缩、匹配都是十分重要的。在应用中有很多方法,本文讨论的是由Kass等人提出的一种边缘检测方法,称为活动边缘或蛇行边缘。而且Snake模型自提出以来,已经获得了非常大的成就。这归功于计算机视觉领域的科学家对这个模型的不断修改和完善。这些改善体现在能量函数的设计、优化方法的改进和把Snake模型用于其他技术相结合上。

1 方法原理

Snake边缘检测方法是一种半互动的方法,操作者将一条初始的边缘线置于图像中待检测形状的邻域内。这条线将会在几种力的作用下变形:

①内能类似于线性物质的张力和扭力那种机械能;

②势能由图像提供的试图镶贴那些边缘曲线的势能;

③外能由使用者根据所提问题的指标引入的约束。

基于这些能量,活动边缘朝着最小能量的地方演化,并折中问题的各个不同的约束。

该问题的准确描述是,将边缘参数定义为一个变量的函数:

则我们有

其中,一次导数计算曲线长度的变化;即所谓张力项(折断的抵抗力),它由我们赋予边缘的弹性来控制。二次导数表示曲率的变化;即边缘的弯曲度项,它由边缘的刚性来控制。这两项用来形成一条规则的曲线,如图1所示:

其中将比值弹性/刚性固定为2,3和4,假设不存在与图像相关的能量。

势能(Eimage)表征希望跟随的线。在边缘检测的情况下,就是大梯度的线,它的值通常为:

但是它也可以随着灰度级的最大值自适应地变化(在Eimage=f的情况下),或者其他所有函数都根据这些最大值来定义。

能量最后一项外能(Eimage)由使用者来选择。它可以有多种形式,例如,使边缘与所给模板相似,使边缘接近另一幅图像上已经检测到的边缘(序列的连贯性,或者三维图像的连贯性)。

当最后一项不存在且在寻找大梯度的线条的情况下,式(2.1)可以写为:

上式通常可用不同的方式来求解。假设边缘朝着能量最小值方向,或者朝着为零的方向进行演化。用v'和v"表示沿着v曲线的一阶和二阶导数,我们有一个向量微分方程:

其α、β、γ中都是沿着s的隐式变量。有若干种方式将曲线离散化:

根据有限差分:曲线上所有的元素都被紧缩到隶属于所考虑的曲线的机械元素(质量、刚性等)的点上,该曲线被认为是这些点的中心。

根据有限元素:用元素的分割代替曲线的每个部分,在这些分割段上计算机械元素。闭合的活动边缘矩阵表示见图2。

这里我们仅描述应用得最多的一种方法。曲线离散化成n个点后,我们就有

我们可以得到一个形式上为矩阵的方程:

具中A为7元素对角矩阵,其尺寸为n×n,它是α和β的函数;I是尺寸为n×n的单位矩阵;而γ表示曲线移动的惯性。其解为:

若参数α、P和γ沿着曲线不变,则对于所有的时间t,求解系统只需计算一次(A+γI)-1。否则,每个时刻都需要计算矩阵的逆。参数α、β和γ的选择不是由问题指定的,因此常常还是很繁杂的事情,以保证适当的收敛性,对▽f估计的选择也是这样。有时主张将Deriche滤波作为估计器。

尽管收敛性的调节有困难,但是活动边缘为边缘检测带来了一种可行的办法,它介于纯局部办法(Sobel类型的操作法)和全局分割之间。有三种不同的活动边缘被使用:闭合的活动边缘(这时有),自由端点的活动边缘和固定端点的活动边缘。

根据活动边缘的类型,矩阵A表现为具有循环特性的(闭合的活动边缘)、Toplitz的(闭合的活动边缘)或者其中任何一种。

在不存在图像梯度产生的吸引力的情况下,让活动边缘自由地单独演变,若它是闭合的,边缘就有紧缩为一个点的趋势;若是自由端点的情形,则趋于一条直线。为了抵消这种倾向,有时引入一些“充气”内力,于是就有了气球效应。因为充气力的方程不再来自势能,所以它的描述较为复杂。

还提出了一些技巧的方法来寻找“蛇”的最佳位置,这里利用了动态规划技术在整个图像栅格上移动节点。Snake方法的算法原理见图3。

另外,我们可将活动边缘技术与基于统计特性的方法结合起来区分背景,并且使用贝叶斯意义下的最大似然最佳化,实践证明这种方法非常有效,它将边缘提取和区域分割技术联系起来。

2 检测效果演示及分析

在实际处理中,使用了VC++编程工具编写程序,算法流程如下图4所示:

使用图4的算法流程图,自己编写了程序,检测效果见图5、6。图中左侧图像中的线条为给出的初始边缘,右侧图像中的线条为检测后得到的边缘。从左、右侧图的比较可以看到边缘检测的实际效果,计算边缘比给出的初始边缘更接近于实际边缘。但也可以看到局部区域失实,这主要是由于给出的初始边缘造成的,因为在局部区域内给出点的收敛方向与实际边缘相反,可以更改给出的初始边缘来改善检测效果;另外,在此基础上要改善检测效果,最好是增加重复计算次数,也可以更改约束条件,但更改约束条件比较麻烦。

3 结束语

在编程实现算法过程中,影响边缘检测效果的原因主要有三个:其一是重复计算边缘点的次数,其二是给出的约束条件,其三是给出的初始边缘。Snake边缘检测算法能够快速的找出边缘坐标点;而且由于实现过程是逐点进行分析,所以程序用较小的精度来调整边缘;并且在给定的条件下,要根据需要进行分析,需要增减的仅是约束条件。在进行检测之前最好运用其他手段对图像进行预处理,可以在较大程度上改善边缘检测的效果。

摘要:随着图像信息应用需要的迅速增长,数字图像处理技术在现今社会中有着越来越多的应用,特别是边缘检测技术。本文探讨了边缘检测技术中Snake算法的原理及方法,编程实现了文中所提出的检测方法,并对图像进行了实际处理,取得了较好的效果。

关键词:数字图像处理,边缘检测,Snake方法

参考文献

[1][法]Henri Maitre,等.孙洪译.现代数字图像处理[M].北京:电子工业出版社,2006.

[2][美]David Simon,周瑜萍,等.Visual C++6编程宝典[M].北京:电子工业出版社,2005.

[3]周长发.精通Visual C++图像处理编程(第三版)[M].北京:电子工业出版社,2006.

[4]夏良正.数字图像处理(修订版)[M].南京:东南大学出版社,1999.

[5]邓航,芮雨,等.用于边缘检测的Snake模型[J].上海交通大学学报,2000(6):848-858.

[6]张国锋,周明全.基于活动轮廓模型的人脸轮廓提取[J].计算机工程,2004(18):59-60.

[7]陈允杰,等.一种新的活动轮廓模型[J].中国图像图形学报,2005(8):1012-1017.

[8]姚小红,赵亦工.基于Snake模型的快速目标检测算法的研究与仿真[J].计算机仿真,2004(11):181-183.

图像边缘检测技术分析 篇2

基于极约束和边缘点检测的图像密集匹配

综合运用极约束和边缘点检测实现了两幅图像的密集匹配.真实图像实验表明,该方法能够产生非常密集的匹配点并具有较高的.匹配精度.

作 者:孔晓东 屈磊 桂国富 梁栋  作者单位:安徽大学计算智能与信号处理教育部重点实验室,合肥,230039 刊 名:计算机工程  ISTIC PKU英文刊名:COMPUTER ENGINEERING 年,卷(期): 30(20) 分类号:N911.73 关键词:极几何   基本矩阵   图像匹配  

图像边缘检测技术分析 篇3

关键词:图像处理; 边缘检测; 模板; 卷积; 非极大抑制

边缘检测方法的优劣直接影响着图像特征提取及其它后续处理,是图像预处理中的关键。边缘检测是对灰度变化的度量与定位,灰度变化的显著程度可以通过导数来度量,即函数导数能够反映图像灰度变化的显著程度,因此边缘检测的一个基本思想就是通过求一阶导数的局部极大值,二阶导数的过零点来体现出来的。利用梯度最大值提取边缘点的这种思想产生了许多经典的边缘检测方法如:Sobel算法、Log 算法、Canny 算法等。

一、边缘检测概述

图像中边缘检测是利用物体和背景在某种图像特征中的差异来实现的, 这些差异包括灰度、颜色或纹理特征, 检测出图像特征发生变化的位置从而达到检测目的。图像边缘是分析和理解图像的基础, 是图像中最基本的特征, 图像处理的研究中许多都涉及到边缘检测。图像边缘检测在实际工程中有着广泛的应用, 如图像匹配、模式识别、特征提取和图像编码等。

二、国内外现状

边缘检测技术作为一个低级的计算机视觉处理技术很早就引起了人们关注。最早提出边缘检测技术的是Julez,但他并未展开系统研究,而最早期对其进行系统研究的是Roberts在1965年开始的,从此,拉开了图像边缘检测技术研究的序幕。

很多年来,由于众多专家、学者的不懈努力,在边缘检测领域提出了很多相关理论和边缘检测算法,大致将已有的边缘检测算法分类如下:

1.传统边缘检测算法。传统边缘检测算法以原始图像为基础,对图像中的各个像素考察它的某个领域内灰度值的阶跃变化,利用边缘邻近一阶或者二阶方向导数变化规律来检测边缘,这种方法简单而且有效。其中最基本的算子有:Roberts算子, Sobel算子、Prewitt算子和Kirsch算子等等,这些算子都是一阶微分算子。其检测原理为:一阶导数在边缘处取得最大值。但是运用上述一阶边缘检测算子检测边缘时,在边缘像素邻域产生的响应较宽,还需要后期进行细化处理,所以这些算子的边缘定位精确度不高。

2.改进的传统边缘检测法。传统边缘检测法大多属于微分算法,在数字边缘检测中,常用不同的模板算子与图像的像素灰度值做卷积运算,来求解边缘的导数值。这些算法简单有效,可操作性强,相对来说比较成熟,并且在matlab中可以直接调用,已经应用于很多领域,并取得了显著成绩。所以,基于这些算子的改进是今后研究边缘检测算法的方向之一。很多学者已经付出了很多努力,取得了很多研究成果。

3.基于小波变换和形态学的图像边缘检测算法。小波变换是一种有效的数学工具,它通过时间和频域的局域变换能有效提取有用信息,并且,还能够通过伸缩和平移对信号进行多尺度细化分析,具有良好的时频局部化特性、方向选择性以及多尺度分析能力,是检钡(突变信号的有力工具。各种基于小波变换的图像边缘检测方法也取得了很大发展,并且,应用领域越来越广泛。例如,二进制小波;多进制小波、巴布小波、正交小波等等类型的小波也在图像边缘检测方面也取得了不错的研究成果。

三、医学图像边缘检测算法

1.canny算法。基于这三个准则,Canny得出了c-y边缘检测算子。完整的c-y边缘在高斯噪声中代表一个跳变的强弱情况。按照这个模型,canny研究了已有的边缘检测算子以及其在边缘检测领域内的相关应用,在1986年canny提出了一个相对比较好的边缘检测方法,这种算法要求满足下述几个准则:

(l)信噪比准则:该准则主要是在图像边缘处来检测有无结果。并且不能出现虚假边缘。

(2)精度定位准则:也就是我们所标记的边缘位置必须要和其他在图像上的边缘的中心位置相近。

(3)单边响应准则:单独边缘所产生的响应的频率不要太高,并且需要最大地抑制虚假边缘响应。

这里,脉冲响应导数的零交叉点平均距离D(f)必须满足下面的关系式:

D(f)=π

h”(x)是h(x)的二阶导数。根据上面的指标和准则,我们使用泛函求导的方法来推导出Canny边缘检测器,并得出这个检测器恰恰是信噪比和定位之乘积的最优的逼近算子。

主要过程如下:

(1)对图像进行平滑,我们主要使用高斯滤波器来进行;

(2)计算幅值和方向;

(3)必須要让梯度的幅值被极大值所抑制;

(4)用双闽值算法对边缘进行检测与连接。

canny边缘检测重点是用来寻找到梯度幅度的局部最大值。这里的梯度通过高斯滤波器的导数来进行计算出来的。Canny方法主要使用两个闽值分别对强边缘以及弱边缘进行检测,同时在对强边缘与弱边缘进行相连操作的时候。

2.MTM算法。均值滤波算法对于脉冲信号去噪的能力是很不理想的。然而,中值滤波算法却能够很好滴对脉冲噪声进行去噪,但是对于高斯噪声的去噪能力相对差了一点。

但是在最后评价时,这些方法往往都采用利用单一的噪声进行评价。假如能够找到某种方法可以将脉冲噪声以及被高斯噪声影响的像素进行区分开来,然后对于受到不同噪声干扰的像素进行不同的滤波,所以理论上将,这将会起到比较好的滤波效果。

3.Otsu算法研究。在对图像的处理过程中,长期以来,阈值的自动选取都是对图像进行研究的重点话题。往往阈值的选取都是在这样的一种假设上进行研究的。那么最佳的阈值应该具备最好的而且可以所示分开的两类门限。这种算法计算比较简单,并且一定情况下不会受到图像对比度和亮度变化的影响,同时在某些图像在进行实时处理系统中的应用也变得十分广泛,长期以来就被认为是阈值自动化选取领域里的最优化的方法。

四、结语

由于边缘检测技术的复杂性和研究时间的限制,本课题的研究对象主要针对医学图像算法,所提出方法的应用领域还有待于进一步扩展和完善,但是这些方法对后续边缘检测研究工作具有很高的参考价值。此外,由于技术上的限制,还有很多问题有待进一步的研究。展望今后的研究工作,还有待研究。

参考文献:

[1] 段瑞玲,李庆祥,李玉和.图像边缘检测方法研究综述[J].光学技术,2005,31(3):415-419.

[2] 马艳,张治辉.几种边缘检测算子的比较[J].工业自动化,2004(1):54-56.

基于图像边缘检测的方法分析研究 篇4

目前, 图像边缘检测方法包括边缘算子法, 模板匹配法, 曲线拟合法和门限化法等。一般经典的边缘检测算法最为常用, 但是又各有优缺点和适用局限, 尤其对于有噪声的图像。如Roberts梯度算子、Sobel梯度算子等, 虽然其边缘检测速度快, 但得到的往往是断续的、不完整的结构信息。这类方法对噪声比较敏感, 为了有效抑制噪声, 一般都首先对原图象进行平滑, 再进行边缘检测就能成功的检测到真正的边缘。虽然说每种方法都有各自的优点, 但是它们没有广泛性, 因此对于图像边缘检测方法的研究目前还是图像处理中的难题。

1 Roberts算子

Roberts算子也可以叫做交叉差分算子, 是一种利用局部差分寻找边缘的算子。其表达式如公式 (1) :

其中, f (i, j) 表示处理前 (i, j) 点的灰度值;g (i, j) 表示处理后该点的灰度值。Roberts算子模板如图1所示:

用Roberts算子检测图像边缘, 首先必须获取源图像的首地址、图像宽度和高度以及图像每行像素所占的字节数, 然后再把源图像存储在一个大小一致的内存缓冲区, 对它初始化为255, 暂时作为缓冲图像。根据公式 (1) , 用Roberts算子计算当前像素点的灰度值, 并将该值记录到缓存图像相互对应的位置。最后再将缓存图像复制还原到源图像中, 释放内存。

2 Sobel算子

与Roberts算子相比, Sobel算子也是一种利用局部差分寻找边缘的算子, 但是Sobel算子是3x3的邻域处理。Sobel算子主要强调中心像素的4邻域对边缘的影响, 来消弱4个对角临近像素对其作用。不过最重要的是, Sobel算子是有方向性的, 在水平方向和垂直方向形成对强烈的边缘。下面Gx和Gy分别是代表横向与纵向的图像, 公式分别如下所示:

图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合, 来计算梯度的大小。如公式 (4) 所示:

梯度的方向如公式 (5) 所示:

Sobel算子主要由两个卷积核形成, 其模板如图2所示。根据公式 (6) 所示, 将图像中的每个像素点分别与下面两个核做卷积, 取值较大的作为该像素点的灰度值。当处理完毕后就可以成为一幅边缘强度图像。

3 Prewitt算子

Prewitt算子应用和Sobel算子类似, 其原理是在图像空间利用两个方向的3x3模板 (如图3) 和图像进行卷积运算, 这两个模板一个是垂直方向模板, 一个是水平方向模板。它是一种一阶微分算子的边缘检测, 其利用像素点的上下左右邻域的灰度差, 在边缘处达到极值检测边缘, 并且去掉一部分伪边缘, 它对噪声具有平滑作用。

例如, 对于一个图像g (x, y) , Prewitt算子的纵向和横向可以表示如公式 (6) 和公式 (7) 所示:

对于经典的Prewitt算子, 凡是灰度值大于或者等于阈值的像素点都可以归为边缘点。也就是说选择适当的阈值点T, 若某一像素点大于或者等于T, 则该点是边缘点, 相反, 则不是边缘点。但是, 这种判断方法还是有一定的欠合理, 因为一般图像中都会含有很多噪声, 噪声点的灰度值也很大, 如果用上述判断方法, 就会将噪声点误判为边缘点。

4 Krisch算子

与之前不同的是, Krisch算子是由8个方向的8个模板组成的方向算子, 但是也是3x3邻域的处理。具体处理就是用图像的每个像素跟这8个模板进行卷积运算, 其最大值可以作为边缘图像输出。此算子的8个卷积核如图4所示:

此算法实现跟其他算法一样的, 首先还是获取图像首地址、宽和高以及图像每行像素所占的字节数, 然后再开辟两块与源图像大小一致的内存缓冲区, 把图像先分别复制到这两个缓冲区里。接下来设置Krisch算子的第1和第2模板的参数, 并分别调用模板函数 (本实验所用的是Template () 函数) 来实现对源图像每个像素的卷积计算, 将处理后的像素点再储存在两个缓冲区。我们可以比较两个缓存图像对应像素点的大小, 取值较大的作为该像素的灰度值, 并且保存在第一个缓存图像中。之后就重复用模板3、4、5、6、7、8来跟图像每个像素点做卷积, 并且把卷积的结果保存在缓冲区2中, 再把两个缓存区的像素点比较, 把取值较大的作为像素的灰度值, 这样直至8个模板都执行完毕为止。最后第一个缓存区的像素点就是处理最后的图像。

5 Laplacian算子

前面已经介绍了四种算子了, 可是这四种算子都属于一阶导数边缘算子, 下面要介绍的Laplacian算子它属于二阶导数边缘算子。Laplacian算子如公式 (8) 所示:

由于此算子是个标量, 所以Laplacian算子只需要一个模板。下面给出Laplacian算子常用的两个模板。如图5所示:

6 Gauss-Laplacian算子

Gauss-Laplacian算子是对Laplacian算子的一种改进, 是考虑图像5x5邻域的处理。由于Laplacian算子对噪声很敏感, 而Gauss-Laplacian算子正好引入了平滑滤波, 有效地去除了服从正太分布的噪声, 使得图像边缘检测效果更好。图6给出了Gauss-Laplacian算子模板。

7 边缘检测效果及分析

通过上述所示的方法, 根据如图7a所示的流程图, 本文对蚂蚁图像进行了边缘检测试验, 试验效果如图7b所示。

从效果图可以看出, 在源图像没有噪声时, Roberts算子、Sobel算子、Prewitt算子都能够较准确的对图像边缘进行检测。当加入白噪声之后, 这三种方法的处理效果都多少受到噪声的干扰。噪声越多, 影响就越重, 检测出的伪边缘也就越多。其中噪声对Roberts算子影响最大。因为Roberts算子主要采用对角线方向相邻两像素点之差进行检测, 虽然说检测水平和垂直方向边缘的性能好于斜线方向, 但是它对噪声很敏感。同时Sobel算子和Prewitt算子对噪声有着平滑作用, 可以减小对噪声的敏感性。Krisch算子检测比较麻烦, 所以效果也不是很理想。Laplacian算子由于用了16个方向进行检测的模板, 并且可以设定适当的权向量, 避免了一些伪边缘的提取, 其检测精度要高。通过改进了的Laplacian算子, Gauss-Laplacian算子不但检测出来边缘更清晰, 而且可以检测出原来没有检测出的部分边缘。

8 总结

图像边缘检测技术分析 篇5

关键词:边缘检测,图像处理,边缘检测算子,梯度,图像边缘

图像边缘包含了图像最重要的信息,图像边缘检测是计算机视觉和数字图像处理等领域研究的重要内容之一。边缘是指图像周围像素灰度有阶跃变化或屋顶变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域、基元与基元之间,是图像最基本的特征,以及图像分析与识别的重要环节[1]。边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界,图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分来获得边缘检测算子[2]。该文主要分析了几种典型的边缘检测算子,Roberts边缘检测算子、Prewitt边缘检测算子、Sobel边缘检测算子、LOG边缘检测算子、Canny边缘检测算子,并用Matlab对这几种算法分别进行了仿真,并且还在对灰度图加入高斯噪声后这几种算法的仿真,以便能更清楚地看出这几种算法对含有噪声的图像的抑制情况,然后分别对得到的各种效果图进行比较分析,为人们在实际情况中选择适当的算子提供参考。

1 几种经典的边缘检测算法

图像边缘检测算法是根据图像边缘存在的突变性质来检测的。主要分为两种类型[3,4]:一种是以一阶微分为基础的边缘检测算子,通过计算一阶导数局部最大值来检测图像边缘,如:Roberts算子、Prewitt算子、Sobel算子、Canny算子;另一种是以二阶微分为基础的边缘检测算子,通过寻求二阶导数中的过零点来检测边缘,如:LOG算子。

1.1 一阶微分算子

基于一阶微分的算子是通过计算图像的梯度值来检测图像边缘的,利用梯度去寻找一幅图像f的(x,y)位置处边缘的强度和方向,梯度用∇f来表示,用向量定义为[2]:

其中梯度值是一个矢量,因此它有大小和方向,用M(x,y)表示梯度的大小,即

用α(x,y)表示梯度的方向,即

为了得到一幅图像的梯度,在图像的每一个像素位置处都需要计算偏导数∂f∂x和∂f∂y,因此,可以使用小区域模板卷积来进行近似计算[5]。于是研究者们根据这个模板大小及其元素值选择的不同提出了许多不同的边缘检测算子,它们对边缘检测的效果有不同的特性。主要包括了Roberts算子、Prewitt算子、Sobel算子,以及Canny[5]在其硕士论文中提出的基于一阶微分滤波器的三条最优化准则的Canny算子。

1.1.1 Roberts算子

Roberts算子是利用局部图像像素中交叉对角线方向的相邻两像素之差来近似梯度幅值检测图像边缘。该算子定义为:

该算子的梯度幅值为:

可以用两个2×2大小的模板代替该算子梯度幅值的计算,即

该算子的梯度方向可以由公式(3)算出。由于该算子没有对图像进行平滑,因此对噪声的抑制能力不强。另外,该算子检测到的图像边缘比较细,但是连续性较弱。

1.1.2 Prewitt算子

Prewitt算子由Roberts算子2×2大小的模板扩展为3×3大小的模板来计算差分算子,它是利用像素点上下、左右邻点的灰度差,在边缘处达到最大值来检测边缘[6,11]。该算子利用两个方向的模板,即检测水平边缘的模板和检测垂直边缘的模板,图像中的每个像素点都要用这两个模板做卷积,最后输出两个卷积中的最大值。该算子的定义为:

该算子的两个模板为:

其梯度幅值由公式(2)算出,梯度方向由公式(3)算出。

1.1.3 Sobel算子

Sobel算子与Prewitt算子很相似,不同之处在于Sobel算子只是在中心系数上使用了一个权值2。该算子的两个模板为:

1.1.4 Canny算子

Canny算子也是一种基于一阶微分的边缘检测方法,但它所拥有的三条最优化准则使其性能优于其他方法。它的基本原理是首先用高斯滤波器平滑图像,再用一阶偏导的有限差分来计算梯度的幅值和方向,接着对梯度幅值进行非极大值抑制,最后用双阈值算法检测和连接边缘[8]。

假设原图像为f(x,y),高斯函数为G(x,y),平滑后的图像为h(x,y),则

然后再根据公式(2)和(3)计算梯度幅值和方向,即

1.2 二阶微分算子

基于二阶微分的算子是通过计算二阶导数中过零的点来检查图像边缘的,在一阶微分算子中,当所求的一阶导数高于某一阈值时,就确定该点为边缘点,但是,这样的检测结果有时并不是唯一的。对于阶跃边缘,其二阶导数在边缘点出现零交叉,即边缘两旁二阶导数取异号。这样寻找图像灰度的二阶导数的零交叉就能找到精确边缘点。二阶微分算子中主要用于边缘检测的是LOG算子。

LOG算子,即高斯-拉普拉斯算子,它是先用高斯滤波器将灰度图像进行平滑处理,然后再用拉普拉斯算子对平滑后的图像进行变换,根据二阶导数的过零点来检测图像的边缘。

首先,假设原图像为f(x,y),高斯滤波函数为G(x,y),拉普拉斯算子为∇2,输出的图像为g(x,y),则LOG算子的推导如下[7]:

由卷积的可交换性得:

其中,∇2G(x,y)即为LOG算子:

2 实验结果比较分析

2.1 原图像灰度化及加噪声

该文是调用Matlab中集成的各种算子对一幅图像进行边缘提取,然后对各种算法性能进行比较分析。首先对原图像进行灰度化处理,因为各种边缘检测算子只能对灰度图像进行操作。然后再给灰度图加入均值为0、方差为0.002的高斯噪声,为后面各种边缘检测算法准备好输入图像。下面给出载入原图像及灰度化和加噪声的程序。

I=imread('g:fruits.jpg');%载入原图像

subplot(1,3,1);

imshow(I),title('原图像')%显示原图像

I1=rgb2gray(I);%将原图像进行灰度化

subplot(1,3,2);

imshow(I1),title('灰度图像')%显示灰度图像

I2=imnoise(I1,'gaussian',0,0.002);%对灰度图像加入均值为0,方差为0.002的高斯噪声

subplot(1,3,3);

imshow(I2),title('加高斯噪声后的图像')%显示加噪声后的图像

输出结果如图1所示。

2.2 对灰度图像仿真结果

利用上面灰度化后的图像进行各种算法仿真,Matlab程序如下:BW1=edge(I1,'roberts','both');%用Roberts算子检测边缘

subplot(2,3,1);

imshow(BW1),title('用roberts算子')

BW2=edge(I1,'prewitt','both');%用Prewitt算子检测边缘

subplot(2,3,2);

imshow(BW2),title('用prewitt算子')

BW3=edge(I1,'sobel','both');%用Sobel算子检测边缘

subplot(2,3,3);

imshow(BW3),title('用sobel算子')

BW4=edge(I1,'log','both');%用LOG算子检测边缘

subplot(2,3,4);

imshow(BW4),title('用log算子')

BW5=edge(I1,'canny','both');%用Canny算子检测边缘

subplot(2,3,5);

imshow(BW5),title('用canny算子')

输出结果如图2所示。

2.3 对加了高斯噪声后的图像进行仿真

将上面2.1中的I2图像作为各种边缘检测算子的输入图像,Matlab程序跟2.2中的程序类似,此处不再赘述。其输出结果如图3所示。

图在人为加入高斯噪声情况下几种算子的检测结果。

2.4 仿真结果比较

对图2和图3(即在没有加噪声和加了噪声的情况下)各种边缘检测算子检测出的结果进行比较分析,可以看出:噪声对图像边缘检测的影响很大;二阶微分算子比一阶微分算子对噪声更敏感;Roberts算子检测出的图像边缘较细,但是由于没有对图像进行平滑,不能抑制噪声,也容易丢失一部分边缘,但它检测陡峭的低噪声图像效果比较好;Prewitt算子和Sobel算子检测出的结果几乎一样,图像边缘都较粗,对噪声有一定的抑制能力,但是它们还是有一定的模糊度,并且Sobel算子不能将图像的主题和背景严格地区分开来;Log算子对噪声的敏感度很强,它检测边缘的效果与其高斯函数中的均方差有关,抗噪能力与均方差成反比,即均方差越大,抗噪能力越小,从而检测到的边缘细节越多,伪边缘也就越多;Canny算子不易受噪声的干扰,检测到的边缘比较连续,也比较清楚,能检测到真正的弱边缘。因此,Canny算子是这几种典型边缘检测算法中检测效果最好的。

3 结论

该文对几种经典图像边缘检测算子的理论进行了分析,并且用Matlab对这几种算子进行了仿真实验,最后对比分析检测出的效果图,对各种算子进行比较分析得出结论,指出了它们各自的优缺点。但是这些传统的边缘检测算子还是存在一些缺点,近年来随着数学理论及人工智能的发展,又涌现出了许多新的边缘检测算法,比如小波变换边缘检测、基于形态学边缘检测、基于神经网络边缘检测、基于遗传算法边缘检测等等[9,10]。无论哪种算法都不能满足所有的图像,因为各种算法都有它自己的特点,而不同图像的特征也不同,只有在实际应用中根据需要达到的要求而选择不同的算法,有时候也可能会将几种算法结合起来运用。

参考文献

[1]孙红艳,张海英.图像边缘检测算法的比较与分析[J].菏泽学院学报,2010,32(2):49-52.

[2](美)冈萨雷斯,阮秋琦.数字图像处理[M].3版.北京:电子工业出版社,2011:445-466.

[3]Kenncth R.Castleman.Digital Image Processing[M].Prentice HallInternational,Inc;北京:清华大学出版社,1997:389-391.

[4]徐献灵,林亦水.图像边缘检测算法比较与分析[J].自动化与信息工程,2007,(3):44-46.

[5]Canny.Finding Edges and Lines in Images[R].MIT Technical Report,Rep,1983:720.

[6]沈丽蓉.图像边缘检测算法比较研究[J].福建电脑,2011(5):5-7.

[7]贺强,晏立.基于LOG和Canny算子的边缘检测算法[J].计算机工程,2011,37(3):210-212.

[8]陈胜勇,刘勇,等.基于OpenCV的计算机视觉技术实现[M].北京:科学出版社,2008:135-136.

[9]罗梦贞.传统的图像边缘检测算法的分析与比较[J].电脑知识与技术,2011,7(16):3907-3909.

[10]韦炜.常用图像边缘检测方法及Matlab研究[J].现代电子技术,2011,34(4):92-94.

图像边缘检测技术分析 篇6

关键词:图像识别,边缘检测,小波算法

小波算法在图形识别、压缩等方面有着较为广泛的应用, 且具有较高的应用效率。在图形识别与压缩中实现小波算法的应用, 能够更加有效地实现应用数据的识别与压缩。当前, 在图像识别与边缘检测领域中依旧存在着计算方法相对单一的情况, 这种局限性对图像识别与边缘检测的进一步发展造成了严重的阻碍作用。因此, 要实现小波算法在图像识别与边缘检测中的广泛应用, 促进其进一步发展。

1 小波算法概述

法国地球物理学家J·Morlet在1984年首次提出了小波的概念, 随后Hardy空间分子解说研究为小波算法的诞生奠定了理论基础。当前, 小波算法在图像处理中有着非常广泛的应用, 并且其应用效果非常良好。小波算法主要是对非平稳的信号进行分析, 在小波算法压缩、平移等处理功能的支持之下, 能够从多个尺度对函数或者信号进行分析, 实现空间域与频率域的具备变换, 从而能够更加有效地对信息进行检索。因此, 小波算法属于新兴的信号处理技术。

在传统的信号表示中, 正交基有着非常广泛的应用。基函数具有正交性, 这使得基函数相应的表示函数能够通过内积进行计算。小波算法实现了局部化思想的发展, 属于信号的“时间——频率”分析方法, 其主要的特点为多分辨率分析, 同时在时间域与频率域中都能够对信号的具备特征进行表示。

2 图像识别中小波算法的应用分析

图像识别指的是通过计算机实现对图像的处理、分析与理解。通过图像识别工作能够实现不同模式目标、对象的计算机识别工作。一般情况下, 图像识别的有效支持包括两个方面, 一方面是进入到系统中的信息, 另一方面是系统中原本保存的信息, 通过对这两种信息的对比之后实现对图像的有效识别。不同的图像具有不同的特征, 计算机在进行图像识别的过程中通常会将视线集中在图像较为突出的特征方面, 从一个突出的特征向下一个突出的特征进行依次扫描。因此, 在图像识别的过程中, 知觉机制的工作原理为排除多余信息、识别关键信息, 因此小波算法有着非常关键的作用。一般情况下, 在图像识别中实现小波算法的应用, 能够有效地整理按照阶段获得的信息, 以此为基础形成完成的知觉映像。此外, 在图像识别中实现小波算法的应用还能够有效地处理与计算信息的细节, 促进图像识别效率的提高。

利用冗余小波对图像进行J个尺度的二维小波变换, 得到3·J+1幅子图像, 其公式为

其中, Cj代表原图像尺度aj上的二维小波变换得到的低频子带图像;djk代表原图像在尺度2j与方向k上的二维小波变换得到的高频细节自带图像, 其中k=1, 2, 3, 分别对应高频子带图像的水平部分, 垂直部分与对角线部分。

3 边缘检测中小波算法的应用分析

在计算机视觉中, 边缘检测是非常重要的核心问题之一。一般情况下, 边缘检测的主要目的就是对数字图像中具有明显亮度变化的点进行标识。在边缘检测的过程中, 图像属性中一些较为显著的变化能够对重要事件、变化等进行反映。例如, 如果在图像的属性方面出现了表面方向不连续的情况, 这就说明在这一地方存在着比较重要的事件、变化等。此外, 边缘检测在图像处理与计算机视觉中还发挥着特征提取的关键作用。实现了小波算法在边缘检测中的应用, 能够在很大程度上实现相应数据计算量的降低, 同时还能够将计算机视觉中一些不相干的冗杂信息进行有效的剔除, 同时能够合理地对结构属性进行辨识与保留。小波算法在边缘检测中的应用包括两种类型, 第一种类型为查找计算, 第二种类型为穿越计算。在边缘检测的查找计算中, 工作人员通过以查找方法为基础的小波算法对计算机图像中的一阶导数最大值与最小值进行寻找, 从而实现边缘检测工作。在边缘小波基选取的过程中, 遵循的原则包括:第一, 边缘检测小波应该选择高通滤波器, 滤波器的脉冲回应函数包括奇对称与偶对策两个部分,

除此之外, 小波算法在边缘检测的应用过程中, 其主要的应用效果还包括在数据压缩方面取得了较好的效果。小波算法首先对边缘检测中的线性频率进行分析, 之后实现相关信息与数据的压缩与处理, 通过小波算法实现压缩与处理之后, 其图像的分辨率普遍较高, 出现这种情况的主要原因是在边缘检测中实现小波算法的应用能够使边缘检测中存在的高频信号进行消除, 在高频信号消除的基础上对信息与数据进行压缩工作, 从而取得较好的效果。然而, 在利用小波算法实现边缘检测中的数据与信息压缩时, 工作人员还应该关注到边缘检测中存在的非线性不稳定信号, 在对这些信号进行处理的过程中, 小波算法的应用效果并不明显。因此, 在边缘检测中实现小波算法的应用, 应该注重小波算法形态的有效选择, 从而实现边缘检测水平整体上的提升。

4 总结

随着计算机视觉处理技术的快速发展, 图像处理与边缘检测中已经实现了小波算法的广泛应用, 且已经取得了非常良好的应用效果。因此, 工作人员在图像识别与边缘检测的过程中, 对小波算法的应用已经有了非常明确的了解, 通过小波算法的有效应用能够促进图像识别与边缘检测水平的不断提高。

参考文献

[1]乔闹生, 邹北骥, 邓磊, 曾友兵, 邹剑臣.一种基于图像融合的含噪图像边缘检测方法[J].光电子.激光, 2012, 11 (65) :2215-2220.

[2]马丽亚木·阿布来孜, 艾力米努.阿卜杜如苏力.一种基于边缘图像融合的图像边缘检测方法[J].计算机系统应用, 2012, 12 (41) :182-185.

[3]王娅囡, 谷方, 杨厚俊, 范延滨, 贾冬雪.基于PET医学图像边缘检测算法的研究[J].现代生物医学进展, 2014, 05 (42) :965-968.

图像边缘检测技术分析 篇7

关于图像边缘检测的研究历史已在国内外进行了许多年,如今,边缘检测的办法也各式各样,然而其研究方法还有一定的不足。在特定的形势下,尚无法检测出目标物体的最真实的边缘,目前还没有一种普遍适用且具有标准意义的边缘检测办法。所以,对现阶段普遍应用的一些检测方法实施完善,抑或是根据具体的需求研究出新的办法,是开展边缘检测的研究领域的一个的主要路径。

1 边缘检测的开展步骤

总而言之,一切边缘检测都可重点判别为彩色与灰度两种。前者有8种彩色基,彩色基的满足使其在检测的过程中,能够一一将彩色基本运用其中,进而左右检测的实时程度、兼容水平以及检测结果。相较于彩色图像边缘检测,灰度图像边缘检测在目前研究中更为普遍,其操作更加便捷,能够应用于各个应用场合。

图像处理中的边缘检测往往需要利用求导数来完成,所谓边缘定位其本质就是对边缘图像展开阶段,以获得分辨率的二值图像(Binary Image)边缘,当前应用最多的定位技术是阈值法与零交叉。前者处理算法比较容易掌握,但是所形成的边缘往往不存在分辨率。为了取得所需分辨率边缘,Canny第一次于定位法中进行了非最大值抑制,有研究者进一步推广了这一方法,且引入LBE参数。后者应用也较为广泛:Marr、Hildreth利用搜索函数拉普拉斯变换(Laplace Transform)变化点集实施图像定位;Haralick通过搜索引入二阶导数和三阶导数的梯度法变化符号属于负值的点集来定位边缘。除此以外,也有其他的研究人员通过符号结合法来定位阶跃边缘,也获得了良好的定位结果。

国内外对边缘链接的研究已有近三十年的历史,并且发展出了种种各样的链接算法,重点分成两大类:即局部边缘链接、全局边缘链接。前者是在某一特定的范围内实施链接步骤,如标注、链接,其中像素标注属于八向连通像素点集分配标号。一旦边缘像素点的灰度与路径能够达到某一相似性准则,那么该标注则是同边缘段;也能够通过方向信息进行对像素点的标准,或通过预定义模板实施标注像素。

2 常用边缘检测算子

一般意义上,会把边缘检测算子分成两大类:即一阶导数的和二阶导数算法,除此以外,也有Canny算法、统计差别方法等。本质上来说,边缘检测目的就是通过某一特定地算法来获得图像对象和背景的交界线。人们把边缘定义成图像灰度出现变化的区域边界。图像灰度变化水平能够通过图像灰度布置梯度来体现,能够通过特定局部图像微分技术来得到边缘检测算子。最为普遍的边缘检测算法,主要是对原始图像中某一像素的某一邻域进行构造边缘检测算子。

2.1 Lo G算子

Lo G算子通过图像的强度二阶导数的零交叉点进而研究出边缘点的算法对噪声非常灵敏清晰,也因此,力图在边缘出现强化之前滤除噪声。Marr、Hildreth把高斯滤波、拉普拉斯边缘检测相互融合,形成Marr-Hildreth算子,如今也普遍称之为Lo G(Laplacian of Gaussian)算子。其重要特征为:第一,平滑滤波器属于高斯滤波器;第二,边缘增强步骤采取拉普拉斯函数;第三,检测器为二阶导数零交叉点并对应一阶导数的峰值;第四,通过线性内插办法于像素分辨率程度中预估边缘位置;第五,通过线性内插办法于分辨率水平上预估边缘的位置。应用Lo G算子方法阶段,参数σ至关重要,究其原因,只有择取模块,方可达到边缘维续与噪声平滑的重要平衡。当有噪声时,其检测到的伪边缘也相应增多,而且Lo G算子的卷该图像处理的特点是于高斯滤波器实施卷积,基于此,在平滑图像过程中减少噪声,独立点噪声与小结构组织被过滤清楚。该算子输出h(x,y)是利用卷积运算所取得[2],如下:

其中,σ为标准差,目的在判定图像模糊水平,其对图像处理中的边缘检测结果有着很大程度的影响,图像的不同其参数值也不一样。

2.2 Canny边缘检测算法

Lo G边缘检测算子操作较为便捷可普遍实现,拥有一定的实效水平,然而其对噪声相对比较敏感、因为抗干扰水平不强,边缘缺少精细。Canny[3]在1986年所研究而成的基于边缘检测算子有着较为出色的信噪比以及检测精度,已然成为当前应用最广泛的边缘检测算子之一。该算法是对信噪比和定位精度乘积的最优化逼近算子,采取二维高斯函数一阶导数对图像处理平滑。设二维高斯函数为[4]:

梯度向量为:

通过G(x,y)为平滑后图像,利用G(x,y)对图像平滑显示:G(x,y)=f(x,y)*H(x,y)

通过一阶偏导有限差分来算出梯度的幅值与方向。

单纯地获取全局梯度还不能明确图像边缘,所以,为了明确边缘,一定要保留局部梯度最大点,换言之,把非局部极大值点置零以得到细化的边缘。处理行为是把梯度角离散为圆周的四个扇区之一,方便3*3抑制运算,标号为0至3,对应3*3邻域的四个可能组合。

3 武夷岩茶在不同边缘检测算子中的分析

武夷岩茶是乌龙茶的一种,也是发现年代最早的茶叶种类,该茶属于半发酵青茶,在茶叶制作工艺上,区于绿茶和红茶间,依次为:采摘、萎凋、摊晾、摇青、发酵、杀青、揉捻、烘干、分拣、烘焙、包装。该茶呈弯条状,色泽乌褐,或带墨绿,条索紧结,汤色橙黄至红茶,清澈明亮。武夷岩茶外形主要呈现弯条条索状,相较于其他绿茶,其外形有一条弯曲度。

图像处理过程中边缘识别的要求往往有着很大的矛盾,基本无法统一,具体为:第一,可以准确检测出图像边缘;第二,单像素的检测相应;第三,有着比较出色的定位精度;第四,即便尺度边缘的不同,检测算子在图像处理中也能得到不错的响应且最大程度上降低漏检;第五,不受噪声影响;第六,边缘方向对灵敏度影响不大。

Prewitt边缘检测算子是基于3X*3邻域的有向差分,该算子充分综合每一像素点的方向邻点灰度的加权和,边缘像素方向的权值为1,有着不错的边缘,其定位水平也比较精确,完整性较好。

Roberts边缘检测算子边缘的定位准确出众,在检测水平与垂直边缘过程中呈现出的效果更好,不足之处在于受噪声影响较大,因此会出现部分边缘的消失,图像处理的边缘多像素宽度。

Sobel算子与Prewitt算子的算法特征基本一样,然而像素权值大,更加接近模板中心权值大,不仅能够对噪声有着一定的平滑功能,也可以形成出色的边缘效果,降低了对噪声的敏感程度,在检测斜向阶跃边缘过程中表现好,能够给予最精准的边缘方向预估。改进后的Sobel边缘检测算子,就是在水平边缘Sobel算子与垂直边缘Sobel算子的模板的背景下,又增设了6个方向的模板,即45°、135°、180°、225°、270°、315°。这样一来,能够更为科学高效地检测图像处理中多方向边缘,让边缘信息更为精准、完整。虽然改进之后的8方向Sobel算子能够行之有效地获取更为完整的图像边缘信息,然而与没改进时的状态雷同,其抗噪声水平并不好,在叠加噪声图像的图像边缘检测不是很理想。处理这一问题的普遍方法就是设定某一阈值,接着,再经Sobel算子检测,然后对比边缘值,一旦幅值超过闭值定义成边缘,相反则取零。由此不难发现,阈值T的选取非常重要。

Canny算子算法效果较好,图像边缘的定位较为准确,形成的边缘比较细,边缘线性连接程度较好。

在对武夷岩茶图像实施图像边缘的提取阶段,上述5个检测算子都获得了良好的效果,这也是由于所取图像的内容比较简单、层次更加明确,前景并未出现重叠,噪声清除,所以这几种算子的分析结果大体都比较接近,也较为理想,差异不大。对于某一层面不能清除的噪声范围,算子提取边缘也出现不一致,改进后的Sobel边缘检测算子可以去掉较多的假边缘,取得更为清晰、完整性更好的图像处理边缘。整体来说,这一算子在武夷岩茶图像边缘检测过程中取得了更为优异的效果,也获得了更加完整、精确、细腻、光滑的图像边缘,对比之下,传统Sobel算子、Prewitt算子、Roberts算子、Canny算子在含噪声的图像边缘处提取过程中留有一定程度的假边缘。

4 结束语

综上所述,通过以上对集中算法的结果能够发现,8方向Sobel算子检测出的图像边缘信息更为丰富,有着较好的连续性,然而因为噪声干扰较大,边缘也较为模糊,很大程度上影响了视觉效果。而通过增设阈值的设定,很好地完善了这个不足,所获得图像边缘有着出众的图像清晰度与连续性,图像信息也更为完整,呈现效果达到预期,值得推广应用。

参考文献

[1]Qiucheng Sun,Yueqian Hou,Qingchang Tan.A robust edge detection method with sub-pixel accuracy[J].Optik-International Journal for Light and Electron Optics,2014.

[2]赵芳,栾晓明,孙越.数字图像几种边缘检测算子检测比较分析[J].自动化技术与应用,2011,12(03):68-72.

[3]锋华,刘琪芳,冀金凤.基于MATLAB数字图像边缘检测算子的研究[J].机械工程与自动化,2011,7(4):48-50.

浅谈图像边缘检测技术 篇8

关键词:边缘检测,微分算子,梯度

0、引言

图像包含了最原始的巨大的视觉信息, 而图像的边缘和轮廓提供了其中最重要的信息。边缘是图像最基本和最重要的特征, 它是其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合, 它存在于目标、背景和区域之间, 包含了用于识别图像的有价值的目标边界信息。边缘可以分为两种, 一种是阶跃状边缘, 边缘两边像素的灰度值明显不同;另一种为屋顶状边缘, 边缘处于灰度值由小到大再到小的变化转折点处。

1、图像边缘检测原理

边缘是灰度值不连续的结果, 相邻区域间如果具有不同的灰度值, 一定会存在边缘, 也就是说可以把边缘定义为图像中灰度发生急剧变化的区域边界。而图像边缘检测正是基于这一特性进行图像分割的方法, 是使用数学方法提取图像像元中具有亮度值 (灰度) 空间方向梯度大的边、线特征的过程, 其实质是采用某种算法提取出图像中对象与背景间的交界线, 其目的是标识数字图像中亮度变化明显的点。边缘检测技术是数字图像处理中非常重要的内容, 是图像分析、图像分割、目标区域识别、区域形状提取等图像分析领域最重要的基础之一。

边缘检测主要是对图象灰度变化的度量、检测和定位, 自从1959提出边缘检测以来, 发展至今已有许多种不同的边缘检测方法。在成像过程中, 投影、噪声 (灰度与周围点相差很大的象素点) 、混合及畸变等因素导致了图像特征的模糊和变形, 并且边缘和噪声是频域中的高频分量, 这两个因素给边缘检测带来了困难。一直以来, 解决检测精度与抗噪性能的矛盾, 寻求算法较简单、能兼顾二者协调问题的算法, 是图像处理与分析研究的主要问题。

图像边缘检测的基本步骤:

⑴滤波。边缘检测主要基于导数计算, 但受噪声影响。但滤波器在降低噪声的同时也导致边缘强度的损失。

⑵增强。增强算法将邻域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。

⑶检测。但在有些图象中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。

⑷定位。精确确定边缘的位置。

2、几种经典的边缘检测算子

传统的图像边缘检测方法可以看作图像高频分量的增强过程, 主要手段是微分运算。图像灰度的变化情况由图像灰度分布的梯度来反映, 可以用局部图像微分获得边缘检测算子。由于图像边缘处灰度变化比较剧烈, 所以既有一阶导数的峰值, 同时也有二阶导数的零交点。根据图像边缘存在的突变性质, 检测算子主要分为两类:基于搜索和基于零交点。

⑴以一阶微分为基础, 通过寻找一阶导数中的最大值和最小值来检测图像边缘, 通常是将边界定位在梯度最大的方向, 如Roberts、Prewitt、Canny;

⑵以二阶微分为基础, 通过计算二阶导数的过零点来检测图像边缘, 通常是Laplacian过零点或者非线性差分表示的过零点, 如LOG算子。

2.1 一阶微分算子

许多边缘检测操作都是基于亮度的一阶导数——这样就得到了原始数据亮度的梯度。使用这个信息我们能够在图像的亮度梯度中搜寻峰值。如果I (x) 表示点x的亮度, I′ (x) 表示点x的一阶导数 (亮度梯度) , 这样我们就得到:

2.1.1 Roberts算子

Roberts算子是一种利用局部图像中交叉对角线方向的相邻两像素之差来近似梯度幅值检测边缘的算子, 其近似计算公式为:

本文中f (x, y) 是输入图像, g (x, y) 是输出图像。

Roberts算子检测效果如图2-1所示:

Roberts算子对图像的边缘点计算准确, 图像中的噪声对边缘干扰大, 处理图像后结果边缘不是很平滑。经分析, 由于Roberts算子通常会在图像边缘附近的区域内产生较宽的响应, 所以检测的边缘图像常需做细化处理, 边缘定位的精度不是很高。

2.1.2 Prewitt算子

Prewitt算子利用像素点上下、左右邻点的灰度差, 在边缘处达到极值检测边缘, 去掉部分伪边缘, 对噪声具有平滑作用。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的, 这两个方向模板一个检测水平边缘, 一个检测垂直边缘。对数字图像f (x, y) , Prewitt算子的定义如下:

则P (x, y) =max[G (x) , G (y) ]或P (x, y) =G (x) +G (y)

Prewitt边缘检测效果如图2-2所示:

经典Prewitt算子认为:凡灰度新值大于或等于阈值的像素点都是边缘点。即选择适当的阈值T, 若P (x, y) ≥T, 则 (x, y) 为边缘点, P (x, y) 为边缘图像。这种判定是欠合理的, 会造成边缘点的误判, 因为许多噪声点的灰度值也很大, 而且对于幅值较小的边缘点, 其边缘反而丢失了。

2.1.3 Canny算子

Canny算子是John F.Canny于1986年开发出来的一个多级边缘检测算法, 属于先平滑后求导数的方法。Canny的目标是找到一个最优的边缘检测算法, 最优边缘检测的含义是:

⑴好的检测:算法能够尽可能多地标识出图像中的实际边缘。

⑵好的定位:标识出的边缘点要尽可能在实际边缘的中心。

⑶最小响应:图像中的边缘只能标识一次, 并且可能存在的图像噪声不应标识为边缘。

上述三条最优化准则使Canny算子的性能优于其它的一阶微分算子。它的具体算法步骤是:用高斯滤波器平滑图像;用一阶偏导有限差分计算梯度幅值和方向;对梯度幅值进行非极大值抑制;用双阈值算法检测和连接边缘。

Canny边缘检测效果如图2-3所示:

2.2 二阶微分算子

最早提出的是一阶微分边缘算子, 由于梯度通常在图像边缘附近的区域内产生较宽的响应, 在梯度值大于某一值时就认为此点是边缘点, 导致检测到的边缘点太多, 影响了边缘的精度, 需要再进一步的细化处理。改进之后求局部的最大值点, 并认为它们是边缘点, 这样就变成了求图像的二阶微分, 最大值对应的是过零交叉点。基于零交点所提取的边缘宽度只有一个像素, 不需要细化, 有利于边缘的精确定位。

LOG算子是二阶微分算子, 具有旋转不变性, 即各向同性的性质, 与坐标轴方向无关, 坐标轴旋转后梯度结果不变, 它利用边缘点处二阶导函数出现零交叉原理检测边缘。

LOG算子定义为

LOG边缘检测效果如图2-4所示:

LOG算子的不具有方向性, 不能提供方向信息。它对灰度突变敏感度高, 检测精度高, 在只关心边缘的位置而不考虑其周围的像素灰度差值时比较合适;同时也对噪声敏感, 对孤立像素的响应要比对边缘或线的响应要更强烈, 容易产生双像素宽的边缘, 因此只适用于无噪声图象。存在噪声情况下, 使用LOG算子检测边缘之前需要先进行低通滤波。

3 几种算法的比较

通过对各种算子检测效果的比较, 我们得出结论:Roberts算子对噪声敏感度高, 会产生较多的孤立点;Prewitt算子计算之前先通过邻域平均或加权平均对噪声进行抑制, 边缘定位比较准确和完整, 但出现边缘模糊和加粗的现象;Canny算子通过双阈值的计算, 减少了细节丢失, 但增加了计算量;LOG算子对阶跃性边缘点定位准确, 但容易丢失边缘的方向信息。

本文介绍的边缘检测算子, 优点是计算量小, 运算速度快, 容易实现, 缺点是对噪声的干扰敏感。在实际应用中, 要结合多种算法或者对某种算法进行改进。

参考文献

[1]胡瑞安, 胡纪阳, 徐树公.分形的计算机图像及其应用[M].北京:中国铁道出版社, 1995

[2]阮秋琦, 阮宇智.数字图像处理[M].北京:电子工业出版社, 2004:420-445.

[3]徐献灵, 林亦水.图像边缘检测算法比较与分析[J].自动化与信息工程, 2007, (3) :44-46.

[4]谭艳, 王宇俊, 李飞龙, 葛耿育.几种典型的图像边缘检测算法的分析比较[J].电脑知识与技术, 2012, (7) :1604-1608.

[5]Kenncth R.Castleman.Digital Image Processing[M].Pren-tice Hall International.Inc:北京:清华大学出版社.1997:389-391

图像边缘检测算法研究 篇9

边缘是图像最重要的特征之一,它是其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合[1],包含了用于识别图像的重要信息。两个具有不同灰度值的相邻区域之间总存在着边缘,边缘是灰度值不连续的结果。而边缘检测正是基于幅度不连续性进行图像分割的方法。其实质是采用某种算法来提取出图像中对象与背景间的交界线。边缘检测的图像的边缘检测技术是数字图像处理中最重要的内容之一,是图像分割[2]、目标区域的识别、区域形状提取等图像分析领域中十分重要的基础。

1 几种经典的边缘检测算子

边缘是图像灰度变化比较剧烈的地方,边缘点处有一阶导数的峰值,同时会有二阶导数的零交点。微分算子[3]就是以此为理论基础,在空域进行卷积,然后设置门限来提取边缘点集。由于边缘、轮廓在一幅图像中常常具有任意的方向,所以需要找到一些各项同性的检测算子,它们对任意方向的边缘、轮廓都具有相同的检测能力。这些边缘检测算子有Roberts算子、Prewitt算子、Sobel算子[4,5]、LOG算子和Canny算子等。

1.1 Robert算子

Robert算子是一种利用局部差分算子寻找边缘的算子,其模板如图1所示。

Robert算子的定义为:

G[f(i,j)]={[f(i+1,j+1)-f(i,j)]2+[f(i+1,j)-f(i,j+1)]2}1/2 (1)

由于上述算法的处理工作量很大,因此在实用上常采用绝对差算法对上式化简如下:

undefined

Robert梯度以[x-0.5,y-0.5]为中心,所以他度量了[x-0.5,y-0.5]点处45°和135°方向(相互正交)的灰度变化。适当取门限T,做如下判断:G(x,y)>T,(x,y)为阶跃状边缘点。Robert算子对具有陡峭的低噪声图像效果较好。

1.2 Sobel算子

Sobel算子有两个卷积计算核,如图2所示。

图像中每点均分别用这两个算子作卷积,一个对垂直边缘影响最大,另一个对水平边缘影响最大。取两个卷积的最大值作为该点的输出值,然后再用阈值分割得边缘[6],运算结果是一幅边缘幅度图像。

Sobel算子从不同的方向检测边缘,利用像素点上下、左右邻点的灰度加权算法,根据在缘点处达到极值进行边缘的检测。其定义为:

SS=(dundefined+dundefined)1/2 (4)

dx=[f(i-1,j-1)+2f(i,j-1)+f(i+1,j-1)]-[f(i-1,j+1)+2f(i,j+1)+f(i+1,j+1)] (5)

dy=[f(i+1,j-1)+2f(i+1,j)+f(i+1,j+1)]-[f(i-1,j-1)+2f(i-1,j)+f(i-1,j+1)] (6)

用模板表示dx,dy为:

undefined

Sobel算子通常对灰度渐变和噪声较多的图像处理得较好。

1.3 Prewitt算子

Prewitt算子[7]有两个卷积计算核,如图3所示。其做卷积的方法和Sobel算子的方法相似。

Prewitt算子定义为:

undefined

模板表示dx,dy为:

undefined

Prewitt算子通常对灰度和噪声较多的图像处理得较好。

1.4 LOG算子

拉普拉斯算子[8]是对二维函数进行运算的二阶导数算子,将在边缘处产生一个陡峭的零交叉。拉普拉斯算子是一个线性的、时不变的算子,它的传递函数在频域空间的原点是零,因此经拉普拉斯滤波过的图像具有零平均灰度。LOG算子先用高斯低通滤波器将图像进行预先平滑,然后用拉普拉斯算子找出图像中的陡峭边缘,最后用零灰度值进行二值化产生闭合的、连通的轮廓,消除了所有内部点,其检测精度明显提高。它有两个卷积计算核,作卷积的方法和Sobel算子的方法一样,如图4所示。

高斯滤波器的函数形式为:

undefined

式中:σ是标准差。令r2=x2+y2,对其取二阶导数得的拉普拉斯算子为:

undefined

LOG算子的优点是过滤了噪声,其不足在于会将原有的边缘给平滑了。

1.5 Canny算子

Canny算子[9]是一个具有滤波、增强和检测的多阶段的优化算子。在进行处理前,Canny算子先利用高斯平滑滤波器来平滑图像以除去噪声。Canny分割算法采用一阶偏导的有限差分来计算梯度的幅值和方向。在处理过程中,Canny算法还将经过一个非极大值抑制的过程。最后Canny算法将采用两个阈值来连接边缘。取高斯函数为:

undefined

某一方向上,一阶方向导数为:undefined

将f(x,y)和G(x,y)n进行卷积,改变n的方向,使f(x,y)*G(x,y)n取最大值的方向就是梯度方向。

梯度矢量的模:undefined

梯度矢量的方向:A=G(x,y)n*f(x,y)/M

Canny算子边缘检测的方法是寻找图像梯度的局部最大值。梯度是用高斯滤波器的导数计算的。Canny方法使用两个阈值分别检测强边缘和弱边缘,而且仅当强边缘和弱边缘相连时,弱边缘才会包含在输出中。因此,此方法不容易受噪声的干扰,能够检测到真正的弱边缘。

Canny算子对检测阶跃性边缘时效果极好,去噪能力强。但由于检测阈值固定,当检测具有模糊边缘的图像时,很可能导致平滑掉部分边缘信息。因此,为了能更精确地检测出目标边界,可先对图像进行预处理,将其分割成若干子图像,然后针对每幅子图像中具体情况选用不同的阈值,采用针对各子图所选择的阈值对图像进行动态阈值分割。实际应用时可以根据需要调整子图像的大小,以获取所需的大小,这应该是一种可行的方法。

2 Matlab仿真结果

利用Matlab 6.5对图像“lena.jpg”进行仿真[10],结果如图5所示。

3 结 语

从仿真结果图中可以直观的看出,各种算法各具优点。因此,在实际运用时,应具体问题具体分析,根据特定情况选择最佳的边缘检测算子,可以取得令人满意的结果。经典的微分算子原理和模板比较简单,易于操作,能够检测出定位比较准确并且清晰的边缘,但是细节方面不够完整,Robert算子和Sobel 算子及Prewitt算子的边缘图中检测出的边缘数少,欠完整,且对噪声很敏感。LOG算子和Canny算子的边缘图中的边缘连续性很好,完整性也占优。相比之下,LOG算子边缘较粗,噪声点较多,而Canny算子的边缘图中的边缘线很细,边缘连接程度最佳,景物的细节表现得最明晰,轮廓边缘提取得很完备。

在此通过对几种典型的边缘检测算子进行详细的分析比较,得出各边缘检测算子的优缺点以及适用范围,为以后的科学研究以及实际应用提供了理论依据,具有一定的参考价值。

参考文献

[1]胡瑞安,胡纪阳,徐树公.分形的计算机图像及其应用[M].北京:中国铁道出版社,1995.

[2]谢佳峰,谭冠政.基于Matlab的静止图像车牌定位研究[J].可编程控制器与工厂自动化,2009(1):68-71.

[3]崔夏荣,陆爱萍.基于小波变换和微分算子的图像边缘检测[J].南平师专学报,2007(4):35-38.

[4]Li Xinfu,Liu Jiaomin.Edge Detection on arc I mage of LowVoltage Apparatus[A].IEEE Proceedings of the Second In-ternational Conference on Machine Learning and Cybernetics[C].Xi′an,2003:2 921-2 924.

[5]Health A,Sarkar S,Sanocki T,et al.Comparison of EdgeDetectors:A Methodology and Initial Study[J].ComputerVision and I mage Understanding,1998,69(1):38-54.

[6]王晓丹.基于Matlab的图像分析与设计——图像处理[M].西安:西安电子科技大学出版社,2000.

[7]刘明艳,赵景秀,孙宁.用Prewitt算子细化边缘[J].光电子技术,2006(4):259-263.

[8]吕玉琴,曾光宇.基于图像边缘检测算法的研究[J].太原科技,2009(2):31-33.

[9]陈荣,刘振亚,刘礼书,等.一种基于形态学和Canny算子的图像边缘提取算法[J].江西教育学院学报,2008(6):14-15.

上一篇:会计准则制定下一篇:体育节目发展现状