图像的边缘检测(实验报告)
- 格式:doc
- 大小:171.50 KB
- 文档页数:5
图像边缘的检测提取设计(陕西理工学院物理与电信工程学院通信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边缘检测的背景在实际图像处理问题中,图像的边缘作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。
实验二边缘检测一、实验原理两个具有不同灰度值的相邻区域之间总会存在边缘,边缘是灰度值不连续的表现。
由于边缘试图向上灰度变化最剧烈的地方,传统的边缘检测就是利用了这点。
对图像上的个点像素点进行微分或二阶微分来确定边缘像素点。
一阶微分图像的峰值处对应着图像上的边缘点,二阶微分图像的零值处对应着图像上的边缘点。
根据属数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于简单的一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性。
为了克服一阶导数的缺点,我们需要定义新的图像梯度算子:1222[(,)][()()F F G F j k j k∂∂=+∂∂ 这是图像处理中最常见的一阶微分算法,式子中F(j,k)表示图像的灰度值,图像梯度的最重要的性质是梯度的方向在图像弧度的最大变化率上,这恰好可以反映出图像的边缘上的灰度变化。
图像边缘提取的常用梯度算子有:Robert 算子、Sobel 算子、Prewitt 算子、拉普拉斯算子等。
二、实验步骤①滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。
需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。
②增强:增强边缘的基础是确定图像各点邻域强度的变化值。
增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。
边缘增强一般是通过计算梯度幅值来完成的。
③检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。
最简单的边缘检测判据是梯度幅值阈值判据。
④定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。
在边缘检测算法中,前三个步骤用得十分普遍。
这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。
重庆邮电大学毕业设计(论文)任务书学生姓名_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.指导教师签字教学部主任签字备注:此任务书由指导教师填写,并于毕业设计(论文)开始前下达给学生。
目录基于VC的图像边缘检测算法的研究与比较摘要图像的边缘是图像最基本的特征,它是灰度不连续的结果。
图像分析和理解的第一步是边缘检测,因此边缘检测在图像处理中有着重要的作用。
图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。
本文介绍了三种经典的图像边缘检测算子,并且运用强大的VC软件通过一个图像边缘检测的例子比较了它们的检测效果,分析了它们各自的特点,对学习边缘检测和具体工程应用具有很好的参考价值。
关键词: 图像处理,边缘检测, 算子,比较研究,VCComparison AndAnalysis ForImageEdgeDetection AlgorithmsBased On VCAbstractEdge is the most basic feature of the image, it is the result of discontinuous gray. The first step in image analysis and understanding is edge detection, so edge detection plays an important role in image processing.Image edge detection significantly reduces the amount of data and removes irrelevant information,retains the important structural properties of images.This article describes three types of classical edge detection operators, and the use the powerful software called VC to do the edge detection through a comparison of examples of the effect of their detection, analysis the characteristics,this is good reference value for their learning edge detection and application of specific projects.Key Words:Image processing ,Edge detection ,Operator ,Comparative Study ,VC第一章绪论1.1数字图像基础1.1.1数字图像概述人眼能识别的自然景象或图像原也是一种模拟信号,为了使计算机能够记录和处理图像、图形,必须首先使其数字化。
图像边缘检测方法研究的开题报告一、选题背景及意义随着数字图像处理技术的发展,图像边缘检测方法经历了从 Sobel 算子、Canny 算子、Laplacian 算子到更加前沿的基于深度学习的方法的演进,但图像边缘检测的准确性和稳定性依然是数字图像处理领域中的一个热点问题。
图像边缘检测在计算机视觉、图像识别等领域有着重要的应用,因此,对于图像边缘检测方法的研究具有重要的理论和实践意义。
二、研究内容本研究将重点探讨图像边缘检测中的经典和创新的算法,包括 Sobel、Prewitt、Roberts 算子、Canny 算子、Laplacian 算子、LoG 算子等经典算法,以及基于深度学习的算法,如卷积神经网络(CNN)等,结合实验数据对各种算法的准确性和稳定性进行对比分析,为更有效地应用图像边缘检测提供理论和实践基础。
三、研究方法1.文献研究法:对图像边缘检测领域目前应用较广泛的算法进行解析,分析各算法的优缺点,为后续实验提供理论基础;2.实验研究法:运用 MATLAB 等数学软件平台,结合不同的测试图像和算法,进行各种图像边缘检测算法的实验研究,从而实现对其准确性和稳定性进行全面评估;四、预期成果1. 收集归纳多种图像边缘检测方法的原理、优缺点等基本理论知识;2. 实现各种图像边缘检测算法,并对其进行实验验证,掌握不同算法的实用价值;3. 对比分析不同算法的准确性和稳定性,找出各种算法的内在关联,为进一步探索图像边缘检测方法提供理论基础。
五、研究难点深度学习算法设计与优化。
六、研究进度安排本研究计划分为以下三个阶段进行:1. 阅读相关文献资料,全面了解不同的图像边缘检测算法和机器学习算法,完成相关理论知识储备,预计耗时 1 个月;2. 在 MATLAB 等计算机软件平台上,实现各种图像边缘检测算法,并通过不同数据集的实验验证,预计耗时 2 个月;3. 在前两个阶段的基础上,对各种算法进行验证和探究,寻找更优秀的算法,用论文的形式进行总结,撰写实验报告和结论,预计耗时 3 个月。
第1篇一、实验目的本次实验旨在通过实际操作,了解并掌握视觉机器的基本原理和应用,提高对视觉机器处理技术的认识。
实验内容包括边缘检测、显著性检测、特征点检测和直线检测等,通过对比不同算法的优缺点,分析其在实际图像处理中的应用和局限性。
二、实验内容与步骤1. 边缘检测(1)选择图像数据:选取一张包含明显边缘结构的图像作为实验对象。
(2)Sobel边缘检测:使用Sobel算子对图像进行边缘检测,记录结果。
(3)Canny边缘检测:使用Canny算子对图像进行边缘检测,记录结果。
(4)比较两种方法的边缘检测效果,分析其差异。
2. 显著性检测(1)选择图像数据:选取一张包含不同显著性区域的图像作为实验对象。
(2)HC显著性检测:使用Python和OpenCV实现HC显著性检测算法,调整参数,比较检测效果。
(3)基于最小方向对比度显著性检测:使用Python和OpenCV实现基于最小方向对比度显著性检测算法,调整参数,比较检测效果。
(4)基于最稳定区域显著性检测:使用Python和OpenCV实现基于最稳定区域显著性检测算法,调整参数,比较检测效果。
3. 特征点检测(1)选择图像数据:选取一张包含明显角点的图像作为实验对象。
(2)Harris角点检测:使用Python和OpenCV实现Harris角点检测算法,调整参数,比较检测效果。
(3)分析角点检测结果与实际图像特征之间的关系。
4. 直线检测(1)选择图像数据:选取一张包含直线的图像作为实验对象。
(2)哈夫变换直线检测:使用Python和OpenCV实现哈夫变换直线检测算法,调整参数,比较检测效果。
(3)对图像进行预处理(如边缘检测)以提高直线检测效果。
(4)分析哈夫变换在实际场景中的应用和局限性。
三、实验结果与分析1. 边缘检测通过对比Sobel算子和Canny算子的边缘检测结果,发现Canny算子具有更好的检测效果,能够有效抑制噪声,同时保留边缘信息。
实验四图像边缘检测一.实验目的1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用;2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;二、实验环境本实验在386以上的微机上进行,运行环境为Matlab 6.5。
三.实验内容与完成情况在matlab环境中,程序首先读取图像,然后调用图像边缘检测(Sobel、Prewitt、Log 边缘算子)函数,设置相关参数,再输出处理后的图像。
I = imread('cameraman.tif');J1=edge(I,'sobel');J2=edge(I,'prewitt');J3=edge(I,'log');subplot(1,4,1),imshow(I);subplot(1,4,2),imshow(J1);subplot(1,4,3),imshow(J2);subplot(1,4,4),imshow(J3);观察经过图像边缘检测(Sobel、Prewitt、Log边缘算子)处理后的结果。
(a)原始图像 (b)Sobel边缘算子(c)Prewitt边缘算子 (d)Log边缘算子四、出现的问题及对问题的解决方案问题:不知道怎么调用各种算子。
解决:用函数edge(I,'sobel');即可实现。
五、思考题1、比较上述算子的优缺点。
sobel算子对灰度渐变和噪声较多的图像处理效果比较好,sobel算子对边缘定位比较准确。
Prewitt算子对灰度渐变和噪声较多的图像处理效果较好。
Log算子经常出现双边缘像素边界,而且该检测方法对噪声比较敏感,所以很少使用log算子检测边缘,而是用来判断边缘像素是位于图像的明区还是暗区。
六、实验总结通过本次实验,我学会了边缘检测的Matlab实现方法,掌握了Matlab 区域操作函数的使用和图像分析和理解的基本方法并对用'sobel','prewitt','log'算子对图像进行边缘检测的不同效果有了更直观的认识。
图像边缘检测⽅法研究⼀、边缘检测步骤:1.图像滤波-------使⽤滤波器来改善与噪声有关的边缘检测器的性能2.图像增强-------增强边缘的基础是确定图像各点邻域强度的变化值。
增强算法可以将邻域强度值有显著变化的点突出显⽰3.图像检测-------有许多不是边缘的点的梯度幅值⽐较⼤,使⽤梯度幅值阈值判断哪些是边缘点4.图像定位-------边缘的位置可以在⼦像素分辨率上来估计,边缘的⽅位也可以被估计出来⼆、边缘检测⽅法:1.传统边缘检测算⼦1.1.基于灰度直⽅图的边缘检测 直⽅图是表⽰依附图像灰度分布的情况的统计特性图表, 从数学上来说图像直⽅图是图像各灰度值统计特性与图像灰度值的函数, 它统计⼀幅图像中各个灰度级出现的次数或概率, 从图形上来说, 它是⼀个⼆维图, 横坐标表⽰图像中各个像点的灰度级, 纵坐标为各个灰度级上图像各个像素点出现的次数或概率。
图像的灰度直⽅图简称直⽅图。
直⽅图是⽤⼀系列宽度相等、⾼度不等的矩形表⽰数据的分布的图形。
矩形的宽度表⽰数据范围的间隔, 矩形的⾼度表⽰在给定间隔内的数据频数。
1.2.基于梯度的边缘检测(1) Roberts边缘算⼦ Roberts边缘检测算⼦是根据任意⼀对互相垂直⽅向上的差分可⽤来计算梯度的原理,采⽤对⾓线⽅向相邻像素之差。
Roberts边缘检测算⼦采⽤对⾓线⽅向相邻像素之差近似检测边缘,定位精度⾼,在⽔平和垂直⽅向效果较好,但对噪声敏感。
(2) Sobel边缘检测算⼦ 将图像中的每个像素的上、下、左、右四邻域的灰度值加权差,与之接近的邻域的权最⼤。
Sobel算⼦利⽤像素的上、下、左、右邻域的灰度加权算法,根据在边缘点处达到极值这⼀原理进⾏边缘检测。
该⽅法不但产⽣较好的检测效果,⽽且对噪声具有平滑作⽤,可以提供较为精确的边缘⽅向信息。
但是,在抗噪声好的同时增加了计算量,⽽且也会检测伪边缘,定位精度不⾼。
如果检测中对精度的要求不⾼,该⽅法较为常见。
《图像处理中的数学方法》实验报告学生姓名:***教师姓名:曾理学院:数学与统计学院专业:信息与计算科学学号:********联系方式:139****1645梯度和拉普拉斯算子在图像边缘检测中的应用一、数学方法边缘检测最通用的方法是检测灰度值的不连续性,这种不连续性用一阶和二阶导数来检测。
1.(1)一阶导数:一阶导数即为梯度,对于平面上的图像来说,我们只需用到二维函数的梯度,即:∇f=[g xg y]=[ðf ðxðfðy],该向量的幅值:∇f=mag(∇f)=[g x2+g y2]1/2= [(ðf/ðx)2+(ðf/ðy)2]1/2,为简化计算,省略上式平方根,得到近似值∇f≈g x2+g y2;或通过取绝对值来近似,得到:∇f≈|g x|+|g y|。
(2)二阶导数:二阶导数通常用拉普拉斯算子来计算,由二阶微分构成:∇2f(x,y)=ð2f(x,y)ðx2+ð2f(x,y)ðy22.边缘检测的基本思想:(1)寻找灰度的一阶导数的幅度大于某个指定阈值的位置;(2)寻找灰度的二阶导数有零交叉的位置。
3.几种方法简介(1)Sobel边缘检测器:以差分来代替一阶导数。
Sobel边缘检测器使用一个3×3邻域的行和列之间的离散差来计算梯度,其中,每行或每列的中心像素用2来加权,以提供平滑效果。
∇f=[g x2+g y2]1/2={[(z7+2z8+z9)−(z1+2z2+z3)]2+[(z3+2z6+z9)−(z1+2z4+z7)]2}1/2(2)Prewitt边缘检测器:使用下图所示模板来数字化地近似一阶导数。
与Sobel检测器相比,计算上简单一些,但产生的结果中噪声可能会稍微大一些。
g x=(z7+z8+z9)−(z1+z2+z3)g y=(z3+z6+z9)−(z1−z4−z7)(3)Roberts边缘检测器:使用下图所示模板来数字化地将一阶导数近似为相邻像素之间的差,它与前述检测器相比功能有限(非对称,且不能检测多种45°倍数的边缘)。
图像边缘的检测提取设计(陕西理工学院物理与电信工程学院通信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, Hanzhong 723003,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.1s sobel算子 (10)4.2sobel算子 (10)4.3prewitt算子 (11)设计总结 (12)致谢 (13)参考资料 (14)1绪论1.1边缘检测的背景在实际图像处理问题中,图像的边缘作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。
图像边缘提取算法研究报告图像边缘提取算法研究报告概述图像的边缘包含了图像最重要的信息。
什么是边缘?一般是指图像灰度变化率最大的位置。
从成因上看,一般图像边缘主要由四个方面的因素形成:(1>图像灰度在表面法向变化的不连续造成的边缘;(2>图像对像素在空间上不一致形成的边缘;(3>在光滑的表面上由于颜色的不一致形成的边缘:(4>物体的光影造成的边缘。
图像边缘提取的作用有:(1>改良图像质量;(2>分离对象;(3>理解和重构视觉场景;(4>识别特征;(5>其他。
b5E2RGbCAP 图像边缘检测是图像处理与计算机视觉共同的基本课题,1960年以来,相继发展了一系列采用梯度算子和拉普拉斯算子的边缘检测技术;为了降低图像噪声对边缘检测算法的干扰,1980年以来,又建立了高斯低通滤波与拉普拉斯算子复合的过零点检测Marr-Hildreth 理论;在另一个方向上,1980年代初期,Canny 从信号处理的角度出发,使边缘检测算法更具有实用性。
本报告主要介绍以上以上几个方面的内容,通过matlab 程序实现以上几种算法,对比各种算法的性能。
p1EanqFDPw 算法介绍及相应程序一、基于微分算子的边缘检测检测图像边缘信息,可以把图像看做曲面,边缘就是图像的变化最剧烈的位置。
这里所讲的边缘信息包含两个方面:一是边缘的具体位置,即像素的坐标;而是边缘的方向。
微分算子有两个重要性质:定域性(或局部性>、敏感性(或无界性>。
敏感性就是说,它对局部的函数值变化很敏感,但是因其对变化过于敏感又有了天然的缺陷——不能抵抗噪声。
局部性意思是指,每一点的导数只与函数在该点邻近的信息有关。
DXDiT a9E3d 主要有两大类基于微分算子的边缘检测技术:一阶微分算子边缘检测与二阶微分算子边缘检测。
这些检测技术采用以下的基本步骤:RTCrpUDGiT (1)将相应的微分算子简化为离散的差分格式,进而简化为模板(记为T>。
《医学图像处理》实验报告实验十三:边缘检测、阈值处理和区域生长日期: 2014年05月27日摘要本次实验的目的是:•了解边缘检测原理,用梯度阈值法,使用Sobel算子结合平滑处理和阈值处理提取边缘,;•了解阈值处理的计算方法,进行全局阈值和Otsu(大律法)阈值处理。
•了解区域生长原理。
对图像做区域生长提取图像特征。
本次实验的内容是:•阈值处理•全局阈值处理•OTSU(大律法)阈值处理•梯度法检测边缘•区域生长一、技术讨论1.1实验原理1.1.1图像的边缘检测边缘:是指图像局部特征的不连续性。
灰度或结构信息的突变。
边缘检测:一种定位二维或三维图像(特别是医学图像)中的对象的边缘的系统。
通过输入端(310)接收表示该图像的各元素值的数据元素集。
该数据集被存储在存储装置(320)中。
处理器(340)确定该图像中的对象的边缘。
该处理器计算所述数据元素的至少一阶和/或二阶导数,并且计算该图像的等照度线曲率,所述曲率由κ标识。
该处理器还确定校正因数α,该校正因数α对于由对象的曲率和/或所述数据的模糊造成的边缘错位进行校正。
该校正因数α取决于所述等照度线曲率κ。
然后,该处理器确定取决于所计算出的导数和所述等照度线曲率的算子的过零点。
该系统的输出端(330)提供对于该图像中的边缘位置的指示。
1.1.2图像的Sobel梯度算子主要用作边缘检测。
在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。
该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。
如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像,其公式如下:图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。
公式如下:计算梯度方向公式如下:在以上例子中,如果以上的角度Θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。
1.1.3全局阈值法全局阈值是指整幅图像使用同一个阈值做分割处理,适用于背景和前景有明显对比的图像。
数字信号处理图像边缘检测与提取1、图像边缘的定义所谓图像边缘(Edlge )是指图像局部特性的不连续性,例如,灰度级的突变,颜色的突变,纹理结构的突变等。
边缘广泛存在于目标与目标、物体与背景、区域与区域(含不同色彩)之间,它是图像分割所依赖的重要特征。
本为主要讨论几种典型的图像灰度值突变的边缘检测方法,其原理也是用于其他特性突变的边缘检测。
图像的边线通常与图像灰度的一阶导数的不连续性有关。
图像灰度的不连续性可分为两类:阶跃不连续,即图像灰度再不连续出的两边的像素的灰度只有明显的差异,如图1.1所示,线条不连续,即图像灰度突然从一个值变化到另一个值,保持一个较小的行程又返回到原来的值。
在实际中,阶跃和线条边缘图像是较少见的,由于空间分辨率(尺度空间)、图像传感器等原因会使阶跃边缘变成斜坡形边缘,线条边缘变成房顶形边缘。
它们的灰度变化不是瞬间的而是跨越一定距离的。
2、经典的边缘检测算子边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。
我们将边缘定义为图像中灰度发生急剧变化的区域边界。
图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。
经典的边缘检测方法,是对原始图像中像素的某小邻域来构造边缘检测算子。
以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点作出了比较和评价 不妨记:▽f (x,y)=i x f ∂∂+j yf ∂∂ 为图像的梯度,▽f (x,y)包含灰度变化信息 记: e (x,y)=y x f f 22+为▽f (x,y)的梯度,e(x,y)可以用作边缘检测算子。
为了简化计算,也可以将e(x, y)定义为偏导数x f 与y f 的绝对值之和:),(y x e =|),(y x f x |+|),(y x f y |以这些理论为依据,提出了许多算法,常用的边缘检测方法有:Roberts 边缘检测算子、Sobel 边缘检测算子、Prewitt 边缘检测算子、Canny 边缘检测算子、Laplace 边缘检测算子等等。
数字信号处理实验
图像的边缘检测
图像的边缘检测
一,原理
本实验主要是对图像的边缘进行提取,通过对边缘的分析来分析图像的特征。
首先,了解一些术语的定义:
边缘点:图像中具有坐标[i,j]且处在强度显著变化的位置上的点。
边缘段:对应于边缘点坐标[i,j]及其方位,边缘的方位可能是梯度角。
边缘检测器:从图像中提取边缘(边缘点和边缘段)集合的算法。
轮廓:边缘列表,或者是一条表示边缘列表的拟合曲线。
边缘连接:从无序边缘表形成有序边缘表的过程,习惯上,边缘表的表示采用顺时针方
向来排序。
边缘跟踪:一个用来确定轮廓的图像(指滤波后的图像)搜索过程。
边缘就是图像中包含的对象的边界所对应的位置。物体的边缘以图像局部特性的不连续
性的形式出现的,例如,灰度值的突变,颜色的突变,纹理结构的突变等。从本质上说,边
缘就意味着一个区域的终结和另外一个区域的开始。图像边缘信息在图像分析和人的视觉中
十分重要,是图像识别中提取图像特征的一个重要属性。
边缘检测(edge detection)在图像处理和对象识别领域中都是一个重要的基本问题。由
于边缘的灰度不连续性,可以使用求导数的方法检测到。最早的边缘检测方法都是基于像素
的数值导数的运算。本实验主要是对图像依次进行Sobel算子,Prewitt算子,Roberts算子,
Laplace算子和Canny算子运算,比较处理结果。
边缘检测有三个共性准则,
1,好的检测结果,或者说对边缘的误测率尽可能低,就是在图像边缘出现的地方检测
结果中不应该没有;另一方面不要出现虚假的边缘。
2,对边缘的定位要准确,也就是我们标记出的边缘位置要和图像上真正边缘的中心位
置充分接近。
3,对同一边缘要有尽可能低的响应次数,也就是检测响应最好是单像素的。
二,对图像进行各种算子运算
本实验中主要是对图像依次进行Sobel算子,Prewitt算子,Roberts算子,Laplace算子和
Canny算子运算。
由于MATLAB对彩色图像不能进行分析。所以,我们要将图像首先进行灰度处理,处
理后的图像才能进行各种算子的变换分析。
程序如下所示:
>> I=imread('C:\Users\Administrator\Desktop\草莓.jpg');
>> subplot(3,3,1);
>> imshow(I);title('(a)原始图像');
>> J=rgb2gray(I); %转化为灰度图像
>> subplot(3,3,2);
>> imshow(J);title('(b)灰度图');
>> K=imadjust(J,[40/255 1]);%调整灰度值
>> subplot(3,3,3)
>> imshow(K);title('(c)调整灰度后的图');
>> I1=edge(K,'sobel');
>> subplot(3,3,4);
>> imshow(I1);title('(d)Sobel算子');
>> I2=edge(K,'prewitt');
>> subplot(3,3,5);
>> imshow(I2);title('(e)Prewitt算子');
>> I3=edge(K,'robert');
>> subplot(3,3,6);
>> imshow(I3);title('(f)Robert算子');
>> I4=edge(K,'log');
>> subplot(3,3,7);
>> imshow(I4);title('(g)Laplace算子');
>> I5=edge(K,'canny');
>> subplot(3,3,8);
>> imshow(I5);title('(h)Canny算子');
图像进行分析之后的结果如图1所示。
图1 对原图进行各种算子变换的结果
通过对上述几种算子的研究,我们可以发现,Prewit t 算子和Sobel 算子都是对图像
进行差分和滤波运算,仅在平滑部分的权值选择上有些差异,但是图像产生了一定的模糊, 而
且有些边缘还检测不出来,所以检测精度比较低, 该类算子比较适用于图像边缘灰度值比较
明显的情况。
Robert s 算子检测精度比较高, 但容易丢失一部分边缘, 使检测的结果不完整,同时图
像没经过平滑处理,不能抑制噪声,所以该算子对具有陡峭的低噪声图像响应最好。
Laplace算子通过高斯函数对图像进行了平滑处理,对噪声的抑制作用比较明显, 但处理
的同时也可能将原有的边缘平滑, 造成某些边缘无法检测到。此外,噪声对其影响也较大,
检测到的图细节很丰富,同时就可能出现伪边缘。但是,如果要降低伪边缘的话,又可能使
检测精度下降,丢失很多真边缘。因此, 对于不同图像应选择不同参数。
Canny 算子也采用高斯函数对图像进行平滑处理,也具有较强的去噪能力, 但同样可能
会丢失一些边缘信息,但是,从图中可以看出,Canny 算子比Laplace算子的检测边缘的精
度要高些。通过实验结果可以看出,该算子在上述几种边缘检测算子当中效果最好。
三,加入噪声
对图像加入一定的噪声,然后观察各种算子对噪声的影响。(加入高斯噪声(μ=0,
σ^2=0.01))
其程序如下:
>> K_g1 = imnoise(K,'gaussian',0,0.01);
>> BW_sobel = edge(K_g1,'sobel');
>> BW_prewitt = edge(K_g1,'prewitt');
>> BW_roberts = edge(K_g1,'roberts');
>> BW_laplace = edge(K_g1,'log');
>> BW_canny = edge(K_g1,'canny');
>> figure(2)
>> subplot(2,3,1);imshow(K_g1),title('加入高斯噪声(μ=0,σ^2=0.01)图像');
>> subplot(2,3,2),imshow(BW_sobel),title('sobel检测');
>> subplot(2,3,3),imshow(BW_prewitt),title('prewitt检测');
>> subplot(2,3,4),imshow(BW_roberts),title('roberts检测');
>> subplot(2,3,5),imshow(BW_laplace),title('laplace检测');
>> subplot(2,3,6),imshow(BW_canny),title('canny检测');
其程序运行的结果如图2所示:
图2 加入高斯噪声之后各种算法的结果
通过上述实验结果我们可以发现,在加入高斯噪声以后,canny算子的去噪能力减弱,
对边缘检测的效果不太明显。相反,从图中可以发现sobel算子和prewitt算子对噪声的过滤
作用较为明显。基本上能够检测出较为完整的边缘信号。