数字图象处理课程设计数字图像边缘检测算法设计—LOG算子与Canny算子.doc

上传人:文库蛋蛋多 文档编号:3944189 上传时间:2023-03-28 格式:DOC 页数:17 大小:468KB
返回 下载 相关 举报
数字图象处理课程设计数字图像边缘检测算法设计—LOG算子与Canny算子.doc_第1页
第1页 / 共17页
数字图象处理课程设计数字图像边缘检测算法设计—LOG算子与Canny算子.doc_第2页
第2页 / 共17页
数字图象处理课程设计数字图像边缘检测算法设计—LOG算子与Canny算子.doc_第3页
第3页 / 共17页
数字图象处理课程设计数字图像边缘检测算法设计—LOG算子与Canny算子.doc_第4页
第4页 / 共17页
数字图象处理课程设计数字图像边缘检测算法设计—LOG算子与Canny算子.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数字图象处理课程设计数字图像边缘检测算法设计—LOG算子与Canny算子.doc》由会员分享,可在线阅读,更多相关《数字图象处理课程设计数字图像边缘检测算法设计—LOG算子与Canny算子.doc(17页珍藏版)》请在三一办公上搜索。

1、摘要边缘检测是数字图像处理中的一项重要内容。图像边缘是图像最基本的特征,边缘在图像分析中起着重要的用。所谓边缘(edge)是指图像局部特征的不连续性。灰度或结构信息的突变称为边缘,例如:灰度级的突变、颜色的突变、纹理结的突变。边缘是一个区域的结束,也是另一个区域的开始,利用该征可以分割图像。图像边缘检测和分析可定义为应用一系列方法获取、校正、增强、变换、检测或压缩可视图像的技术。其目的是提高信息的相对质量,以便提取有用信息。本次课设对图像边缘检测常用的两种算法LOG算子和Canny算子进行了分析和比较,并用MATLAB实现这两个算法。最后通过实例图像对不同边缘检测算法的效果进行分析,比较了不同

2、算法的特点和适用范围。 关键词:图像处理;边缘检测;MATLAB 目录1课程设计目的和要求11.1 设计目的11.2 设计要求12 边缘检测简介22.1 边缘检测的定义22.2 图像边缘检测算法的研究内容33 边缘检测算子53.1 Canny算子53.1.1 Canny边缘检测基本原理53.1.2 Canny边缘检测算法53.2 Log算子74 仿真程序94.1 Log算子94.2 Canny算子94.3Canny算子和log算子的比较105 结果分析11结束语13参考文献141 课程设计目的与要求1.1设计目的数字图像出技术的迅猛发展,使其应用前景的得到了不可限量的扩展。如今各行各业都在积极

3、发展与图像相关的技术,数字图像处理逐渐凸显出其魅力。其应用如医学影像,航天航空,无人驾驶,自动导航,工业控制,导弹制导,文化艺术等。边缘检测技术在图像处理和计算机视觉等领域起着重要的作用,是图像分析,模式识别,目标检测与分割等的前期处理。前期边缘检测的好坏,直接影响后期更高级处理的精度。在实际图像边缘检测问题中,图像的边缘作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。它在图像识别,图像分割,图像增强以及图像压缩等的领域中有较为广泛的应用,也是它们的基础。图像边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变

4、点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。而边缘检测算法则是图像边缘检测问题中经典技术难题之一,它的解决对于我们进行高层次的特征描述、识别和理解等有着重大的影响;又由于边缘检测在许多方面都有着非常重要的使用价值,所以人们一直在致力于研究和解决如何构造出具有良好性质及好的效果的边缘检测算子的问题。1.2设计要求设对图像边缘检测常用的两种算法LOG算子和Canny算子进行了分析和比较,并用MATLAB实现这两个算法。最后通过实例图像对不同边缘检测算法的效果进行分析,比较了不同算法的特点和适用范围。

5、2边缘检测简介2.1 边缘检测的定义图像边缘是图像最基本的特征,边缘在图像分析中起着重要的用。所谓边缘(edge)是指图像局部特征的不连续性。灰度或结构信息的突变称为边缘,例如:灰度级的突变、颜色的突变、纹理结的突变。边缘是一个区域的结束,也是另一个区域的开始,利用该征可以分割图像。 当人们看一个有边缘的物体时,首先感觉到的便是边缘,如图一条理想的边缘应该具有如图2.1(a) 所示模型的特性。每个像素都处在灰度级跃变的一个垂直的台阶上(例如图形中所示的水平线通过图像的灰度剖面图)。 而实际上,诸如图像采集系统的性能、采样频率和获得图像的照明条件等因素的影响,得到的边缘往往是模糊的,边缘被模拟成

6、具有“斜坡面”的剖面,如图2.1(b) 所示,在这个模型中不再有细线(宽为一个像素的线条),而是出现了边缘的点包含斜坡中任意点的情况。由此可以看到:模糊的边缘使边缘的“宽度”较大,面清晰的边缘使边缘的宽度较小。图像的边缘有方向的幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶导数或二阶导数来检测边缘,不同的是一阶导数认为最大值对应边缘位置,而二阶导数以过零点对应边缘位置。实际上,对于图像中的任意方向上的边缘都可以进行类似的分析。图像边缘检测中对任意点的一阶导数可以利用该点梯度的幅度来获得,二阶导数可以用拉普拉斯算子得到。2.2

7、 图像边缘检测算法的研究内容图像边缘检测和分析可定义为应用一系列方法获取、校正、增强、变换、检测或压缩可视图像的技术。其目的是提高信息的相对质量,以便提取有用信息。图像边缘检测中的变换属于图像输入-图像输出模式,图像边缘检测是一种超越具体应用的过程,任何为解决某一特殊问题而开发的图像边缘检测新技术或新方法,几乎肯定都能找到其他完全不同的应用领域。图像边缘检测的主要研究内容包括:(1)图像获得和抽样,其中通过人眼观察的视野获取图像的问题有:最常用的图像获取装置电视(TV)摄像机问题,对所获得信号进行独立的采样和数字化就可用数字形式表达景物中全部彩色内容;电荷-耦合装置,用作图像传感器,对景物每次

8、扫描一行,或通过平行扫描获得图像;选择正确的分辨力或采样密度,一幅图像实质上是二维空间中的信号,所以适用于信号处理的法则同样适用于图像边缘检测,在放射学中常常需要高分辨力,要求图像至少达到2048像素2048像素;灰度量化,图像强度也必须进行数字化,通常以256级(按1字节编码)覆盖整个灰度,一般一幅灰度分辨力为8位,空间分辨力为512像素512像素的图像需0.25兆字节的存贮容量。(2)图像分割,目的是把一个图像分解成它的构成成分,以便对每一目标进行测量。图像分割是一个十分困难的过程。但其测量结果的质量却极大地依赖于图像分割的质量。有两类不同的图像分割方法。一种方法是假设图像各成分的强度值是

9、均匀的并利用这种均匀性;另一种方法寻找图像成分之间的边界,因而是利用图像的不均匀性。主要有直方图分割,区域生长,梯度法等。(3)边界查索,用于检测图像中线状局部结构,通常是作为图像分割的一个预处理步骤。大多数图像边缘检测技术应用某种形式的梯度算子,可应用对水平方向、垂直方向或对角线方向的梯度敏感的梯度算子,用它们的复合结果可检测任意方向的边界。(4)图像增强和复原,用于改进图像的质量。不同的增强技术可以用于不同的目的,这取决于应用的类型。如果打算直接观察图像,可以增强对比度。如果是为了进一步对图像作数字处理,可以选择分割(一种突出各图像成分之间的边界和线状结构的运算)。该技术可以是整体的或局部

10、的,也可以在某个频域或者空间域中进行。图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。(5)图像分类(识别), 图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。(6)图像变换: 由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变

11、换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像边缘检测中也有着广泛而有效的应用。3 边缘检测算子3.1Canny算子检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点。图像边缘检测必须满足两个条件:一是必须能有效地抑制噪声;二是必须尽量精确确定边缘的位置。既要提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感。3.1.1 Canny边缘检测基本原理(1)具有既能滤去噪声又保持边缘特性的边缘检测最

12、优滤波器,其采用一阶微分滤波器。采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。(2)类似与Marr(LOG)边缘检测方法,也属于先平滑后求导数的方法。3.1.2 Canny边缘检测算法step1:用高斯滤波器平滑图象;step2:用一阶偏导的有限差分来计算梯度的幅值和方向;step3:对梯度幅值进行非极大值抑制;step4:用双阈值算法检测和连接边缘。其数学描述如下:step1:二维为高斯函数为:=在某一方向n上是的

13、一阶方向导数为:= nn=式中:n式方向矢量,是梯度矢量。将图像与作卷积,同时改变n的方向,*取得最大值时的n就是正交于检测边缘的方向。step2:=,=*=反映了图像(x,y)点处的边缘强度,是图像(x,y)点处的法向矢量。step3:仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。(non-MaxiMa suppression,NMS)解决方法:利用梯度的方向。图示-非极大值抑制四个扇区的标号为0到3,对应3*3邻域的四种可能组合。在每一点上,邻域的中心像素M与沿着梯度线的两个像素相比。如果M的梯度值不比沿梯度线的两个相邻像素梯度值大,则令M=

14、0。step4:减少假边缘段数量的典型方法是对G(x,y)使用一个阈值。将低于阈值的所有值赋零值。但问题是如何选取阈值?解决方法:双阈值算法进行边缘判别和连接边缘。首先是边缘判别: 凡是边缘强度大于高阈值的一定是边缘点;凡是边缘强度小于低阈值的一定不是边缘点;如果边缘强度大于低阈值又小于高阈值,则看这个像素的邻接像素中有没有超过高阈值的边缘点,如果有,它就是边缘点,如果没有,它就不是边缘点。其次是连接边缘: 双阈值算法对非极大值抑制图像作用两个阈值1和2,且212,从而可以得到两个阈值边缘图像G1(x,y)和G2(x,y)。由于G2(x,y)使用高阈值得到,因而含有很少的假边缘,但有间断(不闭

15、合)。双阈值法要在G2(x,y)中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在G1(x,y)的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在G1(x,y)中收集边缘,直到将G1(x,y)连接起来为止。实际上,还有多种边缘点判别方法,如:将边缘的梯度分为四种:水平、竖直、45度方向、135度方向。各个方向用不同的邻接像素进行比较,以决定局部极大值。若某个像素的灰度值与其梯度方向上前后两个像素的灰度值相比并不是最大的,那么将该像素置为零,即不是边缘。此外,在实际应用中,检测效果还与滤波模板大小有关,当时有较好的检测效果。Canny算子检测方法的优点:低误码率,很少把边缘点误认为非边缘

16、点;高定位精度,即精确地把边缘点定位在灰度变化最大的像素上;抑制虚假边缘。在这几种算法中除Roberts算子外都使用了图像模板,模板运算是图像的一种处理手段邻域处理,有许多图像增强效果都可以采用模板运算实现,如平滑效果,中值滤波,油画效果,图像的凹凸效果等等。在模板运算中,首先定义一个模板,模板的大小以3*3的较常见,也有2*2, 5*5或更大尺寸的。运算时,把模板中心对应到图像的每一个像素位置,然后按照模板对应的公式对中心像素和它周围的像素进行数学运算,算出的结果作为输出图像对应像素点的值。这些经典的边缘提取算子,虽然各自不同,有不同的长处,但是它们也有共同的特点:每种算子对应的预定义的边缘

17、是它们最适合使用的情形,也就是说它们有针对性。这一点在应用中是有优越性的,它们的针对性可以帮助我们完成特定的任务。同时这也是算子的局限性,对于一般的问题或者情况未知的问题,预定义边缘的方法可能不会达到最佳效果。3.2 Log算子Log算法是基于二阶导数的边缘检测,这种方法是将高斯平滑滤波器和拉普拉斯锐化滤波器结合了起来,先平滑掉噪声,再进行边缘检测。它是对图像进行滤波和微分的过程,是利用旋转对称的Log模板与图像做卷积,确定滤波器输出的零交叉位置。常用的Log算子是55的模板,如下所示Log算法的特点是图像首先与高斯滤波器进行卷积,这样在平滑图像的同时降低了噪声,孤立的点噪声和较小的结构组织将

18、被滤除。由于平滑会导致边缘的延伸,因此边缘检测只考虑那些具有局部梯度最大值的点为边缘点。正确地选用Log算子中的尺度参数是很重要的。直观上说,大的对应于更大的平滑范围,它有利于抑制噪声,但不利于定位精度;值小时,边缘定位精度高,但边缘细节变化多,信噪比低。因此应根据噪声水平和边缘定位精度的要求来决定的值。4 设计过程i=imread(fhx.jpg);%读取图像a=rgb2gray(i);%将图像转换成灰度图像BW1 = edge(a,log);BW2 = edge(a,log,0);%敏感度阀值取0BW3 = edge(a,log,0.005);%敏感度阀值取0。005BW4 = edge(

19、a,log,0.01);%敏感度阀值取0.01BW5 = edge(a,log,0.015);%敏感度阀值取0.015Figure;subplot(2,3,1);imshow(i);title(原图像);subplot(2,3,2);imshow(BW1);title(log算子 thresh为默认);subplot(2,3,3);imshow(BW2);title(log算子 thresh=0);subplot(2,3,4);imshow(BW3);title(log算子 thresh=0.005);subplot(2,3,5);imshow(BW4);title(log算子 thresh=

20、0.01);subplot(2,3,6);imshow(BW5);title(log算子 thresh=0.015);i=imread(fhx.jpg);%读取图像a=rgb2gray(i);%将图像转换成灰度图像BW1 = edge(a,canny);BW2 = edge(a,canny,0.001,0.005);%敏感度阀值取0.001,0.005BW3 = edge(a,canny,0.01,0.05);%敏感度阀值取0.01,0.05BW4 = edge(a,canny,0.05,0.1);%敏感度阀值取0.05,0.1BW5 = edge(a,canny,0.1,0.99);%敏感度

21、阀值取0.1,0.99Figure;subplot(2,3,1);imshow(i);title(原图像);subplot(2,3,2);imshow(BW1);title(canny算子 thresh为默认);subplot(2,3,3);imshow(BW2);title(canny算子 thresh=0.001,0.005);subplot(2,3,4);imshow(BW3);title(canny算子 thresh=0.01,0.05);subplot(2,3,5);imshow(BW4);title(canny算子 thresh=0.05,0.1);subplot(2,3,6);i

22、mshow(BW5);title(canny算子 thresh=0.1,0.99);i=imread(fhx.jpg);%读取图像a=rgb2gray(i);%将图像转换成灰度图像BW1 = edge(a,log);BW2 = edge(a,canny);Figure;subplot(2,2,1);imshow(i);title(原图像);subplot(2,2,3);imshow(BW1);title(Log算子);subplot(2,2,4);imshow(BW2);title(Canny算子);5 结果分析图5.1 Log算子中敏感度阀值取值不同的图像对比当敏感度阀值不断增大时,能检测到

23、的边缘也不断减少,当敏感度阀值取0.005时,边缘检测效果比较好。图5.2Canny算子中敏感度阀值取值不同的图像对比当敏感度阀值取值范围不同时,检测到的边缘数量也不同,当取值在0.05,0.1时,边缘检测效果比较好,能够检测到大部分边缘图5.3Canny算子与Log算子的图像对比由图5.3可以看出,Log算对噪声比较敏感,Canny此方法不容易受噪声的干扰,能够检测到真正的弱边缘。在edge函数中,最有效的边缘检测方法是Canny方法。该方法的优点在于使用两种不同的阈值分别检测强边缘和弱边缘,并且仅当弱边缘与强边缘相连时,才将弱边缘包含在输出图像中。因此,这种方法不容易被噪声“填充”,更容易

24、检测出真正的弱边缘。LOG算子容易受尺度的影响,不同尺度下的边缘点要用不同尺度的LOG算子检测,Canny算子受尺度的影响不太明显,不同尺度下,边缘点的位置都有偏差,但几乎相同;LOG算子对噪声的抑制能力随着尺度的增加而增加,相同尺度下的Canny算子比LOG算子的抗噪声能力强,而LOG算子比Canny算子的边缘点准确;在尺度选择合适的情况下,LOG算子对图像边缘点检测的位置非常准确,能够保留边缘点比较细致的组织结构,而Canny算子对图像边缘检出率比较高,包括纹理区域,以及对比度很弱的边缘点,但是对这些边缘点的组织结构刻画得不是特别细致,边缘点的位置有小范围的偏差。Canny算子提取的边缘线

25、性连接程度较好,对此类的边缘提取的比较完整,边缘细腻。Canny算子检测方法的优点:低误码率,很少把边缘点误认为非边缘点;高定位精度,即精确地把边缘点定位在灰度变化最大的像素上;抑制虚假边缘结束语本课题从理论上对两种经典的边缘检测算法Log算子和Canny算子进行分析,用MATLAB实现这些算法。并且使我了解相关知识图像局部特征的不连续性(相邻区域的交界)称为边缘。Log算子首先通过高斯函数对图像进行平滑处理,因此对噪声的抑制作用比较明显,但同时也可能将原有的边缘也平滑了,造成某些边缘无法检测到。Canny算子也采用高斯函数对图像进行平滑处理,因此具有较强的去噪能力,但同样存在容易平滑掉一些边

26、缘信息,其后所采用的一阶微分算子的方向性较Log算子要好,因此边缘定位精度较高。该算子与其它边缘检测算子的不同之处在于,它使用2种不同的阈值分别检测强边缘和弱边缘,并且仅当弱边缘相连时才将弱边缘包含在输出图像中,因此这种方法较其它方法而言不容易被噪声“填充”更容易检测出真正的弱边缘。通过对图的仿真实验结果可以看出,该算子在。边缘定位准确,连续性较好,虚假边缘少且边缘均具有单像素宽度。最后,通过实例图像对不同边缘检测算法的效果进行分析,找出两种种算法的适用范围。通过本课题的研究拓宽了自己的知识面,为以后进一步学习数字图像处理打下了基础,提高了学生的独立工作能力和编程能力。参考文献1 张汗灵.MATLAB在图像处理中的应用M.清华大学出版社,2008.2 余成波.数字图像处理及MATLAB实现M.重庆大学出版社,2003.3 何斌.Visual C+数字图像处理M.人民邮电出版社,2002.4阮秋琦. 数字图像处理学M. 电子工业出版社,2001.5 苏金明,,王永利.MATLAB图形图像M.电子工业出版社,2005.6夏德深,傅德胜. 计算机图像处理及应用M. 东南大学出版社,2004.7 贾永红. 计算机图像处理与分析M. 武汉大学出版社,2001.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号