-图像边缘提取方法研究.doc
文本预览下载声明
图像边缘提取方法研究
摘 要 图像边缘检测一直以来都是图像处理与分析领域的研究热点。边缘提取是图像处理的基础工作,如何精确、有效地提取边缘是图像处理领域相关学者讨论的热点问题,由此产生的各种边缘检测算法层出不穷并且得到了广泛的应用。该文对传统的具有代表性的各种图像边缘提取方法进行了阐述、对比和分析了各自的优缺点,为了更清楚地看出各种算法的效果,给出了一些常用算法对同一副标准测试图像进行边缘提取的实验结果。本文对现代的一些边缘检测方法如小波分析、形态学等也作了简要的介绍,重点分析了以上各种算法在图像边缘检测中的发展状况和优缺点。最后提出在实践中要根据待解决的问题的特点和要求决定采取何种方法。
图像边缘检测的流图大致如图1.2所示:
图1.2 边缘检测的流图
滤波。边缘检测主要基于导数计算,但受噪声影响。滤波器在降低噪声的同时也导致边缘强度的损失。
增强。增强算法将领域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。
检测。在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。
定位。精确确定边缘的位置。
1.3 主要研究内容
本文将较为详细地对各种图像边缘提取算法的原理进行阐述,分析各自的优缺点,重点对几种最具代表的经典图像边缘提取算法给出matlab实验结果,并进行结果的对比分析。由于传统的边缘检测算法或多或少存在着这样或那样的不足,基于对传统边缘检测算法的学习研究,文章最后给出了自己的改进算法和实验结果。文章最后对本课题的研究作了简要的总结并对其未来的发展趋势提出了自己的观点。
第2章 经典图像边缘提取算法
近些年来,随着计算机和相关领域的研究的迅速发展,各种新的图像边缘提取方法大量涌现,传统的边缘提取方法仍有其研究价值。
2.1 一阶微分算子
图像边缘是灰度变化剧烈的地方,利用边缘一阶导数的特点即可提取出边缘。梯度算子和方向算子都是一阶微分算子。
2.1.1 梯度算子
边缘的检测可借助空域微分算子通过卷积完成,导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值较高,因此可将这些导数值作为相应边界点的强度,通过设置门限的方法,提取边界点集。
一阶导数与是最简单的导数算子,一个连续函数在位置(x,y)处方向导数的最大值是,称为梯度模,相应地取得最大值的方向为。
利用梯度模算子来检测边缘是一种很好的方法,它不仅具有位移不变性,还具有各向同性。在实际中,对于一副数字图像采用了梯度模的近似形式,即:
。
式中,j对应x轴方向,i对应y轴方向。其中表示处理后的(i,j)点的灰度值,表示处理前该点的灰度值。
为检测边缘点,选取适当的的阈值T,对梯度图像进行二值化,则有:
这样就形成了一幅边缘二值图像。
梯度算子仅计算相邻像素的灰度差,对噪声敏感。下面介绍几种最常见的梯度算子:
(1)Roberts算子
Roberts边缘检测算子又称为梯度交叉算子,是一种最简单的算子,它是一种利用局部差分算子寻找边缘的算子,采用对角线方向相邻两像素之差近似梯度幅值检测边缘。检测垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感。该算子对具有陡峭边缘、低噪声的图像效果较好。Roberts算子梯度幅值计算近似方法如图2.1.1所示:
(i,j) (i,j+1) (i+1,j) (i+1,j+1) 图2.1.1
(i,j)为当前像素的位置,其计算公式如下:
它是由两个22模板组成。用卷积模板表示如下:
式中,。
(2)Prewitt算子
为在检测边缘的同时减少噪声的影响,Prewitt从加大边缘检测算子的模板大小出发,由22扩大到33来计算差分算子,不仅能检测边缘点,而且能抑制噪声的影响。Prewitt算子梯度幅值计算如图2.1.2所示。
a a a a (i,j) a a a a 图2.1.2 梯度幅值计算示意图
(i,j)为当前像素点,梯度幅值计算公式如下:
G(i,j)=|P|+|P|,
式中 ,,前者为水平模板,后者为垂直模板。图像中每个点都用这两个模板进行卷积,取最大值作为输出,最终产生一幅边缘幅度图像。
(3)Sobel算子
Sobel在Prewitt算子的基础上,采用带权的方法计算差分。该算子能进一步抑制噪声影响,可以提供较为精确的边缘信息,但它同时也会检测出许多的伪边缘,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。
Sobel算子梯度幅值计算如图2.2.2所示。(i,j)为当前像素点,梯度幅值计算公式如下:
,式中c=2。用卷积模板来实现:
是水平模板,对水平边缘影响最大;是垂直模板,对垂直边缘的影响最大。图像中的每个点都用这两个模板做卷积,两个模板卷积的最大值作为该点的输出,其运算结果是一幅边缘幅度图像。
2.1.2 方向算子
(1)
显示全部