图像边缘检测课程设计报告书
图像边缘检测课程设计报告

图像边缘的检测提取设计(陕西理工学院物理与电信工程学院通信1102班,陕西汉中723003)指导教师:陈莉【摘要】边缘是图像最基本的特征,包含图像中用于识别的有用信息,边缘检测是数字图像处理中基础而重要的内容。
该课程设计具体考察了五种最常用的边缘检测算子并运用MATLAB进行图像处理比较。
梯度算子简单有效,LOG算法和canny边缘检测器能产生较细的边缘。
【关键字】:MATLAB、边缘检测、图像处理Image edge detection to extract the design(Grade11,Class2,Major of Communication Engineering,School of Physics and telecommunication Engineering of Shaanxi University of Technology, Hanzhong723003,China)Tutor:chen li[Abstract]the basic features of the image edge,contains useful information in the image recognition,edge detection is a basicand important content of digital image processing.Thecurriculum design of the specific study of the five most commonedge detection operator and the use of MATLAB for comparison of image processing.Gradient operator is simple and effective,the LOG algorithm and the canny edge detector can producethinner edges.[keyword]:MATLAB,edge detection,image processing目录1绪论 (1)1.1边缘检测的背景 (1)1.2边缘检测的定义 (1)1.3图像边缘检测算法的研究内容 (2)1.4边缘检测的发展趋势 (3)2边缘检测的算法分析与描述 (3)2.1 Roberts算子 (3)2.2 Prewitt算子 (4)2.3 Sobel算子 (5)2.4 Laplacian算子 (6)2.5 Canny算子 (7)3算子性能分析比较 (8)4 算法的选择和实现 (9)4.1ssobel算子 (10)4.2sobel算子 (10)4.3prewitt算子 (12)设计总结 (12)致谢 (14)参考资料 (15)1绪论1.1边缘检测的背景在实际图像处理问题中,图像的边缘作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。
边缘检测实验报告

边缘检测实验报告边缘检测实验报告引言:边缘检测是图像处理中的一项重要任务,它能够有效地提取图像中物体的边界信息,为后续的图像分割、物体识别等任务提供基础。
本实验旨在探究不同的边缘检测算法在不同场景下的表现,并对其进行评估和比较。
一、实验背景边缘检测是图像处理领域的经典问题,早期的边缘检测算法主要基于梯度的计算,如Sobel、Prewitt等。
随着深度学习的发展,基于卷积神经网络的边缘检测方法也取得了显著的进展。
本实验将选择传统的Sobel算子和基于深度学习的Canny算法进行对比。
二、实验步骤1. 数据准备:选择一组包含不同场景、不同复杂度的图像作为实验数据集,确保数据集的多样性和代表性。
2. 算法实现:使用Python编程语言,利用OpenCV库实现Sobel算子和Canny 算法。
对于Sobel算子,我们将尝试不同的卷积核大小和阈值设置。
对于Canny算法,我们将调整高低阈值的取值范围。
3. 实验评估:使用评估指标来衡量不同算法的性能,如准确率、召回率、F1值等。
同时,我们还可以通过可视化的方式来比较不同算法的边缘检测效果。
三、实验结果在实验中,我们选择了10张不同类型的图像进行边缘检测,并使用Sobel算子和Canny算法进行处理。
通过对比实验结果,我们得出以下结论:1. Sobel算子:- 当卷积核大小较小(如3x3)时,Sobel算子能够较好地检测到图像中的细节边缘,但对于噪声较多的图像效果较差。
- 当卷积核大小较大(如7x7)时,Sobel算子能够更好地抑制噪声,但会导致边缘检测结果的模糊。
- 阈值的设置对Sobel算子的效果也有较大影响,较低的阈值可以提高边缘检测的敏感性,但也容易引入噪声。
2. Canny算法:- Canny算法基于梯度的计算和非极大值抑制,能够有效地检测到图像中的边缘,并且对噪声有较好的鲁棒性。
- 高低阈值的设置对Canny算法的效果影响较大,合适的阈值范围可以提高边缘检测的准确性和稳定性。
(完整word版)图像边缘检测任务书及开题报告

重庆邮电大学毕业设计(论文)任务书学生姓名_A_学院_计算机学院_专业_地理信息系统_年级班别_1 _指导教师 —b__职 称—副教授—下达任务日期_2009_年_ 1_月_ 10_日研究内容 1•收集相关的相关学术报告,对其进行深入的学习了解及分析,了 解各种处理图像的过程和方法,了解常用的边缘检测算法,如图像的数 字化和离散图像的数学描述;数学形态学与二值图像的数学形态学运算; 图像分割和特征提取中的分割技术;边缘提取的经典方法;图像特征提 2.对经典边缘检测算法进行学习、分析和比较,如 Roberts 算子、 Sobel 算子、Prewitt 算子、Laplacian 算子、Marr 算子、Canny 算子等;3.用VC++实现这些算法,对边缘检测算法进行理解和加深,并通 过比较找出每种算法的优缺点和各自适用的范围;4.对上述算法融合自己的想法,并初步提出改进,让算法更实用。
研究方法和要求一个好的边缘检测算子应该具有三个指标: 1•低失误率,既要少将真正的边缘丢失也要少将非边缘判为边缘;2•高位置精度,检测出的边缘应在真正的边界上; 3.对每个边缘有唯一的响应,得到的边界为单像素宽;要做好边缘检测,首先,清楚待检测的图像特性变化的形式,从而使用适应这类变化的检测方法。
其次,要知道特性变化总是发生在一定 的空间范围内,不能期望用一种检测算子就能最佳检测出发生在图像上的所有特性变化。
当需要提取多空间范围内的变化特性时,要多考虑算子的综合应用。
第三,要考虑噪声的影响,其中的一个办法就是滤除噪设计(论文)题目 ____图象边缘检测算法研究与实现主要研究内容取等;方法和要求声,但这有一定的局限性。
第四,可以考虑各种方法的组合;第五,在正确检测边缘的基础上,要考虑精确定位的问题。
进度计划4月 2号-4月19号:4月on C R -7 县.20号5月7号:5月Q县8号5月23号.5月 24号一—5月31号:查阅相关资料,写出开题报告,熟悉VC++开发工具,并用VC++实现一些经典的算法测试,编写文档,完成毕业设计论文初稿对毕业设计论文进行修改,并最终完成毕业设计论文主要参考文献[1][2][3][4][7][8][9]谢凤英等.VC++数字图像处理[M].电子工业出版社,2008. 9.K. R. Castlemen, 朱志刚等(译).数字图象处理[M].北京.电子工业出版社.1998. 387-422.张凯丽,刘辉.边缘检测技术的发展研究[J].昆明理工大学学报,2000, 25(5): 36-39章毓晋.图象分割[M].北京:科学出版社,2001. 116-119. 何斌,马天予等编著.Visual C++数字图像处理[M], 2001.4.刘曙光,刘明远等.基于Canny准则的基数B样条小波边缘检测[J].信号处理,2001,17(5):418-423.赵志刚,管聪慧.基于多尺度边缘检测的自适应阈值小波图像降噪[J+].仪器仪表学报,2007,(2): 288-292田岩岩,齐国清.基于小波变换模极大值的边缘检测方法[J].大连海事大学学报:自然科学版,2007, (1): 102-106Mallat Stephane, Zhong Sifen. Characterization of Signals fromMultiscale EdgesJ]. IEEE Trans. on Pattern Analysis and MachineIn tellige nee, 1992, 14(7): 710-733[10]王文庆,支华.基于统计的边缘阈值检验方法[J].测绘科学,2007(2):71-72.指导教师签字教学部主任签字备注:此任务书由指导教师填写,并于毕业设计(论文)开始前下达给学生。
数字图像处理实验报告(图像边缘检测)

实验报告实验名称实验三图像边缘检测课程名称数字图像处理某成绩班级学号日期地点备注:1、实验目的(1)了解并掌握使用微分算子进行图像边缘检测的基本原理;(2)编写程序使用Laplacian 算子(二阶导数算子)实现图像锐化,进一步理解图像锐化的实质;(3)掌握使用不同梯度算子(一阶导数算子)进行图像边缘检测的原理、方法,根据实验结果分析各种算子的工作效果;(4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。
2、实验环境(1)Windows XP/7(2)Matlab 7.1/7.143、实验方法本次实验要求对256×256大小,256级灰度的数字图像lena.img进行处理。
(1)对该图像进行锐化处理,要求采用Laplacian算子进行锐化,分α=1和α=2两种情况,按如下不同情况进行处理:①g1(m,n)=f(m,n)-α∇f②g2(m,n)=4αf(m,n)-α[f(m-1,n)+f(m+1,n)+f(m,n-1)+f(m,n+1)]I、要对图像进行处理,要先读取该图像,实验代码如下:close all;clear all;fid=fopen('lena.img','r');image=fread(fid,[256,256],'uint8');fclose(fid);II、读取图像后,对该图像的每一像素(不考虑图像的边界部分)进行遍历,根据公式①(公式①相当于做差分)对每一灰度进行计算,将所得的结果存入一矩阵g1中(矩阵g1初始化为该图像的矩阵),代码如下(仅以ɑ=1为例):g1=image;a=1;[x,y]=size(image);for i=2:(x-1)for j=2:(y-1) g1(i,j)=(1+4*a)*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));endendIII、根据公式②对图像的每一个像素(不考虑图像的边界部分)进行计算,将所得之存入矩阵g2中(g2初始化值为该图像的矩阵值),具体方法与上一步类似,代码如下(仅以ɑ=1为例):g2=image;a=1;[x,y]=size(image);for i=2:(x-1)for j=2:(y-1)g2(i,j)=4*a*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));endend(2)分别利用Roberts、Prewitt 和Sobel 边缘检测算子,对原图像进行边缘检测,显示处理前、后图像。
实验四 图像的边缘检测1

3、用不同方向(‘水平’、‘垂直’、‘水平和垂直’)的Sobel算子对图像进行边缘检测。比较三种情况的结果。
代码:
I=imread('rice.png');
subplot(2,2,1)
imshow(I)
BW2=edge(I,'sobel',[] ,'horizontal');
subplot(2,2,2)
代码:
I=imread(‘cameraman.tif’);
imshow(I);
结果:
2、分别用Roberts、Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的结果。
代码:
I=imread('rice.png');
subplot(2,2,1)
imshow(I)
BW1=edge(I,'roberts');
掌握了用MATLAB语言进行图像边缘提取的方法。
imshow(BW2), title('水平方向的Sobel算子')
BW2=edge(I,'sobel',[] ,'vertical');
subplot(2,2,3)
imshow(BW2), title('´垂直方向的Sobel算子')
BW2=edge(I,'sobel',[] ,'both');
subplot(2,2,4)
20122013学年第一学期医学图像处理实验报告班级学号姓名实验时间20121030实验地点4601实验成绩实验题目图像的边缘检测一实验目的1理解图像边缘提取的基本概念
2012-2013学年第一学期《医学图像处理》实验报告
数字图像课程设计报告:边缘检测算子的比较

数字图像处理课程设计报告题目数字图像课程设计—各边缘检测算子的对比系别电气系班级xxxxxxxxxxxxx 学号xxxxxxxxxxxx姓名xxxx 指导老师xxxx时间xxxxxxx目录一、课题设计的任务 (3)1.1 课题选择 (3)1.2 课题设计的背景 (3)二、课题原理简介 (3)三、经典边缘检测算子性能比较及程序 (6)3.1MATLAB程序仿真 (6)3.2实验结果的比较 (10)四、实验结论 (11)五、参考文献 (11)一、课题设计的任务1.1课题选择各边缘检测的对比1.2 课题设计的背景我们感知外部世界的途径主要是听觉和视觉。
而视觉主要是获取图像的信息,例如图片的特征和周围的背景区域的差别。
这种灰度或结构等信息的突变,就称之为边缘。
图像的边缘对人类视觉而言具有重要意义,有些差别很细微,人眼很难观察,这时就需要计算机图像处理技术,物体边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘。
本次我的课程设计就利用了MATLAB软件,通过实验,对各边缘检测算子进行了对比和研究,例如基于一阶导数的边缘检测算子Roberts算子、Sobel算子,基于二阶导数的拉普拉斯算子,canny边缘检测算子等。
并且在4天内完成了课程设计作业,基本达到既定要求。
二、课题原理简介边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。
检测出的边缘并不等同于实际目标的真实边缘。
图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。
边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘,如下图所以。
不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。
(a)图像灰度变化(b)一阶导数(c)二阶导数下面是一些主要的边缘检测算子的原理介绍1 Roberts(罗伯特)边缘检测算子景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。
详细的图像分割之边缘检测实验报告

边缘检测实验报告一、实验目的通过课堂的学习,已经对图像分割的相关理论知识已经有了全面的了解,知道了许多图像分割的算法及算子,了解到不同的算子算法有着不同的优缺点,为了更好更直观地对图像分割进行深入理解,达到理论联系实际的目的,特制定如下的实验。
二、实验原理:图像处理有两大类目的:1.改善像质(增强、恢复);2.图像分析:对图像内容作出描述;其一般的图像处理过程如下:图像分割的算法有:(1)阈值分割原理:(,)(,)(,)EBLf x y Tg x y L f x y T≥⎧=⎨<⎩(2)边缘检测:梯度对应一阶导数,对于一个连续图像函数f(x,y):梯度矢量定义:梯度的幅度:梯度的方向:a) Roberts 算子b) Sobel 算子Roberts 算子[]TTyxy f x f G G y x f ⎦⎤⎢⎣⎡∂∂∂∂==∇),(122)()),((),(y x G G y x f mag y x f +=∇=∇)arctan(),(x y G y x =φ()()()[]()()[]{}21221,,11,1,,+-++++-=j i f j i f j i f j i f j i gc) Prewitt 算子d) Kirsch 算子由K 0~K 7八个方向模板组成,将K0~K7的模板算法分别与图像中的3×3区域乘,选最大一个值,作为中央像素的边缘强度(3)区域分割1 区域生长法 算法描述先对每个需要分割的区域找一个种子像素作为生长的起点,然后将种子像素周围邻域中与种子像素有相似性质的像素合并到种子像素所在的区域中。
将这些新像素当作新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来。
2 分裂合并法实际中常先把图像分成任意大小且不重叠的区域,然后再合并或分裂这些区域以满足分割的要求,即分裂合并法.一致性测度可以选择基于灰度统计特征(如同质区域中的方差),假设阈值为T ,则算法步骤为:① 对于任一Ri ,如果 ,则将其分裂成互不重叠的四等分; ② 对相邻区域Ri 和Rj ,如果 ,则将二者合并; ③ 如果进一步的分裂或合并都不可能了,则终止算法。
数字图像处理实验报告-图像边缘检测和特征提取

华南师范大学实验报告一、实验目的1、.掌握边缘检测的Matlab实现方法2、了解Matlab区域操作函数的使用方法3、了解图像分析和理解的基本方法4、了解纹理特征提取的matlab实现方法二、实验平台计算机和Matlab软件环境三、实验内容1、图像边缘检测2、图像纹理特征提取四、实验原理1、图像边缘检测图像理解是图像处理的一个重要分支,它研究的是为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。
边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。
在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。
边缘检测实际上就是检测图像特征发生变化的位置。
由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。
边缘检测的方法大多数是基于方向导数掩模求卷积的方法。
导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。
一阶导数fx∂∂与fy∂∂是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,而方向α上的灰度变化率可以用下面式子计算:cos sin (cos sin )f f f G i j x yααααα∂∂∂=+=+∂∂∂ 对于数字图像,应该采用差分运算代替求导,相对应的一阶差分为:(,)(,)(1,)(,)(,)(,1)x y f i j f i j f i j f i j f i j f i j ∆=--∆=--方向差分为: (,)(,)cos (,)sin x y f i j f i j f i j ααα∆=∆+∆函数f 在某点的方向导数取得最大值的方向是1tan /f f y x α-⎡⎤∂∂=⎢⎥∂∂⎣⎦,方向导数的最大值是1222f f G x y ⎡⎤⎛⎫∂∂⎛⎫=+⎢⎥ ⎪ ⎪∂∂⎝⎭⎢⎥⎝⎭⎣⎦称为梯度模。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*******************实践教学*******************理工大学计算机与通信学院2012年秋季学期图像处理综合训练题目:图像边缘检测课程设计专业班级:姓名:学号:指导教师:成绩:目录摘要 (1)一、前言 (2)二、算法分析与描述 (3)三、详细设计过程 (8)四、调试过程中出现的问题及相应解决办法 (10)五、程序运行截图及其说明 (11)六、简单操作手册 (14)设计总结 (16)参考资料 (17)致 (18)附录 (19)摘要在实际图像处理问题中,图像的边缘作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。
它在图像识别,图像分割,图像增强以及图像压缩等的领域中有较为广泛的应用,也是它们的基础。
边缘检测是图像处理与分析中最基础的容之一,也是至今仍没有得到圆满解决的一类问题。
图像的边缘包含了图像的位置、轮廓等特征,是图像的基本特征之一,广泛地应用于特征描述、图像分割、图像增强、图像复原、模式识别、图像压缩等图像分析和处理中。
因此,图像边缘和轮廓特征的检测与提取方法,一直是图像处理与分析技术中的研究热点,新理论、新方法不断涌现。
本文研究了一些边缘检测算法,包括传统的Roberts、Sobel、Prewitt、Canny等算法。
经典边缘检测方法的抗噪声性能都较差,解决该问题的主要方法就是设置阈值,把得到的图像高频部分与阈值相比较以达到去噪的目的,所以阈值的选取显得尤为重要。
传统方法中的阈值都是通过实验确定的,没有统一的阈值选取方法。
本文利用边缘的最大后验概率估计,介绍一种新的边缘估计方法,从理论上说明了怎样选取最佳阈值。
文章中关于这些方法都有较详细的介绍,以及算法的实现步骤,对算法均进行了仿真实验。
关键词:边缘检测;图像处理;Matlab;Sobel;检测算法一、前言随着信息技术的不断发展和用户需求的不断增长,嵌入式系统逐渐走进国民生产的方方面面,其应用也日益广泛。
目前国一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统的应用领域也非常广泛。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA 、移动计算设备、手机上网、数字电视、多媒体、汽车、数字相机、电梯、空调、安全系统、自动售货机、工业自动化仪表与医疗仪器等。
而图像边缘检测则是图像处理中非常基础但是及其重要步骤。
边缘是两个不同区域之间的边界。
图像边缘检测是图像处理,图像分析,模式识别等一系列图像处理过程中最重要的步骤。
目前,学界上已经有许多种不同点的方法来实现边缘检测的功能,比如说差分法(Kirsch,1971)和曲线拟合法(Haralick,1984)。
传统的边缘检测方法,比如Sobel、Prewitt、Kirsch算法,通过计算第一阶方向导数来决定边缘的位置。
零点交叉边缘检测法(Bovik,1998)运用了二阶导数和拉普拉斯算符。
而Canny算法(Canny,1986)是目前学界最流行并且应用最广泛的的高斯边缘检测算法。
尽管高斯检测算法(Yuksel,2007)相对来说有更好的性能表现,但是所需要的计算也比传统基于求导的检测算法复杂的多。
近些年来,对于图像处理在许多不同的科学和工程领域应用的研究越来越火热。
在嵌入式系统上实现图像处理能够很好的解决在一般PC或者工控机上实现图像处理的不足之处,比如说便携性差,功耗大,移动性,灵活性不强等。
同时加之以集成度高,与网络的耦合也越来越紧密等特点。
嵌入式系统将是未来工业控制和其他一些行业的主要发展方向。
本文主要阐述了图像边缘检测算法的一些理论,并对检测的效果加以比较,同时介绍了嵌入式系统开发的流程,为图像类嵌入式开发系统开发提出可行的方案。
最后设计实现了边缘检测系统。
二、算法分析与描述2.1 Roberts算子由Roberts提出的算子是一种利用局部差分算子寻找边缘的算子,对于边界陡峭且噪比较小的图像检测效果比较好,它在2×2邻域上计算对角导数,[],G i jG[i,j]又称为Roberts交叉算子。
在实际应用中,为简化运算,用梯度函数的Roberts绝对值来近似:[][][][][]-++++-+,=,1,11,,1G i j f i j f i j f i j f i j用卷积模板,上式变成:[],x y=+G i j G G其中G x和G y由下面图1所示的模板计算:图1 Robert边缘检测算子的模板Roberts算子是该点连续梯度的近似值,而不是所预期的点处的近似值。
由上面两个卷积算子对图像运算后,代入2式,可求得图像的梯度幅度值G[i,j],然后选取适当的门限TH,作如下判断:G[i,j]>TH,[i,j]为阶跃状边缘点,{G[i,j]}为一个二值图像,也就是图像的边缘。
由于利用局部差分检测比较陡峭的边缘,但对于噪声比较敏感,经常会出现孤立点,于是人们又提出了Prewitt算子[4]。
通过分析可知,Sobel算子法对高频成分丰富的图像处理效果好,对中低频成分的图像效果差。
2.2 Prewitt算子为在检测边缘的同时减少噪声的影响,Prewitt算子从加大边缘检测算子出发。
由2×2扩大到3×3来计算差分算子,所以其卷积模板为图2所示:图2 Prewitt边缘检测算子的模板在图像中的每个像素位置都用这2个模板做卷积,Prewitt算子将方向差分运算与局部平均结合起来,表达式如下:()()()()()() 1,1,11,11,1,11,1 xf f x y f x y f x y f x y f x y f x y'=-++++++------+-()()()()()()1,11,1,11,11,1,1 yf f x y f x y f x y f x y f x y f x y'=+-+++++-------+根据两式可以计算Prewitt梯度,选取适当的阈值T,对梯度图像二值化,得到一幅边缘二值图像。
采用Prewitt算子不仅能检测边缘点,而且还能抵制噪声的影响[5]。
通过分析可知,Prewitt算子法对高频成分丰富的图像处理效果好,对中低频成分的图像效果差。
2.3 Sobel算子传统的Sobel图像边缘检测方法,是在图像空间利用两个方向模板与图像进行邻域卷积来完成的。
这两个方向模板一个检测垂直边缘,一个检测水平边缘,如图3所示。
图中,模板的数字为模板系数,梯度方向与边缘方向总是正交水平边缘Sobel算子垂直边缘Sobel算子图3 Sobel算子模板元素和窗口像素之间的对应关系(以3×3窗口为例)定义如下:设窗口灰度为:[]()()()()()()()()()1,11,1,1,1,,11,11,1,1F j k F j k F j kF F j k F j k F j kF j k F j k F j k⎡⎤----+⎢⎥=-+⎢⎥⎢⎥+-+++⎣⎦模板卷积计算就是下式求乘积和的过程:()()11,11,,ii m nm nf j k F j m k n M=-=-=++∑∑式中,i =1,2分别代表垂直和水平模板。
(),i f j k 为模板卷积法边缘检测的输出,[]2l L =,L 为窗口宽度,对3×3窗口,l =1。
将两个卷积结果的最大值,赋给图像中对应模板中心位置的像素,作为该像素的新灰度值,即:()()max max ,1,2i f f j k i ==通过分析可知,Sobel 算子法对高频成分丰富的图像处理效果好,对中低频成分的图像效果差。
2.4 Laplacian 算子拉普拉斯算子是二阶导数的二维等效式。
函数f (x,y )的拉普拉斯算子公式为: 22222f f f x y ∂∂∇=+∂∂ 使用差分方程对x 和y 方向上的二阶偏导数近似如下: [][]()[][][][]()[]22,1,,1,,22,1,x G f x x f i j f i j x f i j f i j x xf i j f i j f i j ∂∂=∂∂∂+-=∂∂+∂=-∂∂=+-++这一近似式是以点f [i,j+1]为中心的,用j -1替换j 得到 [][]()[]22,12,,1f f i j f i j f i j x ∂=+-+-∂它是以点[i,j ]为中心的二阶偏导数的理想近似式,类似地, [][]()[]221,2,1,f f i j f i j f i j x ∂=+-+-∂ 把式(2-3)和式(2-4)合并为一个算子,就成为式(2-5)能用来近似拉普拉斯算子的模板:2010 141 010⎡⎤⎢⎥∇≈-⎢⎥⎢⎥⎣⎦有时候希望邻域中心点具有更大的权值,比如下面式(2-6)的模板就是一种基于这种思想的近似拉普拉斯算子:2141 4204 141⎡⎤⎢⎥∇≈⎢⎥⎢⎥⎣⎦当拉普拉斯算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过零点(均匀零区)。
原则上,过零点的位置精度可以通过线性插方法精确到子像素分辨率。
通过分析可知,它不过由于噪声,以及由噪声引起的边缘两端的不对称性,结果可能不会很精确。
2.5 Canny算子Canny检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点。
检测阶跃边缘的大部分工作集中在寻找能够用于实际图像的梯度数字逼近。
由于实际的图像经过了摄像机光学系统和电路系统(带宽限制)固有的低通滤波器的平滑,因此,图像中的阶跃边缘不是十分陡立。
图像也受到摄像机噪声和场景中不希望的细节的干扰。
图像梯度逼近必须满足两个要求:首先逼近必须能够抑制噪声效应;其次必须尽量精确地确定边缘的位置。
抑制噪声和边缘精确定位是无法同时得到满足的,也就是说,边缘检测算法通过图像平滑算子去除了噪声,但却增加了边缘定位的不确定性;反过来,若提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感性。
有一种线性算子可以在抗噪声干扰和精确定位之间提供最佳折衷方案,它就是高斯函数的一阶导数。
通过分析可知,采用高斯函数对图像进行平滑处理,因此具有较强的噪声抑制能力;同样该算子也将一些高频边缘平滑掉,造成边缘丢失,采用了双阈值算法检测和连接边缘,边缘的连续性较好。
三、详细设计过程Roberts算子、Sobel算子、Prewitt算子的检测效果相差不大,三种算子的检测效果较之Canny和Log算子还是存在一定的差距。
这三种检测算子的阈值选择围与log和canny算子相比要小些。
边缘点不够锐利和明确,线边缘检测要好于点边缘检测。
总体而言由于Prewitt 算子受噪声影响较小,故检测效果要略好于另外两种。
由于Roberts算子是利用图像的两个对角线的相邻像素之差进行梯度幅值的检测,所以求得的是在差分点处梯度幅值的近似值,并且检测水平和垂直方向边缘的性能好于斜线方向的边缘,检测精度比较高,但容易丢失一部分边缘,同时由于没经过图像平滑计算,因此不能抑制噪声,但该算子对具有陡峭的低噪声图像响应最好。