Matlab图像锐化处理及边缘检测

  • 格式:doc
  • 大小:3.03 MB
  • 文档页数:31

下载文档原格式

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

Matlab图像锐化处理及边缘检测

本章要点:

☑图像边缘锐化的基本方法

☑微分运算

☑梯度锐化

☑边缘检测

6.1 图像边缘锐化的基本方法

物体的边缘是以图像局部特性不连续性的形式出现。本质上边缘常意味着一个区域的终结和另一个区域的开始。图像边缘信息在图像分析和人的视觉中都是十分重要的,是图像识别中提取图像特征的一个重要特性。图像的边缘有方向和幅度两个特性。通常,延边缘走向的像素变化平缓,而垂直于边缘走向的像素变化剧烈。边缘的描述包含以下几个方面:(1)边缘点——它两边像素的灰度值有显著的不同。边缘点也存在于这样一对邻点之间即一个在较亮的区域内部,另一个在外部。

(2)边缘法线方向——在某点灰度变化最剧烈的方向,与边缘方向垂直。

(3)边缘方向——与边缘法线方向垂直,是目标边界的切线方向。

(4)边缘位置——边缘所在的坐标位置。

(5)边缘强度——沿边缘法线方向图像局部的变化强度的量度。

粗略地区分边缘种类可以有两种,其一是阶跃状边缘,它两边像素的灰度值有显著的不同,其二是屋顶状边缘,它位于灰度值从增加到减少的变化转折点。这些变化分别对应景物中不同的物理状态。边缘是图像上灰度变化比较剧烈的地方,如果一个像素落在图像中某一个物体的边界上,那么它的邻域将成为一个灰度级的变化带。对这种变化最有用的两个特征是灰度的变化率和方向,在灰度变化突变处进行微分,将产生高值。经典的边缘提取方法是考虑图像的每个像素在某个领域内的变化,利用边缘邻近一阶或二阶方向导数变化规律,来检测边缘。图像灰度值的显著变化可以用一阶差分替代一阶微分的梯度来表示,它们分别以梯度向量的幅度和方向来表示。因此图像中陡峭边缘的梯度值将是很大的;那些灰度变化平缓的地方,梯度值是比较小的;而那些灰度值相同的地方,梯度值将为零。图像经过梯度运算能灵敏地检测出边界线,这种微分边缘检测算子运算简单易行,但有方向性。

利用计算机进行图像锐化处理有两个目的,一是与柔化处理相反,增强图像边缘,使模糊的图像变得更加清晰起来,颜色变得鲜明突出,图像的质量有所改善,产生更适合人观察和识别的图像,本章的梯度锐化就是介绍这方面的内容。二是希望经过锐化处理后,目标物体的边缘鲜明,以便于计算机提取目标物体的边界、对图像进行分割、目标区域识别、区域形状提取等,为图像理解和分析打下基础,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位,本章的边缘检测算子就是介绍这方面的内容。

与图像平滑处理相对应,图像锐化也可以分为空间域图像锐化法和空间频率域图像锐化法两大类型。空间频率域图像锐化的方法将在第九章介绍,本章介绍边缘增强及边缘检测的方法,基于空间域处理,为分割及目标物体特征提取打下基础。

6.2 微分运算

边缘是由相邻域灰度级不同像素点构成的,若想增强边缘,就应该突出相邻点间灰度级的变化。如下图所示,不难发现原图中左边暗,右边亮,中间存在着一条明显的边界。

0 0 1 255 255 255 255

1 1 1 254 253 254 254

0 0 0 255 255 253 253

1 1 0 254 254 254 254

注意:由于计算机显示屏幕的坐标原点在视窗的左上角,显示屏幕的坐标系如图6-1所示。

y

图6-1 显示屏幕的坐标系

为了与f ( x,y)表示法相一致,图像f(i,j)中的i代表列,j代表行。如果用右列减去左列,即每一个像素的值为:

G ( i, j ) = f ( i , j )- f ( i-1, j )

结果如下:

0 1 254 0 0 0

0 0 253 -1 1 0

0 0 255 0 -2 0

0 - 1 254 0 0 0

可以看出,第3列比其他列的灰度值高很多,在边界附近,灰度值有明显的跳变,人眼观察时,就能发现一条很明显的亮边;在灰度相近的区域内,这么做的结果使得该点的灰度值接近于0,区域都很暗。

这样,G ( i, j ) = f ( i , j )- f ( i-1, j )就起到了垂直边沿检测的作用。

如对于上面那幅图像转置,得到如下图像数据:

0 1 0 1

0 1 0 1

1 1 0 0

255 254 255 254

255 253 255 254

255 254 253 254

255 254 253 254

该边缘是水平方向的,这时如果还用左列减去右列就得不到边界数据,必须是下一行

减去上一行,即每一个像素的值为:

G ( i, j ) = - f ( i, j-1 ) + f ( i , j ),图像上得到一条很明显的亮边。

这就是一种边沿检测器,它在数学上的涵义是一种基于梯度的滤波器,又称边沿算子,梯度是有方向的,和边沿的方向总是正交(垂直)的。

图像灰度的变化情况可以用灰度分布的梯度来反映。图像处理中最常用的微分方法是求梯度。对于图像f(i,j), 它在点(i,j)处的梯度是一个矢量,定义为:

⎪⎪⎪⎪

⎫ ⎝⎛∂∂∂∂=j f i f j)]g[f(i, (6-1) 其方向导数在边缘法线方向上取得局部最大值。怎样求f(i,j)梯度的局部最大值和方向呢?我们知道f(i,j) 沿方向r 的梯度为:

θθsin cos j i f f r

j j f r i i f r f +=∂∂⋅∂∂+∂∂⋅∂∂=∂∂ (6-2) r

f ∂∂ 的最大值条件是∂⎥⎦⎤⎢

⎣⎡∂∂∂r f =0 即:θθcos sin j i f f +-=0 (6-3) 梯度是向量,各向同性。梯度方向对应于f(i,j)最大变化率方向上,即

i j f f /tan 1-=ξθ

梯度最大值 G=max

⎥⎦⎤⎢

⎣⎡∂∂r f =2

2j i f f + (6-4) 为了减少计算量而用G=j i f f + (6-5)

梯度幅度比例于邻像素的灰度级,在灰度陡变区域,梯度值大,在灰度相似区,梯度值

小,在灰度级为常数区,梯度为零。因此,微分运算应用在图像上,可使图像的轮廓清晰。

本节介绍的微分运算有: 纵向微分运算; 横向微分运算; 双方向一次微分运算。

6.2.1 纵向微分运算

1.理论基础

对灰度图像在纵方向进行微分实现了将图像向左平移一个像素,再用原图像减去平移后图像。相减的结果反映了原图像亮度变化率的大小。原图像中像素值保持不变的区域,相减的结果为零,即像素为黑;原图像中像素灰度值变化剧烈的区域,相减后得到较大的变化率,对应的像素很亮,而且像素灰度值差别越大,则得到的像素就越亮,所以图像的垂直边