边缘检测 本科毕业设计论文 - 图文 联系客服

发布时间 : 星期日 文章边缘检测 本科毕业设计论文 - 图文更新完毕开始阅读5c083bdf5022aaea998f0fbe

重庆邮电大学计算机科学与技术学院本科毕业设计(论文)

第二章 微分算子边缘检测原理

第一节 图像边缘分类及特征分析

边缘是指图像局部亮度变化最显著的部分,是灰度不连续的结果,主要存在于目标与背景,目标与目标之间。由于边缘类型的多样性,使大部分的边缘检测方法只限于检测单一类型的边缘。边缘分类的关键是根据具体的实现目标检测到图像中“感兴趣”的那部分边缘,去掉干扰边缘。若能事先知道“感兴趣”的边缘类型,并对其进行建模,则会大大简化检测过程。

在传统的边缘定义中,通常用阶跃函数和斜坡函数来表示两个背景区域边界的变化。图像中的边缘类型通常分为:阶跃边缘、斜坡边缘、三角型屋脊边缘等几种类型[1]。

1、阶跃边缘。从一个灰度迅速增加(或降低)到比它高(或低)较多灰度级的另一个灰度,如图2.1中的(a)和(b)。其数学模型为:

f(x)?C?I(x) (2.1)

?1,x?0I(x)???0,x?0。 式中 C-边缘幅度,

阶跃型边缘的一阶导数在图像由暗变明的位置上有一个向上的脉冲,该脉冲的极值点对应边缘的位置;边缘的二阶导数在一阶导数的脉冲上升区有一个向上的小脉冲,而在一阶导数的脉冲下降区有一个向下的小脉冲,在这两个小脉冲之间有一个过零点,此过零点同样对应于图像边缘的位置。

2、斜坡型边缘。见图2.1(b)。从一个灰度慢慢增加到另一个灰度值其数学模型为:

2?ss??d??ss??d?f(x)????x??I?x?????x??I?x??s?d2??2??d2??2? (2.2)

?1,t?0I(t)???0,t?0式中 s-边缘幅度,d-边缘宽度,

t?x?d2

8

重庆邮电大学计算机科学与技术学院本科毕业设计(论文)

斜坡型边缘的一阶与二阶导数性质与阶跃型类似,即一阶导极大值和二阶导过零点都对应于边缘位置,只是图像变化缓慢,若模板太小则易漏检。

3、三角屋脊型边界。灰度慢慢增加到一定程度后再缓慢减小,见图2.1中的(c),其数学模型为:

d??2sd?4s?s????f(x)??x?s?I?x?????x?s?I?x???xI?x?2??d2?d?d???? (2.3) 式中s-边缘幅度,d-边缘宽度。

屋脊型边缘的图像剖面与阶跃型的一阶导数形状相似,所以这种边缘的一阶导形状与阶跃型的二阶导数形状相似。这表明此类边缘一阶导过零点对应于图像边缘,二阶导的极小值点对应于图像边缘。

(a)阶梯状边缘

(b)斜坡状边缘

(c)屋脊状边缘

图2.1 图像中的主要边缘类型

上面是理想状态下的边缘,而现实图像当中往往包含大量噪声,图像边缘更是由于各种因素被部分隐藏(不完全性)或歪曲(模糊性),因而现实世界中的边缘特征表现为以下几种情况:a)平滑逐渐过渡;b) 非均一亮度下的边缘;c) 均一亮度下的边缘;d) 噪声环境下的边缘;e) 以上几种情况的组合;f)如果这些因素离理想情况相差足够远,那么边缘数据很难从噪声中被识别出来。

第二节 微分算子的检测原理

利用空域微分算子进行图像的边缘检测是边缘检测中最常用的算法。在灰度图像中,相邻的两个不同灰度值的区域之间总是会存在边缘。如前面所说,灰度边缘是由于灰度的不连续性所造成的,而这种不连续性可以借助于求导数来检测出来。

9

重庆邮电大学计算机科学与技术学院本科毕业设计(论文)

主要有一阶导数和二阶导数。

图2.2 边缘与导数

在图2.2(a)中,可以看到第三排的一阶导数的剖面图在图像的边缘位置产生可一个向上的跳跃,而在其它位置均为零。再看图2.2(b),同样的,第三排的一阶导数剖面图在图像的边缘区域也发生了一个跳跃,而在其他位置则为零,这个跳跃的峰值所在的位置正是图像边缘的确切位置。由此,可以得到一个推论:一阶导数可用于检测一个像素点是否是在图像的边缘上,可以用一阶导数来检测图像中边缘的区域。

接下来可以继续分析图2.2(a)中第四行,即二阶导数的剖面图。可以发现二阶导数在对应一阶导数跳跃的上升区时是有个向上的脉冲的,而在一阶导数跳跃的下降区有一个向下的脉冲,在这两个脉冲之间则存在着一个零点,这个零点的位置所对应的位置就是一阶导数跳跃的最高点,也是图像中边缘的精确位置。通过分析图2.2(c)可以得到相同的结论:即可以利用二阶导数的过零点来判断边缘的确切位置。再进一步分析的话,可以发现在图像的暗区,二阶导数是向上脉冲的,在图像的亮区二阶导数是向下脉冲的。所以,利用二阶导数的正负可以判断图像的一个像素点是处于边缘的哪一边。

图2.2(c)可以看成将图2.2(a)和图2.2(b)组合而成,分析图2.2(c)可以得到和以上

10

重庆邮电大学计算机科学与技术学院本科毕业设计(论文)

相同的结论。在图2.2(c)中二阶导数的两个过零点对应的就是图像中的两个边缘。

总的来说,图像的目标边缘可通过求图像的导数来确定,其中一阶导数可以确定边缘的存在,确定一个像素点是不是边缘点;二阶导数的正负可以判断一个像素点是在边缘的亮的一边还是在暗的一边。在实际检测中,一阶导数对应的就是一阶微分算子,二阶导数对应的就是二阶微分算子。通过将微分算子的模板和图像进行卷积运算即可达到图像检测的目的。

接下来对图像的卷积运算进行必要的介绍。

算子运算时采取类似卷积的方式,将模板在图像上移动并在每个位置计算对应中心像素的梯度值。我们通过以下四个步骤进行模板的卷积运算:

① 将模板遍历图中每个像素点,并将模板中心与图中某个像素位置重合; ②将模板的系数与模板系数所对应像素相乘; ③将所有乘积相加;

④将运算和(模板的输出响应)赋予图中对应模板中心位置的像素,作为这个像素点的像素值。

例如有一个3×3的模板如图2.3所示[1]。

图2.3 一个3×3的模板

在这个模板内所标的数字( k1,k2,k3,…..k8 )为模板系数,这个模板系数根据具体的处理要求而可以是任何的数。如将k0 所在位置视为图中正在处理的像素点,则k1,k2,k3,…..k8 则分别对应这个像素点的八邻阈点。s1,s2,…..s8 则是八邻阈点的灰度值,这样模板的输出响应R 为:

R=k0×s0+k1×s1+……+k8×s8 (2.4)

将R值作为在(x , y)位置的像素值。利用公式2.4在整幅图中进行卷积运算就会得到模板运算后的新图。

11