数字图像处理几种边缘检测算子的比较

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

数字图像处理

几种边缘检测算子的比较

边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图

像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。

这些包括:深度上的不连续、表面方向不连续、物质属性变化和场景照明变化。边缘

检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。图像边缘检测

大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结

构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一

类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值

来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图

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

零点。

人类视觉系统认识目标的过程分为两步:首先,把图像边缘与背景分离出来;然后,才能知觉到图像的细节,辨认出图像的轮廓。计算机视觉正是模仿人类视觉的这个过程。因此在检测物体边缘时,先对其轮廓点进行粗略检测,然后通过链接规则把原来

检测到的轮廓点连接起来,同时也检测和连接遗漏的边界点及去除虚假的边界点。图

像的边缘是图像的重要特征,是计算机视觉、模式识别等的基础,因此边缘检测是图

象处理中一个重要的环节。然而,边缘检测又是图象处理中的一个难题,由于实际景

物图像的边缘往往是各种类型的边缘及它们模糊化后结果的组合,且实际图像信号存

在着噪声。噪声和边缘都属于高频信号,很难用频带做取舍。

这就需要边缘检测来进行解决的问题了。边缘检测的基本方法有很多,一阶的有Roberts Cross算子,Prewitt算子,Sobel算子,Canny算子, Krisch算子,罗盘算子;而二阶的还有Marr-Hildreth,在梯度方向的二阶导数过零点。现在就来

简单介绍一下各种算子的算法

Roberts 算子

Roberts 算子是一种利用局部差分算子寻找边缘的算子,它有下式给出: g(x,y)=[√f(x,y)−√f(x +1,y +1)]2+[√f (x,y +1)−√f (x +1,y )]2

其中f(x,y)、f(x +1,y)、f (x,y +1)和 f(x +1,y +1) 分别为4领域的坐标,且是具有整数像素坐标的输人图像;其中的平方根运算使得该处理类似于人类视觉系统中发生的过程。

Roberts 算子是2X2算子模板。图1所示的2个卷积核形成了Roberts 算子。图象中的每一个点都用这2个核做卷积。

Sobel 算子

Sobel 算子是一种一阶微分算子,它利用像素邻近区域的梯度值来计算1个像素的梯度,然后根据一定的绝对值来取舍。它由下式给出:

S =√(dx 2+dy 2)

Sobel 算子是3*3算子模板。图2所示的2个卷积核dx 、 dy 形成Sobel 算子。一个核对通常的垂直边缘响应最大,而另一个核对水平边缘响应最大。2个卷积的最大值作为该点的输出值。运算结果是一幅边缘幅度图像。

图2 Sobel 算子

Prewitt 算子

Prewitt 算子由下式给出:

Sp =√(dx 2+dy 2) Prewitt 算子是3*3算子模板。图3所示的2个卷积核dx ,不要形成了Prewitt 算子。与Sobel 算子的方法一样,图像中的每个点都用这2个核进行卷积,取最大值作为输出值。Prewitt 算子也产生一幅边缘幅度图像。

LOG 滤波器又称Marr-Hildreth 模板或算子

∇G (x,y )=ð2G

ð2x +ð2G ð2y =1πð4(x 2+y 2σ2−1)exp (−x 2+y 22σ2)

式中:G(x,y)是对图像进行处理时选用的平滑函数(Gaussian 函数);x ,y 为整数坐标; σ为高斯分布的均方差。对平滑后的图像fs(fs=f(x,y)*G(x,y))做拉普拉斯变换,得:

h(x,y)=∇2fs (x,y )=∇2[f (x,y )∗G (x,y )]=f (x,y )∗∇2G(x,y)

即先对图象平滑,后拉氏变换求二阶微分,等效于把拉氏变化作用于平滑函数,得到1个兼有平滑和二阶微分作用的模板,再与原来的图像进行卷积。用Marr-

Hildreth 模板与图像进行卷积的优点在于,模板可以预先算出,实际计算可以只进行卷积。

LOG 滤波器有以下特点:

(1)通过图象平滑,消除了一切尺度小于σ的图像强度变化;

(2)若用其它微分法,需要计算不同方向的微分,而它无方向性,因此可以节省计算量

;

(3)它定位精度高,边缘连续性好,可以提取对比度较弱的边缘点。

LOG滤波器也有它的缺点:当边缘的宽度小于算子宽度时,由于过零点的斜坡融合将会丢失细节。

LOG滤波器有无限长的拖尾,若取得很大尺寸,将使得计算不堪重负。但随

着:r=√x2+y2的增加,LOG滤波器幅值迅速下降,当r大于一定程度时,可以忽略模板的作用,这就为节省计算量创造了条件。实际计算时,常常取n* n大小的LOG滤波器,近似n=3σ。另外,LOG滤波器可以近似为两个指数函数之差,即DOG

( Difference Of two Gaussians functions):

DOG(σ1,σ2)=1

2πσ12exp (−x2+y2

2σ12

)-1

2πσ22

exp (−x2+y2

2σ22

)

当σ1/σ2=1.6时,DOG代替LOG减少了计算量。

Canny算子

Canny算子是是一阶算子。其方法的实质是用1个准高斯函数作平滑运算

fs=f(x,y)*G(x,y),然后以带方向的一阶微分算子定位导数最大值。

平滑后fs(x,y)的梯度可以使用2*2的一阶有限差分近似式:

P[i,j]≈(fs[i,j+1]-fs[i,j]+fs[i+1,j+1]-fs[i+1,j])/2

Q[i,j] ≈(fs[i,j]-fs[i+1,j]+fs[i,j+1]-fs[i+1,j+1])/2

在这个2x2正方形内求有限差分的均值,便于在图像中的同一点计算二和y的偏导数梯度。幅值和方向角可用直角坐标到极坐标的坐标转化来计算:

M[i,j]=√P[i,j]2+Q[i,j]2

θ[i,j]=tan−1(Q[i,j]/P[i,j])

M[i,j]反映了图象的边缘强度; θ[i,j]反映了边缘的方向。使得M}i,j}取得局部最大值的方向角θ[i,j],就反映了边缘的方向。

Canny算子也可用高斯函数的梯度来近似,在理论上很接近4个指数函数的线性组合形成的最佳边缘算子。在实际工作应用中编程较为复杂且运算较慢。

几种算子的比较

相关文档
最新文档