-图像边缘提取方法研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1图像边缘提取方法研究摘要图像边缘检测一直以来都是图像处理与分析领域的研究热点。边缘提取是图像处理的基础工作,如何精确、有效地提取边缘是图像处理领域相关学者讨论的热点问题,由此产生的各种边缘检测算法层出不穷并且得到了广泛的应用。该文对传统的具有代表性的各种图像边缘提取方法进行了阐述、对比和分析了各自的优缺点,为了更清楚地看出各种算法的效果,给出了一些常用算法对同一副标准测试图像进行边缘提取的实验结果。本文对现代的一些边缘检测方法如小波分析、形态学等也作了简要的介绍,重点分析了以上各种算法在图像边缘检测中的发展状况和优缺点。最后提出在实践中要根据待解决的问题的特点和要求决定采取何种方法。图像边缘检测的流图大致如图1.2所示:图1.2边缘检测的流图(1)滤波。边缘检测主要基于导数计算,但受噪声影响。滤波器在降低噪声的同时也导致边缘强度的损失。(2)增强。增强算法将领域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。2(3)检测。在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。(4)定位。精确确定边缘的位置。1.3主要研究内容本文将较为详细地对各种图像边缘提取算法的原理进行阐述,分析各自的优缺点,重点对几种最具代表的经典图像边缘提取算法给出matlab实验结果,并进行结果的对比分析。由于传统的边缘检测算法或多或少存在着这样或那样的不足,基于对传统边缘检测算法的学习研究,文章最后给出了自己的改进算法和实验结果。文章最后对本课题的研究作了简要的总结并对其未来的发展趋势提出了自己的观点。第2章经典图像边缘提取算法近些年来,随着计算机和相关领域的研究的迅速发展,各种新的图像边缘提取方法大量涌现,传统的边缘提取方法仍有其研究价值。2.1一阶微分算子图像边缘是灰度变化剧烈的地方,利用边缘一阶导数的特点即可提取出边缘。梯度算子和方向算子都是一阶微分算子。2.1.1梯度算子边缘的检测可借助空域微分算子通过卷积完成,导数算子具有突出灰度3变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值较高,因此可将这些导数值作为相应边界点的强度,通过设置门限的方法,提取边界点集。一阶导数xf与yf是最简单的导数算子,一个连续函数),(yxf在位置(x,y)处方向导数的最大值是2122yfxfG,称为梯度模,相应地取得最大值的方向为xfyf1tan。利用梯度模算子来检测边缘是一种很好的方法,它不仅具有位移不变性,还具有各向同性。在实际中,对于一副数字图像采用了梯度模的近似形式,即:yfxfGjifjifyfjifjifxf,),1(),(),()1,(。式中,j对应x轴方向,i对应y轴方向。其中G表示处理后的(i,j)点的灰度值,),(jif表示处理前该点的灰度值。为检测边缘点,选取适当的的阈值T,对梯度图像进行二值化,则有:其他0G1),(Tjif这样就形成了一幅边缘二值图像),(jif。梯度算子仅计算相邻像素的灰度差,对噪声敏感。下面介绍几种最常见的梯度算子:4(1)Roberts算子Roberts边缘检测算子又称为梯度交叉算子,是一种最简单的算子,它是一种利用局部差分算子寻找边缘的算子,采用对角线方向相邻两像素之差近似梯度幅值检测边缘。检测垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感。该算子对具有陡峭边缘、低噪声的图像效果较好。Roberts算子梯度幅值计算近似方法如图2.1.1所示:(i,j)(i,j+1)(i+1,j)(i+1,j+1)图2.1.1(i,j)为当前像素的位置,其计算公式如下:)1,(),1()1,1(),(),(jifjifjifjifjiG它是由两个22模板组成。用卷积模板表示如下:yxRRjiG),(式中,01101001yxRR。(2)Prewitt算子为在检测边缘的同时减少噪声的影响,Prewitt从加大边缘检测算子的模板大小出发,由22扩大到33来计算差分算子,不仅能检测边缘点,而且能抑制噪声的影响。Prewitt算子梯度幅值计算如图2.1.2所示。a0a1a2a7(i,j)a3a6a5a4图2.1.2梯度幅值计算示意图5(i,j)为当前像素点,梯度幅值计算公式如下:456210670432),(aaaaaaaaaaaajiGG(i,j)=|Px|+|Py|,式中101101101xp,111000111yp,前者为水平模板,后者为垂直模板。图像中每个点都用这两个模板进行卷积,取最大值作为输出,最终产生一幅边缘幅度图像。(3)Sobel算子Sobel在Prewitt算子的基础上,采用带权的方法计算差分。该算子能进一步抑制噪声影响,可以提供较为精确的边缘信息,但它同时也会检测出许多的伪边缘,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。Sobel算子梯度幅值计算如图2.2.2所示。(i,j)为当前像素点,梯度幅值计算公式如下:456210670432),(acaaacaaacaaacaajiG,式中c=2。用卷积模板来实现:。式中,121000121;101202101,),(yxyxSSSSjiGxS是水平模板,对水平边缘影响最大;yS是垂直模板,对垂直边缘的影响最大。图像中的每个点都用这两个模板做卷积,两个模板卷积的最大值作为该点的输出,其运算结果是一幅边缘幅度图像。62.1.2方向算子(1)Kirsch算子Kirsch算子使用8个模板来确定梯度的幅值和方向,故又称为方向算子,通过一组模板分别计算不同方向上的差分值,取其中的最大值作为边缘强度,而将与之对应的方向作为边缘的方向。它相对于梯度算子的优点是不仅仅考虑水平和垂直方向,还可以检测其他方向上的边缘,但计算量将大大增加。常用的有8方向Kirsch(33)模板,如图2.1.3所示,方向间的夹角为45。333305355335305335355305333555303333553503333533503533333503553333303555图2.1.3Kirsch边缘算子模板图2.1.4(左图为无噪声的情况,右图为含零均值高斯白噪声情况01.0)通过对比仿真结果并合结各边缘检测算子的原理,可以得出这几种算子的优缺点及适用范围如下:(1)Robert算子利用局部差分定位边缘,边缘定位精度较高,但容易丢失一部分边缘,由于未经过平滑处理,所以不具备抑制噪声的能力。适用范围:具有陡峭边缘且噪声低的图像。(2)Prewitt算子和Sobel算子都属于中心差分算子,都是对图像先平滑处理再作微分运算,不同的是Sobel算子对水平和垂直方向的四个邻点赋7予略高的权重。因此,对噪声都具有一定的抑制能力,但不能完全排除虚假边缘的出现,边缘定位都不错,但检测出的边缘容易出现多像素宽度。(3)与梯度算子相比,Kirsch算子不仅仅考虑水平和垂直方向,还能检测到其它方向上的边缘,但计算量大大增加。2.2二阶微分算子和Canny算子前面讨论了由一阶导数确定边缘的方法,它利用边缘一阶导数取得极大值的特点检测边缘点,但这种方法检测出的边缘点太多。一种更好的方法就是对一阶梯度算子检测出来的边缘点求导,由边缘二阶导数特性即可较精确地检测出边缘点,但二阶导数同时又会放大噪声。因此,为在噪声抑制和边缘检测之间取得较好的平衡,JohnCanny于1986年提出Canny算子。Canny边缘检测法利用高斯函数的一阶微分,它能提取出较为完整边缘,而且边缘的连续性很好。2.2.1拉普拉斯算子拉普拉斯算子是二阶微分算子,其原理是:灰度缓变形成的边缘经过微分算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为零,峰值两侧符号相反,而原先的极值点对应二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来。因此,对数字图像的每个像素计算关于x轴和y轴的二阶偏导数之和),(2yxf。22222),(yfxfyxf上式就是著名的Laplacian算子,它是一个与方向无关的各向同性的边8缘检测算子,表达式差分形式如下:),(),(),(,2yxfjifyxfsji式中s可以是以),(yxf为中心的上下左右4个邻点的集合,也可是对角线方向的4个邻点的集合,或者是8个邻点集合。常用的模板如图2.2.1所示:图2.2.1Laplacian算子模板Laplacian算子对灰度突变敏感,定位精度高,若只关心边缘点的位置而不顾其周围的实际灰度差时,一般选择该算子进行检测。但Laplacian算子有两个缺点:其一是边缘的方向信息被丢失,其二是Laplacian算子是二阶差分算子,因此双倍加强了图像噪声的影响。2.2.2LOG算子在实际中,为了去除噪声的影响,Marr和Hildreth将Gaussian滤波器和Laplacian边缘检测结合在一起,形成了LOG算法。即先要用高斯函数对图像进行平滑滤波,然后对滤波后的图像用拉普拉斯算子进行求二阶导数。),(*),(),(*),(22yxfyxGyxfyxG式中),(2yxG为拉普拉斯高斯算子,即),(2yxG。2222224222222222exp221)2exp(21)(σyxσyxπσσyxπσyx边缘检测就是要寻找),(2yxG的过零点。LOG算法被认为是微分法中利用平滑二阶微分检测图像边缘最成功的一种算子。为了运算方便,函数的LOG算子也是借助模板来实现的。9常用55模板如图2.2.2所示。图2.2.2LOG算子模板对于LOG算子边缘检测的结果可以通过高斯函数标准偏差来进行调节。即值越大,噪声滤波效果越好,但同时也丢失了重要的边缘信息,影响了边缘检测的性能;值越小,又有可能平滑不完全而留有太多的噪声。因此,在不知道物体尺度和位置的情况下,很难准确确定滤波器值。一般来说,使用大值的滤波器产生鲁棒边缘,小值的滤波器产生精确定位的边缘,两者结合能够检测出图像的最佳边缘。2.2.3Canny算子JohnCanny于1986年提出Canny算子,它与LOG边缘检测方法类似,也属于是先平滑后求导数的方法。JohnCanny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的三个指标:第一是低失误概率;第二是高定位精度;第三是对每一个边缘点只有唯一的响应,得到单像素宽度的边缘。为此,JohnCanny提出了边缘检测算子的如下三个准则:信噪比准则信噪比越大,提取边缘的质量越高。信噪比定义如下:dxxhdxxhxGSNR)()()(2'式中,G(x)代表边缘函数;h(x)代表宽度为的滤波器的脉冲响应;代表高斯噪声的均方差。10定位精度准则边缘精度L的定义如下:dxxhdxxhxGL)()()(2'''式中,)()(''xhxG和分别表示G(x)和h(x)的导数,L越大表明定位精度越高。单边缘响应精度准则为了保证单边缘只有一个响应,检测算子的脉冲响应导数的零交叉点平均距离)('fD边缘提应满足:212')('')()'(dxxhdxxhfD式中,)(''xh为h(x)的二阶导数。将Canny的3个准则相结合可以获得最优的检测算子,例如4.1时的检测模板如图2

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功