图像边缘检测算子沈阳理工大学数字图像处理课程设计课程设计任务书学院信息科学与工程专业电子信息工程学生姓名 *** 班级学号09******* 课程设计题目图像边缘检测算子课程设计目的与要求: 设计目的:1. 熟悉几种经典图像边缘检测算子的基本原理。
2. 用Matlab编程实现边缘检测,比较不同边缘检测算子的实验结果。
设计要求:1. 上述实验内容相应程序清单,并加上相应的注释。
2. 完成目的内容相应图像,并提交原始图像。
3. 用理论对实验内容进行分析。
工作计划与进度安排:2012年 06月29 日选题目查阅资料2012年 06月30 日编写软件源程序或建立仿真模块图2012年 07月01 日调试程序或仿真模型2012年 07月01 日结果分析及验收2012年 07月02 日撰写课程设计报告、答辩指导教师: 专业负责人: 学院教学副院长:2012年 6月29日 2012年 6月29日 2012年 6月29日I沈阳理工大学数字图像处理课程设计摘要边缘检测是数字图像处理中的一项重要内容。
本文对图像边缘检测的几种经典算法(Roberts算子、Sobel算子、Prewitt算子)进行了分析和比较,并用MATLAB实现这几个算法。
最后通过实例图像对不同边缘检测算法的效果进行分析,比较了不同算法的特点和适用范围。
关键词:图像处理;边缘检测;Roberts算子;Sobel算子;Prewitt算子II沈阳理工大学数字图像处理课程设计目录第1章相关知识...................................................................... (IV)1.1 理论背景...................................................................... (1)1.2 数字图像边缘检测意义...................................................................... (1)第2章课程设计分析...................................................................... . (3)2.1 Roberts(罗伯特)边缘检测算子 (3)2.2 Prewitt(普瑞维特)边缘检测算子 (4)2.3 Sobel(索贝尔)边缘检测算子 ..................................................................... (5)第3章仿真及结果分析...................................................................... (7)3.1 仿真...................................................................... .. (7)3.2 结果分析...................................................................... .................................8 结论...................................................................... .. (10)参考文献...................................................................... (11)III沈阳理工大学数字图像处理课程设计第1章相关知识边缘检测是数字图像处理中的一项重要内容。
本文对图像边缘检测的几种经典算法(Roberts算子、Sobel算子、Prewitt算子)进行了分析和比较,并用MATLAB 实现这几个算法。
最后通过实例图像对不同边缘检测算法的效果进行分析,比较了不同算法的特点和适用范围。
1.1 理论背景图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。
图像处理方法有光学方法和电子学方法。
从20世纪60年代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。
图像处理在遥感技术,医学领域,安全领域,工业生产中有着广泛的应用,其中在医学应用中的超声、核磁共振和CT等技术,安全领域的模式识别技术,工业中的无损检测技术尤其引人注目。
计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。
(2)希望能由计算机自动识别和理解图像。
数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。
物体的边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,例如灰度值的突变、颜色的突变、纹理结构的突变等,同时物体的边缘也是不同区域的分界处。
图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向的像素灰度变化剧烈。
根据灰度变化的特点,图像边缘可分为阶跃型、房顶型和凸缘型。
1.2 数字图像的边缘检测意义边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就是利用了这个特点,对图像各个像素点进行微分或求二阶微分来确定边缘像素点。
一阶微分图像的峰值处对应着图像的边缘点;二阶微分图像的过零点处对应着图像的边缘点。
IV沈阳理工大学数字图像处理课程设计根据数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于图像的简单一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性。
为了克服一阶导数的缺点,我们定义图像的梯度为梯度算子,它是图像处理中最常用的一阶微分算法。
图像梯度的最重要性质是梯度的方向是在图像灰度最大变化率上,它恰好可以反映出图像边缘上的灰度变化。
数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特征的一个重要属性。
图像理解和分析的第一步往往就是边缘检测。
目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。
V沈阳理工大学数字图像处理课程设计第2章课程设计分析图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。
灰度或结构等信息的突变处称为边缘。
边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。
需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。
由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地方不一定能被检测出来,而检测出的边缘也不一定代表实际边缘。
图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。
边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘,如下图所以。
不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。
(a)图像灰度变化 (b)一阶导数 (c)二阶导数基于一阶导数的边缘检测算子包括Roberts算子、Sobel算子、Prewitt算子等,在算法实现过程中,通过2×2(Roberts算子)或者3×3模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。
拉普拉斯边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。
一种改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是LOG算子。
前边介绍的边缘检测算子法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数的过零点。
Canny算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。
2.1 Roberts(罗伯特)边缘检测算子景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。
由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法”。
fxy(,)sxy(,),(,)xy 设是图像灰度分布函数;是图像边缘的梯度值;是梯度VI沈阳理工大学数字图像处理课程设计的方向。
则有1222sxyfxnyfxyfxynfxy(,)(,)(,)(,)(,),,,,,,,,,,,, (2.1.1),1,(,)tan(,)(,)/(,)(,)xyfxynfxyfxnyfxy,,,,,,,,, (2.1.2),, 其中,n=1,2。
式(2.1.1)与式(2.1.2)可以得到图像在(x,y)点处的梯度大小和梯度方向。
将式(2.1.1)改写为: 1222,,,,gxyfxyfxyfxyfxy(,)(,)(1,1)(1,)(,1),,,,,,,, (2.1.3),, ,,,,gxy(,)fxy(,)称为Roberts边缘检测算子。
式中对等的平方根运算使该处理类似于人类视觉系统的发生过程。
事实上Roberts边缘检测算子是一种利用局部差分方法寻找边缘的算子,Robert梯度算子所采用的是对角方向相邻两像素值之差,所以用差分代替一阶偏导,算子形式可表示如下:,,,,,fxyfxyfxy(,)(,)(1,1),,x (2.1.4),,,,,,fxyfxyfxy(,)(1,)(,1),y, 上述算子对应的两个2×2模板如图2.1所示。
实际应用中,图像中的每个像素点都用这两个模板进行卷积运算,为避免出现负值,在边缘检测时常提取其绝对值。
0 1 1 0-1 0 0 -1(a) (b)图2.1 Robert算子模板2.2 Prewitt(普瑞维特)边缘检测算子Prewitt边缘检测算子就是一种利用局部差分平均方法寻找边缘的算子,它体现了三对像素点像素值之差的平均概念,因为平均能减少或消除噪声,为此我们可以先求平均,再求差分,即利用所谓的平均差分来求梯度。
用差分代替一阶偏导可得算子形式如下:,,,,,,,,,,,,,,,,,,fxyfxyfxyfxyfxyfxyfxy(,)(1,1)(,1)(1,1)(1, 1)(,1)(1,1),,,,x,,,,,,,,,,,,,,,,,,,fxyfxyfxyfxyfxyfxyfxy(,)(1,1)(1,)(1,1)(1,1)(1,)(1,1),,,,,y,(2.2.5)VII沈阳理工大学数字图像处理课程设计Prewitt边缘检测算子的两个模板如图2.2所示,它的使用方法同Sobel算子一样,图像中的每个点都用这两个核进行卷积,取得最大值作为输出。