常用边缘检测算子比较

合集下载

图像识别中的轮廓提取算法探索(七)

图像识别中的轮廓提取算法探索(七)

图像识别中的轮廓提取算法探索引言:图像识别技术如今已经广泛应用于各个领域,其关键之一就是图像中的轮廓提取算法。

轮廓提取的准确与否直接影响到图像识别的效果。

本文将探索图像识别中常用的轮廓提取算法,并对其原理和优缺点进行分析。

一、边缘检测算法边缘检测是图像处理中最基础的一步,是进行轮廓提取的前提。

常用的边缘检测算法有Sobel算子、Laplacian算子和Canny算子等。

1. Sobel算子Sobel算子是一种基于梯度的边缘检测算法,其原理是通过计算每个像素点的梯度值来判断其是否为边缘点。

然后根据梯度值的大小确定边缘的强度,进而提取轮廓。

Sobel算子的优点是计算简单,对噪声鲁棒性强。

但其缺点也较为明显,容易产生边缘断裂的情况,并且对角线边缘检测效果较差。

2. Laplacian算子Laplacian算子是一种基于二阶导数的边缘检测算法,其原理是通过计算图像中每个像素点的二阶导数来判断其是否为边缘点。

Laplacian算子的优点是能够检测出边缘的交叉点,能够更精准地定位边缘。

但其缺点是对噪声比较敏感,容易产生误检。

3. Canny算子Canny算子是一种综合考虑多种因素的边缘检测算法,其原理是通过梯度计算、非极大值抑制和阈值处理来提取目标轮廓。

Canny算子的优点是能够提取清晰且连续的边缘,对噪声抑制效果好。

但其缺点是计算量较大,算法较为复杂。

二、区域生长算法区域生长算法是一种基于种子点的轮廓提取方法,其原理是在图像中选择若干个种子点,然后通过像素点之间的相似性判断来逐渐生长成为一个完整的区域。

区域生长算法的优点是能够提取出连续且相似的轮廓,适用于要求较高的图像识别任务。

但其缺点是对种子点的选择比较敏感,容易受到图像质量和噪声的影响。

三、边缘跟踪算法边缘跟踪算法是一种基于边缘连接的轮廓提取方法,其原理是通过追踪边缘点的连接关系,形成完整的轮廓。

边缘跟踪算法的优点是能够提取出精细的轮廓,并且对噪声抑制效果好。

几种常用边缘检测算法的比较

几种常用边缘检测算法的比较

几种常用边缘检测算法的比较边缘检测是在数字图像上寻找图像亮度变化的过程,它对于图像处理和计算机视觉任务非常重要。

常见的边缘检测算法有Sobel算子、Prewitt算子、Roberts算子和Canny边缘检测算法。

本文将对这几种算法进行比较。

1. Sobel算子:Sobel算子是一种常见的边缘检测算法,它通过计算图像像素点与其邻域像素点之间的差异来检测边缘。

Sobel算子具有简单、快速的优点,可以检测水平和垂直方向的边缘,但对于斜向边缘检测效果较差。

2. Prewitt算子:Prewitt算子也是一种常用的边缘检测算法,它类似于Sobel算子,通过计算图像像素点与其邻域像素点之间的差异来检测边缘。

Prewitt算子可以检测水平、垂直和斜向边缘,但对于斜向边缘的检测结果可能不够精确。

3. Roberts算子:Roberts算子是一种简单的边缘检测算法,它通过计算图像像素点与其对角线方向上的邻域像素点之间的差异来检测边缘。

Roberts算子计算简单,但对于噪声敏感,容易产生干扰边缘。

4. Canny边缘检测算法:Canny边缘检测算法是一种经典的边缘检测算法,它包含多个步骤:高斯滤波、计算梯度、非最大抑制和双阈值处理。

Canny算法具有良好的边缘定位能力,并且对于噪声和细节边缘具有较好的抑制效果。

但Canny算法计算复杂度较高,在处理大规模图像时可能较慢。

综上所述,不同的边缘检测算法具有各自的优缺点。

若要选择适合应用的算法,需要综合考虑图像特点、计算复杂度和应用需求等因素。

如果对图像边缘的方向要求不高,可以选择Sobel或Prewitt算子;如果对图像边缘的方向要求较高,可以选择Canny算法。

另外,为了获得更好的边缘检测结果,通常需要进行适当的预处理,如灰度化、滤波和阈值处理等。

最后,对于不同的应用场景,可能需要使用不同的算法或算法组合来满足特定需求。

图像边缘检测中的微分算子法及其比较

图像边缘检测中的微分算子法及其比较

与区域( 包括不同色彩 ) 之间。 边缘表明一个特征 区域的终结和另一特征区域的开始 。边缘所分开区 域的内部特征或属性是一致的, 而不同的区域内部 特征或属性是不同的。边缘检测正是利用物体和背 景在某种图像特征上的差异来实现检测 , 这些差异 包括灰度、 颜色或纹理特征, 边缘检测实际上就是检 测图像特征发生变化的位置。 边缘的类型很多, 常见的有以下三种: 第一种是 阶梯形边缘, 其灰度从低跳跃到高; 第二种是屋顶形 边缘, 其灰度从低逐渐到高然后慢慢减小 ; 第三种是 线性边缘, 其灰度呈脉冲跳跃变化。如图 1 所示。
0
引言
边缘检测是图像分析与识别的第一步, 边缘检 测在计算机视觉、 图像分析等应用中起着重要作用 , 图像的其他特征都是由边缘和区域这些基本特征推 导出来的, 边缘检测的效果会直接影响图像的分割 和识别性能。边缘检测法的种类很多, 如微分算子 [1 ] 法、 样板匹配法、 小波检测法、 神经网络法等等 , 每一类检测法又有不同的具体方法。 目前, 微分算 Sobel, Prewitt, Canny, Laplacian, 子法 中 有 Roberts, Log 以及二阶方向导数等算子检测法, 本文仅将讨 论微分算子法中的几个常用算子法 。
图像边缘检测中的微分算子法及其比较
龙 清
( 重庆广播电视集团 ( 总台) ,重庆 401147 )

要: 边缘是图像最基本的特征, 边缘检测是图像分析与识别的重要环节。 基于微分算子的 边缘检测是目前较为常用的边缘检测方法 。通过对 Roberts,Sobel, Prewitt, Canny 和 Log 等几个
2 h( x, y) = [ y) ] * f( x, y) g( x, 2 y) = 其中, g( x,

【OpenCV】边缘检测:Sobel、拉普拉斯算子 .

【OpenCV】边缘检测:Sobel、拉普拉斯算子 .

【OpenCV】边缘检测:Sobel、拉普拉斯算子转自:/xiaowei_cqu/article/details/7829481边缘边缘(edge)是指图像局部强度变化最显著的部分。

主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。

图像强度的显著变化可分为:∙阶跃变化函数,即图像强度在不连续处的两边的像素灰度值有着显著的差异;∙线条(屋顶)变化函数,即图像强度突然从一个值变化到另一个值,保持一较小行程后又回到原来的值。

图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈.边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检测边缘。

(a)(b)分别是阶跃函数和屋顶函数的二维图像;(c)(d)是阶跃和屋顶函数的函数图象;(e)(f)对应一阶倒数;(g)(h)是二阶倒数。

一阶导数法:梯度算子对于左图,左侧的边是正的(由暗到亮),右侧的边是负的(由亮到暗)。

对于右图,结论相反。

常数部分为零。

用来检测边是否存在。

梯度算子 Gradient operators 函数f(x,y)在(x,y)处的梯度为一个向量:计算这个向量的大小为:近似为:梯度的方向角为:Sobel算子sobel算子的表示:梯度幅值:用卷积模板来实现:【相关代码】接口[cpp]view plaincopyprint?1.CV_EXPORTS_W void Sobel( InputArray src, OutputArray dst, int ddepth,2.int dx, int dy, int ksize=3,3.double scale=1, double delta=0,4.int borderType=BORDER_DEFAULT );使用[cpp]view plaincopyprint?1./////////////////////////// Sobe l////////////////////////////////////2./// Generate grad_x and grad_y3.Mat grad_x, grad_y;4.Mat abs_grad_x, abs_grad_y;5./// Gradient X6.//Scharr( src_gray, grad_x, ddepth, 1, 0, scale, delta, BORDER_DEFAULT );7.//Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator.8.Sobel( src_gray, grad_x, ddepth, 1, 0, 3, scale, delta, BORDER_DEFAULT );9.convertScaleAbs( grad_x, abs_grad_x );10./// Gradient Y11.//Scharr( src_gray, grad_y, ddepth, 0, 1, scale, delta, BORDER_DEFAULT );12.Sobel( src_gray, grad_y, ddepth, 0, 1, 3, scale, delta, BORDER_DEFAULT );13.convertScaleAbs( grad_y, abs_grad_y );14./// Total Gradient (approximate)15.addWeighted( abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad );二阶微分法:拉普拉斯二阶微分在亮的一边是负的,在暗的一边是正的。

拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理

拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理

《数字图像处理作业》图像的锐化处理---拉普拉斯算子、prewitt算子、sobel算子性能研究对比一、算法介绍1.1图像锐化的概念在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。

一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。

这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。

为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。

图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。

从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。

但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。

考察正弦函数,它的微分。

微分后频率不变,幅度上升2πa倍。

空间频率愈高,幅度增加就愈大。

这表明微分是可以加强高频成分的,从而使图像轮廓变清晰。

最常用的微分方法是梯度法和拉普拉斯算子。

但本文主要探究几种边缘检测算子,Laplace、Prewitt、Sobel算子以下具体介绍。

图像边缘检测:边缘检测是检测图像局部显著变化的最基本运算,梯度是函数变化的一种度量。

图像灰度值的显著变化可用梯度的离散逼近函数来检测,大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。

边缘检测可分为两大类基于查找一类和基于零穿越的一类。

基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。

基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。

医学图像处理中的边缘检测与分割算法

医学图像处理中的边缘检测与分割算法

医学图像处理中的边缘检测与分割算法边缘检测与分割是医学图像处理中的重要部分,被广泛应用于疾病诊断、医学影像分析和手术辅助等领域。

边缘检测算法用于提取图像中的边缘信息,而分割算法则可以将图像划分为不同的区域,有助于医生对图像进行进一步分析和诊断。

一、边缘检测算法在医学图像处理中,常用的边缘检测算法包括基于梯度的方法、基于模型的方法和基于机器学习的方法。

1. 基于梯度的方法基于梯度的边缘检测算法通过计算图像中像素点的梯度值来确定边缘位置。

常用的算法包括Sobel算子、Prewitt算子和Canny算子。

Sobel算子是一种常用的离散微分算子,通过在图像中对每个像素点应用Sobel算子矩阵,可以得到图像的x方向和y方向的梯度图像。

通过计算梯度幅值和方向,可以得到边缘的位置和方向。

Prewitt算子与Sobel算子类似,也是一种基于梯度的边缘检测算子。

它通过将图像中的每个像素点与Prewitt算子矩阵进行卷积运算,得到图像的x方向和y方向的梯度图像。

进一步计算梯度幅值和方向,可以确定边缘的位置和方向。

Canny算子是一种经典的边缘检测算法,它采用多步骤的方法来检测边缘。

首先,对图像进行高斯滤波来减少噪声。

然后,计算图像的梯度幅值和方向,进一步剔除非最大值的梯度。

最后,通过设置双阈值来确定真正的边缘。

2. 基于模型的方法基于模型的边缘检测算法借助数学模型来描述边缘的形状和特征。

常用的算法包括基于边缘模型的Snake算法和基于边缘模型的Active Contour算法。

Snake算法(也称为活动轮廓模型)是一种基于曲线的边缘检测算法。

它通过将一条初始曲线沿着图像中的边缘移动,使得曲线更好地贴合真实边缘。

Snake算法考虑了边缘的连续性、平滑性和能量最小化,可以获得较为准确的边缘。

Active Contour算法是Snake算法的进一步发展,引入了图像能量函数。

通过最小化能量函数,可以得到最佳的边缘位置。

Active Contour算法可以自动调整曲线的形状和位置,适应复杂的图像边缘。

halcon 边缘检测算子

halcon 边缘检测算子

halcon 边缘检测算子摘要:1.边缘检测的定义和意义2.常见的边缘检测算子3.Halcon 边缘检测算子的特点和应用4.Halcon 边缘检测算子的优缺点5.结论正文:边缘检测是计算机视觉和图像处理领域的重要技术之一,其目的是从图像中提取出物体边缘的信息。

边缘检测的定义是:使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。

边缘,是指周围像素灰度有阶跃变化或屋顶等变化的那些像素的集合。

图像的边缘对应着图像灰度的不连续性。

显然图像的边缘很少是从一个灰度跳到另一个灰度的理想状况。

真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。

边缘的锐利程度由图像灰度的梯度决定。

梯度是指灰度变化的最快的方向和数量。

常见的边缘点有三种,分别是阶梯形边缘、脉冲形边缘和屋顶形边缘。

在边缘检测中,有许多常见的边缘检测算子,如Sobel 算子、Prewitt 算子、Roberts 算子和Canny 算子等。

这些算子都有各自的特点和适用场景。

Sobel 算子主要用来检测边缘,其技术上是以离散型的差分算子,用来运算图像亮度函数的梯度的近似值。

Prewitt 算子和Roberts 算子也是常用的边缘检测算子,它们通过计算图像的梯度来检测边缘。

Canny 算子则是一种多步骤的边缘检测算法,能够检测出更加精确的边缘。

Halcon 边缘检测算子是Halcon 图像处理库中的一种边缘检测算子。

Halcon 边缘检测算子的特点是能够自适应地调整边缘检测的参数,如边缘检测的阈值、边缘检测的类型等。

这使得Halcon 边缘检测算子能够更好地适应不同的图像和应用场景。

Halcon 边缘检测算子的应用主要包括机器视觉、工业自动化、医学影像处理等领域。

Halcon 边缘检测算子的优缺点如下。

优点:首先,Halcon 边缘检测算子具有较高的检测精度和鲁棒性,能够检测出图像中的细小边缘和噪声干扰;其次,Halcon 边缘检测算子具有自适应的参数调整能力,能够适应不同图像和应用场景;最后,Halcon 边缘检测算子的计算效率较高,能够在较短的时间内完成边缘检测任务。

边缘检测与梯度算子

边缘检测与梯度算子

边缘检测与梯度算⼦边缘检测边缘是指图象中灰度发⽣急剧变化的区域。

图象的变化情况可以⽤灰度分布的梯度来反映,给定连续图象f(x,y),其在边缘法线⽅向上取得局部最⼤值。

图象中⼀点的边缘被定义为⼀个⽮量,模为当前点最⼈的⽅向导数,⽅向为该⾓度代表的⽅向。

通常我们只考虑其模,⽽不关⼼⽅向。

梯度算⼦(⼀)梯度算⼦可分为3类:1、使⽤差分近似图像函数导数的算⼦。

有些是具有旋转不变性的(如:),因此只需要⼀个卷积掩模来计算。

其它近似的算⼦使⽤⼏个掩模。

2、基于图像函数⼆阶导数过零点的算⼦(如:M arr—Hild reth或Canny边缘检测算⼦。

3、试图将图像函数与边缘的参数模型相匹配的箅⼦。

(⼆)第⼀类梯度算⼦(Laplace)算⼦通常使⽤3×3的掩模,有时也使⽤强调中⼼象素或其邻接性的(这种近似不再具有旋转不变性)。

拉普拉斯算⼦的缺点:它对图像中的某些边缘产⽣双重响应。

图像锐化(shapeening)图像锐化的⽬的是图像的边缘更陡峭、清晰。

的输出图像f是根据下式从输⼊图像g得到的:f(i,j)=g(i,j)-c s(i,j),其中c是反映锐化程度的正系数,s(i,j)是图像函数锐化程度的度量,⽤梯度箅⼦来计算,Laplacian箅⼦常被⽤于这⼀⽬的。

Prewitt边缘检测算⼦Sobel边缘检测算⼦(三)第⼆类梯度算⼦--⼆阶导数过零点算⼦根据图象边缘处的⼀阶微分(梯度)应该是极值点的事实,图象边缘处的⼆阶微分应为零,确定过零点的位置要⽐确定极值点容易得多也⽐较精确。

右侧是Lena的过零点检测结果。

为抑制噪声,可先作平滑滤波然后再作⼆次微分,通常采⽤⾼斯函数作平滑滤波,故有LoG(Laplacian of Gaussian)算⼦。

⾼斯-拉普拉斯(LoG,Laplacian of Gaussian)算⼦。

噪声点对边缘检测有较⼤的影响,效果更好的边缘检测器是⾼斯-拉普拉斯(Lo G)算⼦。

它把⾼斯平滑滤波器和拉普拉斯滤波器结合起来,先平滑掉噪声,再进⾏,所以效果更好。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( 6) Sobel 算子垂直方向和水平方向的模板如图(B)所示,前者可以检测出图像中的水平 方向的边缘,后者则可以检测图像中垂直方向的边缘。实际应用中,图像中的每一个像素点 都用这两个卷积核进行卷积运算, 取其最大值作为输出。 运算结果是一幅体现边缘幅度的图 像。
-1 0 1
-2 0 2 (a)
-1 0 1
视觉系统的发生过程。事实上 Roberts 边缘检测算子是一种利用局部差分方法寻找边缘的算 子,Robert 梯度算子所采用的是对角方向相邻两像素值之差,所以用差分代替一阶偏导,算 子形式可表示如下:
x f ( x, y ) f ( x, y ) f ( x 1, y 1) y f ( x, y ) f ( x 1, y ) f ( x, y 1)
h( x, y ) exp(
x2 y2 ) 2 2
(10)
则连续函数 f ( x, y ) 的 LoG 边缘检测算子定义为
G ( x, y ) 2 h( x, y ) f ( x, y )
2 h( x, y ) * f ( x, y )
H ( x, y )* f ( x, y )
图(F)LoG 算子是 5 5 模板
Kirsch(凯西)边缘检测算子 Kirsch 边缘检测算子由 8 个卷积核组成,图像中的每个像素点都用这 8 个核进行卷积 运算,即须求出 f ( x, y ) 8 个方向的平均差分。像素与不同卷积核卷积运算的结果给出了相 应特定边缘方向的响应。 从所有方向相应中找出一个最大值, 就给出了经过该点的边缘幅度 图像的输出值。 使输出最大的卷积核的序号既是边缘方向的编码。 该算子还可以较好地抑制 边缘检测的噪声。假设原始图像的 3 3 子图像如图(G)所示。
常用边缘检测算子
边缘检测算子
边缘检测经典算子:Roberts 算子、Sobel 算子、Prewitt 算子、Laplacian 算子、LOG 滤 波器(Marr-Hildreth 算子) 、Kirs景物的边缘总是以图像中强度的突变形式出现的, 所以景物边缘包含着大量的信息。 由于景 物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法” 。 设 f ( x, y ) 是图像灰度分布函数; s ( x, y ) 是图像边缘的梯度值; ( x, y ) 是梯度的方向。
( 7) Prewitt 边缘检测算子的两个模板如图(C)所示,它的使用方法同 Sobel 算子一样,图像中 的每个点都用这两个核进行卷积,取得最大值作为输出。Prewitt 算子也产生一幅边缘图像。
第2页
-1 0 1
-1 0 1
-1 0 1
1 1 1
0 0 0
-1 -1 -1
(a)
( b)
1.1.1.1.1.1.1.1 图(C)Prewitt 算子模板
Laplace 算子
对于阶跃状边缘,其二阶导数在边缘点出现过零交叉,即边缘点两旁的二阶导数取异号,据 此可以通过二阶导数来检测边缘点。 拉普拉斯边缘检测算子正是对二维函数进行二阶导数运 算的标量算子,它的定义是:
2 f ( x, y )
2 2 f ( x , y ) f ( x, y ) x 2 y 2
-1 -2 -3
0 0 0 ( b)
1 2 1
图(B)Sobel 算子模板
Prewitt 算子
Prewitt 边缘检测算子就是一种利用局部差分平均方法寻找边缘的算子,它体现了三对 像素点像素值之差的平均概念,因为平均能减少或消除噪声,为此我们可以先求平均,再求 差分,即利用所谓的平均差分来求梯度。用差分代替一阶偏导可得算子形式如下:
(9) 拉普拉斯边缘检测算子的模板如图(D)所示,模板的基本特征是中心位置的系数为正,其 余位置的系数为负, 且模板的系数之和为零。 它的使用方法是用图中的两个点阵之一作为卷 积核,与原图像进行卷积运算即可。拉普拉斯算子又是一个线性的移不变算子,它的传递函 数在频域空间的原点为零,因此,一个经拉普拉斯滤波过的图像具有零平均灰度。拉普拉斯 检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声 敏感,整体检测效果不如梯度算子。因此,它很少直接用于边缘检测。但注意到与 Sobel 算 子相比,对图像进行处理时,拉普拉斯算子能使噪声成分得到加强,对噪声更敏感。
a3 a4
a2
(i , j )
a1 a0
马尔算子用到的卷积模板一般比较大 (典型半径为 8-32 个像素) , 不过这些模板可以分 解为一维卷积来快速计算。常用的 LoG 算子是 5 5 模板,如图(F) 。与其他边缘检测算子 一样,LoG 算子也是先对边缘做出假设,然后再这个假设下寻找边缘像素。但 LoG 算子对边 缘的假设条件最少,因此它的应用范围更广。另外,其他边缘检测算子检测得到的边缘时不 连续的,不规则的,还需要连接这些边缘,而 LoG 算子的结果没有这个缺点。对于 LoG 算子 边缘检测的结果可以通过高斯函数标准偏差 来进行调整。即 值越大,噪声滤波效果越 好,但同时也丢失了重要的边缘信息,影响了边缘检测的性能; 值越小,又有可能平滑 不完全而留有太多的噪声。因此,在不知道物体尺度和位置的情况下,很难准确确定滤波器 的 值。一般来说,使用大 值的滤波器产生鲁棒边缘,小的 值的滤波器产生精确定位 的边缘,两者结合,能够检测出图像的最佳边缘。数学上以证明,马尔算子是按零交叉检测 阶跃状边缘的最佳算子。 但在实际图像中要注意到, 高斯滤波的零交叉点不一定全部是边缘 点,还需要进一步对其真伪进行检验。 -2 -4 -4 -4 -2 -4 0 8 0 -4 -4 8 24 8 -4 -4 0 8 0 -4 -2 -4 -4 -4 -2
0 -1 0
-1 4 -1 (a)
0 -1 0
-1 -1 -1
-1 8 -1 ( b)
-1 -1 -1
图(D)Laplace 算子模板 第3页
Marr-Hildreth 算子
实际应用中, 由于噪声的影响, 对噪声敏感的边缘检测点检测算法 (如拉普拉斯算子法) 可能会把噪声当边缘点检测出来,而真正的边缘点会被噪声淹没而未检测出。为此 Marr 和 Hildreth 提出了马尔算子,因为是基于高斯算子和拉普拉斯算子的,所以也称高斯-拉普拉 斯(Laplacian of Gaussian,LoG)边缘检测算子,简称 LoG 算子。该方法是先采用高斯算 子对原图像进行平滑又降低了噪声, 孤立的噪声点和较小的结构组织将被滤除由于平滑会导 致边缘的延展, 因此在边缘检测时仅考虑那些具有局部最大值的点为边缘点, 这一点可以用 拉普拉斯算子将边缘点转换成零交叉点, 然后通过零交叉点的检测来实现边缘检测。 所谓零 交叉点就是: 如果一个像素处的值小于一 0 , 而此像素 8-连通的各个像素都是大于 0 ( 0 是一个正数) , 那么这个像素就是零交叉点。 这样还能克服拉普拉斯算子对噪声敏感的缺点, 减少了噪声的影响。二维高斯函数为
H(x,y)
r
第4页
0
图(E)H(x,y)的截面图
LoG 算子在 (x,y) 空间具有以原点为中心旋转的对称性, LoG 滤波器具有如下三个显著特点: 该滤波器中的高斯函数部分对图像具有平滑作用, 可有效地消除尺度远小于高斯分布因 子 的噪声信号。 高斯函数在空域和频域内都具有平滑作用。 该滤波器采用拉普拉斯算子 2 可以减少计算量。
(11)
H ( x, y ) 2 h( x, y )
2 r2 r2 exp( ) 4 2 2
(12)
其中 r 2 x 2 y 2 , 是标准差。算子 H ( x, y ) 是一个轴对称函数,其横截面如图(E)所示。 由于它相当的平滑,能减少噪声的影响,所以当边缘模糊或噪声较大时,利用 H ( x, y ) 检测 过零点能提供较可靠的边缘位置。
x f ( x, y ) f ( x 1, y 1) 2 f ( x, y 1) f ( x 1, y 1) f ( x 1, y 1) 2 f ( x, y 1) f ( x 1, y 1) y f ( x, y ) f ( x 1, y 1) 2 f ( x 1, y ) f ( x 1, y 1) f ( x 1, y 1) 2 f ( x 1, y ) f ( x 1, y 1)
(4)
上述算子对应的两个 2 2 模板如图(A)所示。实际应用中,图像中的每个像素点都用这 两个模板进行卷积运算,为避免出现负值,在边缘检测时常提取其绝对值。
1 0 (a)
0 -1
0 -1 ( b)
1 0
第1页
图(A)Robert 算子模板
Sobel 算子
该算子是由两个卷积核 g1 ( x, y ) 与 g 2 ( x, y ) 对原图像 f ( x, y ) 进行卷积运算而得到的。 其数学表达式为:
1 2
则有
s ( x, y )
f ( x n, y) f ( x, y) f ( x, y n) f ( x, y)
2 2
( 1)
(n=1,2,...)
( x, y ) tan 1 f ( x, y n) f ( x, y ) / f ( x n, y ) f ( x, y )
式(1)与式(2)可以得到图像在(x,y)点处的梯度大小和梯度方向。 将式(1)改写为:
(2)
g ( x, y ) f ( x, y )

f ( x 1, y 1) f ( x 1, y )
2
f ( x, y 1)
1 2 2

(3)
g ( x, y ) 称为 Roberts 边缘检测算子。式中对 f ( x, y ) 等的平方根运算使该处理类似于人类
相关文档
最新文档