《数字图像处理中的边缘检测技术.docx》由会员分享,可在线阅读,更多相关《数字图像处理中的边缘检测技术.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上课程设计报告设计题目: 数字图像处理中的边缘检测技术 学 院: 专 业: 班 级: 学号: 学生姓名: 电子邮件: 时 间: 年 月 成 绩: 指导教师: 专心-专注-专业目录1 前言:查阅相关文献资料,了解和掌握基本原理、方法和研究现状,以及实际应用的背景意义1 1.1理论背景1 1.2图像边缘检测技术研究的目的和意义1 1.3国内外研究现状分析2 1.4常用边缘检测方法的基本原理32 小波变换和小波包的边缘检测、基于数学形态学的边缘检测法算法原理7 2.1 小波边缘检测的原理7 2.2 数学形态学的边缘检测方法的原理7 3 算法实现部分:程序设计的流程图及其描述9
2、 3.1 小波变换的多尺度边缘检测程序设计算法流程图9 3.2 数学形态学的边缘检测方法程序设计算法描述104实验部分:对所给的原始图像进行对比实验,给出相应的实验数据和处理结果115分析及结论:对实验结果进行分析比较,最后得出相应的结论15参考文献17附录:代码181前言查阅相关文献资料,了解和掌握基本原理、方法和研究现状,以及实际应用的背景意义1.1 理论背景图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。图像处理方法有光学方法和电子学方法。从20世纪60年代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬
3、件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。图像处理在遥感技术,医学领域,安全领域,工业生产中有着广泛的应用,其中在医学应用中的超声、核磁共振和CT等技术,安全领域的模式识别技术,工业中的无损检测技术尤其引人注目。计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。(2)希望能由计算机自动识别和理解图像。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。物体的边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,例如灰度值的突变、颜色的突变、纹理结构的
4、突变等,同时物体的边缘也是不同区域的分界处。图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向的像素灰度变化剧烈。根据灰度变化的特点,图像边缘可分为阶跃型、房顶型和凸缘型。1.2 图像边缘检测技术研究的目的和意义数字图像处理是伴随着计算机发展起来的一门新兴学科,随着计算机硬件、软件的高度发展,数字图像处理也在生活中的各个领域得到了广泛的应用。边缘检测技术是图像处理和计算机视觉等领域最基本的技术,如何快速、精确的提取图像边缘信息一直是国内外研究的热点,然而边缘检测也是图像处理中的一个难题。首先要研究图像边缘检测,就要先研究图像去噪和图像锐化。前者是为了得到飞更真实的图像,
5、排除外界的干扰,后者则是为我们的边缘检测提供图像特征更加明显的图片,即加大图像特征。两者虽然在图像处理中都有重要地位,但本次研究主要是针对图像边缘检测的研究,我们最终所要达到的目的是为了处理速度更快,图像特征识别更准确。早期的经典算法有边缘算子法、曲面拟合法、模版匹配法、门限化法等。经典的边缘检测算法是对原始图像中像素的某小领域来构造边缘检测算子,常用的边缘检测算子有Roberts算子、Sobel算子、Prewitt算子Kirsch算子、Laplacian算子、LOG算子、Canny算子。这些算子主要应用于计算几何各个现实领域中,如遥感技术、生物医学工程、机器人与生产自动化中的视觉检验、零部件
6、选取及过程控制等流程、军事及通信等。在图像处理的过程中老算法也出现了许多的问题。经过多年的发展,现在已经出现了一批新的图像处理算法。如小波变换和小波包的边缘检测、基于形态学、模糊理论和神经网络的边缘检测等,这些算法扩展了图像边缘检测技术在原有领域中的运用空间,同时也使它能够适应更多的运用需要。1.3国内外研究现状分析数字图像处理,指的是使用计算机对图像信号进行快速处理。数字图像处理技术在二十世纪六十年代因客观需要而兴起,到二十一世纪初期,它已经处于发展的全盛时期。图像处理技术进一步发展的另一个原因是计算机硬件的开发与软件系统的进一步完善,导致数字图像技术的精度更高、成本更低、速度更快及灵活性更
7、好1。由于数字图像处理包括很多方面,所以该文主要针对图像边缘检测进行研究和分析。图像的边缘检测是图像最基本的特征,精度的提取出图像边缘可以对图像进行更多方面的研究。早期的经典算法有边缘算子法、曲面拟合法、模版匹配法、门限化法等。经典的边缘检测算法是对原始图像中像素的某小领域来构造边缘检测算子,常用的边缘检测算子有Roberts算子、Sobel算子、Prewitt算子Kirsch算子、Laplacian算子、LOG算子、Canny算子等。虽然这些算法已经提出并应用了很多年,不过任然有其发展空间2。近年来随着数学理论以及人工智能的发展,又涌现出了许多新的边缘检测的方法,如小波变换和小波包的边缘检测
8、、基于数学形态学、模糊理论和神经网络的边缘检测法3。小波变换和小波包的边缘检测方法:在数字图像处理中,需要分析的图像往往结构复杂、形态各异,提取的图像边缘不仅要反应目标的整体轮廓,目标的局部细节也不能忽视,这就需要更多尺度的边缘检测,而小波变换具有天然的多尺度特征,通过伸缩平移运算对信号进行细化分析,达到高频处时间细分,低频出频率细分。所以,小波变换非常适合复杂图像的边缘检测。在Coifman、Meyer、Wickhauser引入小波理论后,小波包分解则更是为精细的一种图像分解方法,可以满足不同分辨率下对局部细节进行边缘检测提取的需要,尤其是含噪图像,提取图像边缘对抑制图像噪声更好4。基于数学
9、形态学的边缘检测方法:数学形态学是图像处理和模式识别领域中一门新兴的学科,具有严格的数学理论基础,现已在图像工程中得到广泛的运用。基本思想是用具有一定形态学的结构元素去度量和提取图像中的对应形状已达到对图像分析和识别的目的。获得的图像结构信息与结构元素的尺寸和形状都有关系,构造不同的结构元素,便可完成不同的图像分析。数学形态学包括二值形态学、灰度形态学和彩色形态学,基本变换包括膨胀、腐蚀、开启、闭合四种运算,并由这四种运算演化出开、闭、薄化、厚化等,从而完成复杂的形态变换。目前随着二值形态学的运用越来越成熟,灰度和彩色形态学在边缘检测中的运用也越来越引起人们的关注并逐渐走向成熟5。基于模糊理论
10、的边缘检测方法:模糊理论创立于1965年,由美国柏克莱加州大学电气工程系教授Zadeh在模糊焦合理论的基础上提出,模糊理论的特点是不对事物做简单的肯定和否定,而是用奴隶度来反映某一事物属于某一范畴的程度。由于成像系统、视觉反映造成图像本身的模糊性再加上边缘定义区分的模糊性,使人们在处理图像时很自然的就想起模糊理论的作用。其中有代表性的为国外学者Pal好King提出的模糊边缘检测算法,其中心思想是:利用模糊增强技术来增加不同区域之间的对比,从而能够提取模糊的边缘。基于模糊理论的边缘检测算法的优势是自身的数学基础,缺点是计算要涉及变换以及矩阵求逆的较为复杂的预算,另外增加对比的同时,也增加了噪声6
11、。1.4常用边缘检测方法的基本原理1.4.1 Roberts算子的基本原理1963年,Roberts提出了这种寻找边缘的算子。Roberts边缘算子是一个2x2的模板,采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位较准,对噪声敏感。 Roberts算法的计算公式如下:g(x,y)=|f(x+1,y+1)-f(x,y)|+|(f(x+1,y)-f(x,y+1)|g,t=edge(f,roberts,T,dir)边缘检测算子相当于用模板0 1;-1 0和1 0;0 -1对图像进行卷积。1.4.2 Sobel算子基本原理为了在边缘检测中减少噪声的影响,1970年Prewitt
12、和Sobe1分别提出 prewitt算子和Sobel算子。sobel算子从不同的方向检测边缘,利用像素点上下、左右邻点的灰度加权算法,根据在缘点处达到极值进行边缘的检测。Sobel边缘检测是一种数学背景复杂但实现较为简单的技术,从加大边缘增强算子的模板大小出发,由2*2扩大到3*3来计算差分。 Sobel算子的两个卷积计算核如图3所示,图像中的每个点都用这两个核作卷积,第一个核对通常的垂直边缘响应最大,第二个核对水平边缘响应最大。利用两个卷积核对3*3的区域进行卷积,并按计算。在边沿检测中,sobel算子对于像素的位置的影响做了加权,加权平均边宽2像素,因此效果较好。1.4.3 Prewitt
13、算子基本原理Sobel算法与Priwitt算法的思路相同,Prewitt算子的实现理论基础也是由两个卷子核形成Prewitt边缘检测算子,如图4。图像中的每个点都用这两个核进行卷积,利用两个卷积核对3*3的区域进行卷积,并按22),(cycxyxg+=计算,结果产生一副边缘强度图像。 Prewitt算子如下:1.4.4 Kirsch算子基本原理利用一组模板分别计算在不同方向上的差分值,取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向。Krisch算子实现是由8个卷积核组成了Krisch边缘检测算子,每个点都用8个掩模进行卷积,每个掩模都对某个特定边缘方向最初最大响应。但在此程序中我们
14、采用基于Kirsch边缘检测算子的一种快速算法-FKC算法,大大加快了程序运行速度。1.4.5 Laplacian算子基本原理拉普拉斯高斯算子是一种二阶边缘检测方法,它通过寻找图像灰度值中二阶微分中的过零点来检测边缘点,其原理为:灰度缓变形成的边缘经过微分算子形成一个单峰函数,值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为0,峰值两侧符号相反,而原先的极值点对应二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来。 通常,拉普拉斯算子是对二维函数进行运算的二阶运算的二阶导数的算子,处理时,对以(x,y)为中心的3x3区域施以3x3加权屏蔽窗口,计算出此窗口的相关值(卷积和),求
15、得拉普拉斯算子图像g(i,j)。通常使用的拉普拉斯算子是3x3算子。拉普拉斯算子的计算公式如下:1.4.6 LOG算子基本原理将高斯滤波和拉普拉斯边缘检测结合在一起,形成高斯Laplace算法,这种方法的特点是图像先与高斯滤波器g(x,y)进行卷积,这一步既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除,然后利用无方向性的拉普拉斯算子实现边缘检测。高斯拉普拉斯算子计算公式:通常的高斯拉普拉斯算子是一个55的模板:2 小波变换和小波包的边缘检测、基于数学形态学的边缘检测法算法原理2.1小波边缘检测的原理小波变换的多尺度多分辨率特性与紧支性提供了描述信号局部化信息的能力。信号的突变点
16、可由小波变换的过零点或极值点以及在不同尺度下的变化来表达,从而可表征出信号的局部化奇异性。由于小波函数可由平滑函数的一阶导数表示,把它在想x,y方向的一阶偏导作为两个基本小波:显然和满足小波容许条件,用尺度因子S对做伸缩后得到的小波基函数为: 式中。对任意的二维函数,其小波变换有两个方向分量:X方向:Y方向:可以合并写成矢量方程式。2.2数学形态学的边缘检测方法的原理:数学形态学在边缘检测预处理中主要用于去噪与二值化这两方面。图像去噪既要尽可能地消除噪声又要能较好地保持轮廓信息,数学形态滤波器是一种非线性滤波器,其具有高并行性和较好的结构滤波性质,并且数学形态滤波是严格的局部算子。对于灰度图像
17、,滤除噪声就是进行形态学平滑,用开启运算可以消除与结构元素相比尺寸较小的亮细节,而保持图像整体灰度值和大的亮区域基本不变;而用闭合运算则能消除与结构元素相比尺寸较小的暗细节,而保持图像整体灰度值和大的暗区域基本不变。实际应用时通常将这两种运算结合起来以达到滤除亮区和暗区中各类噪声的效果。二值图像是数字图像的重要子集,指灰度值只取两种值的图像,这两个值可以取为0(相应的点构成背景)和(相应的点构成景物)。对图像的二值化处理,阈值的选取是很重要的,可以通过迭代算法求得最佳阈值。3算法实现部分:程序设计的流程图及其描述3.1 小波变换的多尺度边缘检测程序设计算法流程图该算法选取三次样条二次小波,即:
18、,它具有一下特性:1) 它是一个对称小波,不会产生时间或空间上的偏移,它是进行边缘检测的前提;2) ,即为高通滤波器,它是可用于边缘检测的基础。由此在大尺度下,平滑边缘检测链被提出来,再按照相应的规则用多尺度合成算法可以得到有意义的边缘,故小波变换的多尺度边缘检测程序设计算法流程图:开始图像平滑图像选定尺度系数各尺度下边缘提取及链化规则设定多尺度边缘匹配按规定复合多尺度边缘链边缘特征图3.2数学形态学的边缘检测方法程序设计算法描述:(1)随机生成一个噪声干扰图像;(2)判断实际图像的灰度是否在0255之间,如果不在则返回(1),如果在则求出图像中的最大灰度值和最小灰度值;(3)对允许的阈值进行
19、迭代,迭代到新旧阈值都允许接近的新旧阈值,如果没有找到合适的阈值,则跳出,如果找到,对图像进行阈值分割;(4)对阈值分割好的图像进行腐蚀操作;(5)利用Soble进行新的边缘检测,得到新的边缘检测图像;(6)若以上步骤均成功,则输出图像。4、实验部分:对所给的原始图像进行对比实验,给出相应的实验数据和处理结果图4-1:Canny、sobel、Roberts、Prewitt算子检测边缘图像比较图4-2:LOG、Laplace、zerocross算子边缘检测图4-3:Kirsch算子边缘检测新旧算法比较图4-4:数学形态学边缘检测新旧方法比较图组4-5:小波变换边缘检测图5 分析及结论:对实验结果
20、进行分析比较,最后得出相应的结论(1) 水平梯度算子只能检测出水平方向边缘,垂直梯度算子只能检测垂直方向的边缘,而水平垂直梯度算子同时能检测水平和垂直方向的边缘,但它们对边缘都敏感。 (2) Roberts算子采用对角线方向相邻两像素之差表示信号的突变,检测水平和垂直方向边缘的性能好于斜线方向,定位精度比较高,但对噪声敏感,检测出的边缘较细。 (3) Sobel算子利用像素的上、下、左、右邻域的灰度加权算法,根据在边缘点处达到极值这一原理进行边缘检测。该方法不但产生较好的检测效果,而且对噪声具有平滑作用,可以提供较为精确的边缘方向信息。但是,在抗噪声好的同时增加了计算量,而且也会检测伪边缘,定
21、位精度不高。如果检测中对精度的要求不高,该方法较为常用。 (4) Prewitt算子对噪声有一定的平滑作用,检测出的边缘比较细致,定位精度不够高,容易损失角点;与Sobel相比,有一定的抗干扰性,图像效果比较干净。 (5) Laplacian是二阶微分算子,对图像中的阶跃性边缘点定位准确,获得的边界比较细致,包含了较多的细节信息,但所反映的边界不太清晰,对噪声非常敏感,易丢失一部分边缘方向信息,造成一些不连续的检测边缘。 (6) Kirsch算子是一个3x3的非线性算子它与Prewitt算子和Sobel算子不同的是取平均值的方法不同。用不等权的8个33循环平均梯度算子分别与图像进行卷积,取其中
22、的最大值输出它可以检测各个方向上的边缘减少了由于平均而造成的细节丢失,但同时增加了计算量。但它对8个方向边缘信息进行检测,因此有较好的边缘定位能力,并且对噪声有一定的抑制作用,该算子的边缘定位能力和抗噪声能力比较理想。 (7) Robinson边缘检测算法和Sobel,Prewitt边缘检测算子一样,它检测出的边缘比较粗,定位精度比较低,容易损失如角点这样的边缘信息;原来Robinson边缘检测算子是通过8个方向模板对图像进行卷积运算,显然其运算量是比较大的,影响了边缘检测的速度,但本程序对其进行了优化,加快了运行的速度。 (8) LOG算子首先用高斯函数进行滤波,然后使用Laplacian算
23、子检测边缘,较克服了Laplacian算子抗噪声能力比较差的缺点,LOG算子中高斯函数中方差参数的选择很关键,越大避免了虚假边缘的检出,边缘也被平滑造成边缘点点丢失。噪声抑制能力相对下降,容易出现虚假边缘。 (9)小波变换和小波包的边缘检测方法:在数字图像处理中,需要分析的图像往往结构复杂、形态各异,提取的图像边缘不仅要反应目标的整体轮廓,目标的局部细节也不能忽视,这就需要更多尺度的边缘检测,而小波变换具有天然的多尺度特征,通过伸缩平移运算对信号进行细化分析,达到高频处时间细分,低频出频率细分。(10)基本数学形态学边缘检测是用具有一定形态学的结构元素去度量和提取图像中的对应形状已达到对图像分
24、析和识别的目的,比起原有的方法得到的检测边缘更加的清晰,更容易观察。 参考文献1 张玉晋.图像处理和分析M.北京:清华大学出版社,1999.180.2152张德干.一种新的小波变换边缘检测方法J.计算机工程与运用,2001,17(6):32_343 唐良瑞,马全明,景晓军.图像处理运用技术M北京:化学工业出版社,2001.4 冯艳,张志辉.几种边缘检测算子的比较J.工矿自动化,2004,(1):54-565 赵芳,奕晓明,孙越.数字图像几种边缘检测算子检测比较分析J.自动化技术与运用,2009,28(3):68-726 胡尚举,田国法,申江波.边缘检测算子的比较分析J.大众科技,2008,(9
25、):48-497 程正兴.小波分析算法与应用M.西安:西安交通大学出版社,19988 Canny A.Computaional Approach to Edge DetectionJ.IEEE Trans on PAMI,1986,8(6):679-698附录:代码小波变换边缘检测核心代码:h = 0.125,0.375,0.375,0.125; g = 0.5,-0.5; delta = 1,0,0; J = 3; a(1:N,1:M,1,1:J+1) = 0; dx(1:N,1:M,1,1:J+1) = 0; dy(1:N,1:M,1,1:J+1) = 0; d(1:N,1:M,1,1:J
26、+1) = 0; a(:,:,1,1) = conv2(h,h,I,same); dx(:,:,1,1) = conv2(delta,g,I,same); dy(:,:,1,1) = conv2(g,delta,I,same); x = dx(:,:,1,1); y = dy(:,:,1,1); d(:,:,1,1) = sqrt(x.2+y.2); I1 = imadjust(d(:,:,1,1),stretchlim(d(:,:,1,1),0 1);subplot(1,3,3);imshow(I1); title(变换图像);lh = length(h); lg = length(g);
27、for j = 1:J+1 lhj = 2j*(lh-1)+1; lgj = 2j*(lg-1)+1; hj(1:lhj)=0; gj(1:lgj)=0; for n = 1:lh hj(2j*(n-1)+1)=h(n); end for n = 1:lg gj(2j*(n-1)+1)=g(n); end a(:,:,1,j+1) = conv2(hj,hj,a(:,:,1,j),same); dx(:,:,1,j+1) = conv2(delta,gj,a(:,:,1,j),same); dy(:,:,1,j+1) = conv2(gj,delta,a(:,:,1,j),same); x =
28、 dx(:,:,1,j+1); y = dy(:,:,1,j+1); dj(:,:,1,j+1) = sqrt(x.2+y.2); I1 = imadjust(dj(:,:,1,j+1),stretchlim(dj(:,:,1,j+1),0 1);figure;imshow(I1); end数学形态学的边缘检测核心代码:N =sqrt(100) * randn(x,y); % 生成方差为10的白噪声I=b+N; % 噪声干扰图象for i=1:x % 实际图象的灰度为0255 for j=1:y if (I(i,j)255) I(i,j)=255; end if (I(i,j)=allow)
29、% 迭代最佳阈值分割算法 count=count+1; for i=1:x for j=1:y if (I(i,j)=T) S0=S0+I(i,j); n0=n0+1; end if (I(i,j)=T) Seg(i,j)=1; % 阈值分割的图象 end endendSI=1-Seg; % 阈值分割后的图象求反,便于用腐蚀算法求边缘se1=strel(square,3); % 定义腐蚀算法的结构SI1=imerode(SI,se1); % 腐蚀算法BW=SI-SI1; % 边缘检测%=传统的边缘检测方法=%I=uint8(I);BW1=edge(I,sobel, 0.11);BW2=edge(I,log, 0.015);