基于Matlab的图像边缘检测算法的实现及应用毕业论文(2)

2019-04-15 11:01

第二章 边缘检测的基本原理

图像边缘是图像最基本的特征,边缘在图像分析中起着重要的作 用。所谓边缘(edge)是指图像局部特征的不连续性。灰度或结构等 信息的突变称为边缘,例如:灰度级的突变、颜色的突变、纹理结构 的突变。边缘是一个区域的结束,也是另一个区域的开始,利用该特 征可以分割图像。

当人们看一个有边缘的物体时,首先感觉到的便是边缘,如图 2.1所示。

(a) 理想边缘模型 (b) 斜坡边缘模型

图2.1 灰度级跃变的边缘模型

一条理想的边缘应该具有如图 2.1(a) 所示模型的特性。每个像素 都处在灰度级跃变的一个垂直的台阶上(例如图形中所示的水平线通 过图像的灰度剖面图)。

而实际上,诸如图像采集系统的性能、采样频率和获得图像的照 明条件等因素的影响,得到的边缘往往是模糊的,边缘被模拟成具有 “斜坡面”的剖面,如图 2.1(b) 所示,在这个模型中不再有细线(宽 为一个像素的线条),而是出现了边缘的点包含斜坡中任意点的情况。

由此可以看到:模糊的边缘使边缘的“宽度”较大,面清晰的边缘使 边缘的宽度较小。

由于图像中物体的边缘是以图像的局部特征,像素的不连续性形 成出现的,同时也是图像局部亮度变化最显著的部分,同时物体的边 缘也是不同区域的分界线。图像的边缘是具有方向和幅度两个特性, 通常沿边缘的走向灰度变化平缓,垂直于边缘走向的像素点灰度变化 剧烈。而这种不连续性往往可以通过求导数方便地检测到,根据灰度 变化的特点,一般常用一阶导数和二阶导数来检测边缘。如图 2.2所 示,第一行是一些具有边缘的图像示例,第二行是沿图像水平方向的 一个剖面,第三行和第四行分别为剖面的一阶导数据和二阶导数。边 缘剖面有 3种:阶跃形、脉冲形和屋顶形。

(a) 正阶跃形 (b) 负阶跃形 (c) 脉冲形 (d) 屋顶形

图2.2 图像边缘的灰度变化与导数

阶跃形的边缘处于图像中两个不同灰度值的相邻区间之间,脉冲 形的边缘主要对应细条状的灰度值突变区域,而屋顶状的边缘上升沿 和下降沿都比较缓慢。由于采样的缘故,数字图像的边缘总有一些模

糊,所以这里垂直上下的边缘剖面都表示有一定的坡度。

在图 2.2(a) 中,对灰度剖面的一阶导数在图像由亮变暗的位置 处,有一个向上的阶跃而在其它位置为零。这表明可以用一阶导数来 检测边缘的存在,幅度峰值一般对应边缘位置。对灰度剖面的二阶导 数在一阶导数的阶跃上升区有一个向上的脉冲,而在一阶导数的阶跃 下降区有一个向下的脉冲。在这两个阶跃之间有一个过零点,它的位 置正对应原图像的边缘位置。所以可以用二阶导数的过零点来检测边 缘位置,而用二阶导数在过零点处的符号确定边缘像素在图像边缘的 暗区或亮区。同样分析图 2.2(b) 可以得到相同的结论。这这里是由亮 变暗,所以与图 2.2(a) 相比,剖面左右对换,一阶导数左右对换,二 阶导数据上下对换。

图 2.2(c) 中,脉冲形的剖面边缘与图 2.2(a) 的一阶导数形状相 同,所以图 2.2(c) 的一阶导数形状与图 2.2(a) 的二阶导数形状相同, 而它的 2个二阶导数过零点正好对应脉冲的上升沿和下降沿。通过检 测脉冲剖面的 2个二阶导数过零点就可以确定脉冲的范围。

同理,不难得出图 2.2(d) 屋顶形边缘,通过检测屋顶形边缘的剖 面的一阶导数过零点就可以确定屋顶位置。

图像的边缘有方向的幅度两个属性,沿边缘方向像素变化平缓, 垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检 测出来,通常用一阶导数或二阶导数来检测边缘,不同的是一阶导数 认为最大值对应边缘位置,而二阶导数以过零点对应边缘位置。实际

上,对于图像中的任意方向上的边缘都可以进行类似的分析。图像边 缘检测中对任意点的一阶导数可以利用该点梯度的幅度来获得,二阶 导数可以用拉普拉斯算子得到。

2.1 基于一阶导数的边缘检测

梯度是函数变化的一种度量,是图像对应二维函数的一阶导数。 而一幅图像可以看作是图像强度连续导数的取样点数组。梯度是一阶 导数的二维等价式,可定义为向量

有两个重要的性质和梯度有关,一是向量 G(x,y)的方向就是函数 f(x,y)增大时的最大变化率方向;二是梯度的幅值。

对于数字图像,偏导数可用差分来近似,则边缘往往在差分值最 大处,最小处或过零点发生。

在计算梯度时,计算空间同一位置处(x,y)的真实偏导数是至关重 要的。而采用上面公式计算的梯度近似值并不位于同一位置。所以常 常使用 2×2的一阶差分模板来计算位于内插点[x+1/2,y+1/2]的 x方向

和 y方向偏导数,此时 Gx和 Gy可表示为

2.2 基于二阶导的边缘检测

以上介绍的计算一阶导数的方法,把一阶导数大于阈值的点作为 边界点的方法,有可能会导致检测出的边缘点过多,数据存储量比较 大。一种在理论上更有效的方法是求梯度局部最大值对应的点,并认 为它们是边缘点。这种去除了一阶导数中的非局部最大值的方法,可 以检测出更精确的边缘,一阶导数的局部最大值对应着二阶导数的零 交叉点。这样,通过找图像灰度的二阶导数的零交叉点就能较好地找 到精确边缘点。从图 1可以看出,图像灰度二阶导数的过零点对应边 缘点。

图2.3 图像的二阶导数


基于Matlab的图像边缘检测算法的实现及应用毕业论文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:博学国际发布:净水器十大品牌排名

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: