ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:676.32KB ,
资源ID:8989000      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8989000.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(常用边缘检测算法的对比分析.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

常用边缘检测算法的对比分析.docx

1、常用边缘检测算法的对比分析数 字 图 像 处 理 作 业班 级: 1050221 姓 名: 李 博 学 号: 0 3 常用边缘检测算法分析与比较研究摘要: 随着计算机视觉技术的不断发展,其在各行各业得到了广泛的应用。而边缘提取技术是计算机视觉技术的一个基本的核心的技术,因为边缘包含着图像的重要信息,边缘提取的效果在一定程度上也影响着后面进一步处理的精度和性能。本文分析和比较了一些经典的边缘及爱你侧算子,然后对其中的不足和缺陷,提出了一种改进Canny的算法,实验结果表明,改进算法并使得边缘提取的效果在一定程度上得到了改善。1 概述1.1 . 研究的目的和意义 数字图像处理技术的迅猛发展,其应用

2、前景得到了不可限量的扩展,如今各行各业都在积极发展与图像相关的技术。其应用逐渐凸显其魅力,其应用如医学影像、航天航空、无人驾驶、自动导航、工业控制、导弹制导、文化艺术等。边缘检测技术在图像处理和计算机视觉等领域骑着重要的作用,是图像分析、模式识别、目标检测与分割等的前期处理。前期边缘检测的好坏,直接影响后期更高级处理的精度。自从1986年John Canny提出了最优边缘检测算子的三条准则并推导出了一个近似实现。但是在实际中,真正实现这一目标尚有较大的难度。这是因为:(1)实际图像一般都含有噪声,并且噪声的分布信息业是未知的,同时噪声和边缘都属于高频信息,在进行滤波的同时,虽然能够在一定程度上

3、抑制噪声,却也丢失了边缘信息。(2)由于场景、光照条件的边缘等原因,同一场景在不同光照条件下得到的边缘可能也是不同的,设置的阈值也可能是不同的。针对这些问题,如何进行改进,并得到一种较理想的边缘检测算子是有必要的。1.2. 本文的框架结构 本论文的第一部分主要是介绍了本课题研究的目的和意义;第二部分主要是对边缘检测进行概述,并对经典的边缘检测算子进行了分析和比较;第三部分进行了实验对比和分析,得出结论。 2. 边缘检测概述2.1 边缘的定义 首先介绍什么是边缘。在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如灰度的突变、纹理

4、结构的图标、颜色的图标等。尽管图像的边缘点产生的原因各不相同,但他们都是图形上灰度不连续或灰度几句辩护的点,图像边缘分为阶跃状、斜坡状和屋顶状。 2.2 边缘检测的基本方法 一般图像边缘检测方法主要有如下四个步骤: 1)图像滤波:传统边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出的是,大多数滤波器在降低噪声的同时也造成了了边缘强度的损失,因此,在增强边缘和降低噪声之间需要一个折衷的选择。 2)图像增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。

5、边缘增强一般是通过计算梯度的幅值来完成的。 3)图像检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判断依据是梯度幅值。 4)图像定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。 近20多年来提出了许多边缘检测算子,在这里我们仅讨论集中常见的边缘检测算子。2.3常见边缘检测算子分析 1)差分边缘检测 处理数字图像的离散域时,可以用图像的一阶差分来代替图像函数的导数。定义二维离散图像函数在 X 轴方向的一阶差分为: (2.3.1)Y轴方向上的一阶差分定

6、义为: (2.3.2) 利用图像灰度的一阶导数算子在灰度值变化显著的地方得到的极值来检测边缘点。它在某一个点的值就代表了该点的边缘强度值,可通过设置阈值来进一步得到边缘图像。但用差分的方法进行边缘检测必须使差分的方向和边缘的方向相垂直,这就需要对图像的不同方向分别进行差分运算,增加了运算量。一般可将边缘分为水平边缘、垂直边缘和对角线边缘: 图 1 水平边缘 图 2 垂直边缘 图 3 对角线边缘显然,差分边缘是最原始、最基础的方法,这种算子具有方向性,并且由于计算不方便等原因,在现在已经很少应用了,但其思想还是很多其他算法的基础。 2)Reborts算子 Reboerts算子是一种利用局部差分来

7、寻找边缘的算子,Roberts 梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下: (2.3.3 (2.3.4 (2.3.5)Roberts梯度算子对应的卷积模版为: (2.3.6)用以上两个卷积算子与图像运算后,可求出图像的梯度幅值 G ( x,y),然后选择适当的阈值 ,若 G ( x,y),则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 g (i,j),即边缘图像。Roberts 算子采用的是用对角线方向上相邻两像素的差近似梯度幅值来检测边缘,它的定位精度高,对于水平和垂直方向的边缘,检测效果较好,而对于有一定倾角的斜边缘,检测效果则不理想,存

8、在着许多的漏检。另外,在含噪声的情况下,Roberts 算子不能有效的抑制噪声,容易产生一些伪边缘。因此,该算子适合于对低噪声且具有陡峭边缘的图像提取边缘。 3)Sobel算子 Sobel算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪声。其模版大小为33,其将方向差分运算与局部加权平均相结合来提取边缘。在求取图像梯度之前,先进行加权平均,然后进行未分,加强了对噪声的一致。Sobel算子所对应的卷积模版为: (2.3.7)图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到梯度幅值 G ( x,y),然后选取适当的阈值 ,若 G ( x,y),则 (i ,j)为边

9、缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 g (i,j),即边缘图像。Sobel 算子在空间上比较容易实现,不但产生较好的边缘检测效果,同时,由于其引入了局部平均,使其受噪声的影响也较小。若使用较大的邻域,抗噪性会更好,但也增加了计算量,并且得到的边缘比较粗。在对精度要求不是很高的场合下,Sobel 算子是一种较为常用的边缘检测算法。 4)Prewitt 算子 同 Sobel 算子相似,Prewitt 算子也是一种将方向的差分运算和局部平均相结合的方法,也是取水平和垂直两个卷积核来分别对图像中各个像素点做卷积运算,所不同的是,Sobel 算子是先做加权平均然后再微分,Pr

10、ewitt 算子是先平均后求微分,其对应的卷积模版为: (2.3.8)图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到梯度幅值 G ( x,y),然后选取适当的阈值 ,若 G ( x,y),则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 g (i,j),即边缘图像。 在此基础上,有人提出了改进的Prewitt算子,将其扩展到八个方向,依次用这些边缘模板去检测图像,与被检测区域最为相似的样板给出最大值。用这个最大值作为算子的输出值 P i ,j,这样就可将边缘像素检测出来。八个方向的 Prewitt 算子模板及其所对应的边缘方向如下所示:

11、 0方向 45方向 90方向 135方向 180方向 225方向 270方向 315方向Prewitt 算子通过对图像上的每个像素点的八方向邻域的灰度加权差之和来进行检测边缘,对噪声有一定抑制作用,抗噪性较好,但由于采用了局部灰度平均,因此容易检测出伪边缘,并且边缘定位精度较低。 5)Kirsch 算子 Kirsch 算子是一种 33 的非线性方向算子。其基本思想是希望改进取平均值的过程,从而尽量使边缘两侧的像素各自与自己同类的像素取平均值,然后再求平均值之差,来减小由于取平均值所造成的边缘细节丢失。通常采用八方向 Kirsch 模板的方法进行检测,取其中最大的值作为边缘强度,而将与之对应的方

12、向作为边缘方向。常用的八方向 Kirsch 模板如下所示: 实际的应用中,通常都是利用简单的卷积核来计算方向差分的,不同的算子对应着不同的卷积核。它们在图像的像素点上所产生的两个方向的偏导数用均方值或者绝对值求和的形式来近似代替梯度幅值,然后选取一个合适的阈值,用所得到的梯度幅值和所设定的阈值进行比较来判断边缘点。若大于所取的阈值,则判断为边缘点;否则,判断为非边缘点。很显然,在提取边缘的过程中,阈值的选取特别重要,尤其在含噪图像中,阈值的选择要折衷考虑噪声造成的伪边缘和有效边缘的丢失。 6)Laplace 算子 拉普拉斯算子是不依赖于边缘方向的二阶导数算子,它是一个标量而不是向量,具有旋转不

13、变即各向同性的性质。若只关心边缘点的位置而不需要了解一其周围的实际灰度差时,一般选择该算子提取图像的边缘。Laplace算子的定义为: (2.3.9)用差分方程近似二阶偏倒数的结果如下: (2.3.10) (2.3.11)将这两个式子合并,可以得到近似Laplace算子的模版: (2.3.12) 当Laplace算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过零点(均匀零区)。原则上,过零点的位置精度可以通过线性内插方法精确到子像素分辨率。但是拉普拉斯算子在图像边缘检测中并不常用。主要原因有:任何包含有二阶导数的算子比只包含有一阶导数的算子更易受噪声的影响,一阶导数很小的局部峰值也能导

14、致二阶导数过零点,所以Laplace算子对噪声具有无法接受的敏感性; Laplace算子的幅值产生双边元,这是复杂的分割不希望有的结果;最后,Laplace算子不能检测边缘的方向。为了避免噪声的影响,必须采用特别有效的滤波方法。所以,人们提出了改进的功LOG算子。 7)LOG算子(高斯拉普拉斯算子) LOG算子基本思想是:先在一定的范围内做平滑滤波,然后再利用差分算子来检测在相应尺度上的边缘。滤波器的选择要考虑以下两个因素:其一是滤波器在空间上要求平稳,即要求空间位置误差 x要小;其二是平滑滤波器本身要求是带通滤波器,并且在有限的带通内是平稳的,即要求频域误差 要小。根据信号处理中的测不准原理

15、, x 和 是相互矛盾的,而达到测不准下限的滤波器就是高斯滤波器。Marr 和 Hildreth 提出的这种差分算子是各向同性的拉普拉斯二阶差分算子。该边缘检测器的基本特征是:(1) 所用的平滑滤波器是高斯滤波器(2) 增强步骤采用的是二阶导数(即二维拉普拉斯函数)(3) 边缘检测的判据是二阶导数过零点并且对应一阶导数的极大值 该方法的特点是先用高斯滤波器与图像进行卷积,既平滑了图像又降低了噪声,使孤立的噪声点和较小的结构组织被滤除。然而由于对图像的平滑会导致边缘的延展,因此只考虑那些具有局部梯度极大值的点作为边缘点,这可以用二阶导数的零交叉来实现。拉普拉斯函数可用作二维二阶导数的近似,因为它

16、是一种标量算子。为了避免检测出非显著的边缘,所以应该选择一阶导数大于某一阈值的零交叉点来作为边缘点。实际应用中,常用的LOG算子的模版为: 说明, 高斯平滑运算不但可以滤除噪声,还会导致图像中的边缘和其它尖锐不连续部分模糊,而模糊程度取决于空间尺度因子 的大小。 越大,高斯滤波对噪声的滤除效果越好,但同时也会丢失重要的边缘信息,影响到边缘检测器的性能。如果 较小,又可能导致平滑作用不完全而留有较多的噪声。因此在实际应用中,要根据情况选择适当的。 8) Canny算子 1986年,Canny从边缘检测算子应该满足的三个准则出发,推导出了最优边缘检测算子Canny算子,该算子是目前理论上相对最完善

17、的一种边缘检测算法。Canny提出的评价边缘检测性能优劣的三个准则分别是:(1)好的信噪比准则。即将非边缘点判为边缘点的概率要低,将边缘点判为非边缘点的概率要低;(2)好的定位性能准则。即检测出的边缘点要尽可能在实际边缘的中心;(3)单边缘响应准则。即单一边缘具有唯一响应,单一边缘产生的多个响应的概率要低,并且对虚假边缘的响应应得到最大抑制。 利用Canny算子检测边缘的土体算法如下:(1)用式所示的高斯函数h(r)对图像进行平滑滤波,去除图像中的噪声。(2)在每一点计算出局部梯度和边缘方向,可以利用Sobel算子、Roberts算子等来计算。边缘点定义为梯度方向上其强度局部最大的点。(3)对

18、梯度进行“非极大值抑制”。在第二步中确定的边缘点会导致梯度幅度图像中出现脊。然后用算法追踪所有脊的顶部,并将所有不在脊的顶部的像素设为零,以便在输出中给出一条细线。(4)双阐值化和边缘连接。脊像素使用两个闽值Tl和竹做阂值处理,其中Tltmp tmp=d2; else if d3tmp tmp=d3; else if d4tmp tmp=d4; else if d5tmp tmp=d5; else if d6tmp tmp=d6; else if d7tmp tmp=d7; else if d8tmp tmp=d8; end end end end end end end kirsch(i,j

19、)=round(sqrt(tmp); % kirsch(i,j)=round(sqrt(d1+d2+d3+d4+d5+d6+d7+d8); %梯度模取整 endend for i=1:m for j=1:n if kirsch(i,j)th kirsch(i,j)=255; %将梯度值与阈值比较 ,大于T则把图像的灰度变为255,小于T则把图像的灰度变为0 else kirsch(i,j)=0; end endendclose allclear;clc;origin=imread(lena.jpg);gray=rgb2gray(origin); roberst 边缘检测器roberts=edg

20、e(gray,roberts); sobel 边缘检测器sobel=edge(gray,sobel); prewitt 边缘检测器prewitt=edge(gray,prewitt); kirsch 边缘检测器kirsch=edgekirsch(gray,256); LOG 边缘检测器log=edge(gray,log); canny 边缘检测器canny=edge(gray,canny);imwrite(roberts,roberts.jpg);imwrite(sobel,sobel.jpg);imwrite(prewitt,prewitt.jpg);imwrite(kirsch,kirsc

21、h.jpg);imwrite(log,log.jpg);imwrite(canny,canny.jpg);figure(1),imshow(origin),title(original image);figure(2),imshow(roberts),title(roberts edge);figure(3),imshow(sobel),title(sobel edge);figure(4),imshow(prewitt),title(prewitt edge);figure(5),imshow(kirsch),title(kirsch edge);5. 总结 本文分析和比较了经典的边缘检测算

22、法,并在MATLAB R2007a平台下进行了试验,从上面的实验结果可以看出,虽然边缘检测的算法有很多种,但是检测出来的效果与理想的效果相比还有很大的提高空间。幸运地是,近年来,研究学者们又提出了不少新的边缘检测算法,如多尺度边缘检测算法、Marr-Hidertch边缘检测算法、witkin边缘检测算法、基于二进小波变换的边缘检测算法、基于塔式小波变换的边缘检测算法、基于模糊增强的边缘检测算法、基于Snake模型的边缘检测算法、曲线拟合的边缘检测算法、Susan边缘检测算法等等。新算法的提出,在一定程度上解决了经典边缘检测算法的不足和缺陷,却也引进了其他的一些特点,如复杂性提高、内存开销增大、耗时等。因此,如何设计一种有效、自适应强、符合人类视觉特点的边缘检测算法还有待于进一步研究。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1