图像的边缘检测(实验报告)
图像边缘检测课程设计报告

图像边缘的检测提取设计(陕西理工学院物理与电信工程学院通信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 算子、拉普拉斯算子等。
二、实验步骤①滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。
需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。
②增强:增强边缘的基础是确定图像各点邻域强度的变化值。
增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。
边缘增强一般是通过计算梯度幅值来完成的。
③检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。
最简单的边缘检测判据是梯度幅值阈值判据。
④定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。
在边缘检测算法中,前三个步骤用得十分普遍。
这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。
(完整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.指导教师签字教学部主任签字备注:此任务书由指导教师填写,并于毕业设计(论文)开始前下达给学生。
VC图像边缘检测算法研究报告与比较

目录基于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 个月。
视觉机器应用实验报告(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算⼦利⽤像素的上、下、左、右邻域的灰度加权算法,根据在边缘点处达到极值这⼀原理进⾏边缘检测。
该⽅法不但产⽣较好的检测效果,⽽且对噪声具有平滑作⽤,可以提供较为精确的边缘⽅向信息。
但是,在抗噪声好的同时增加了计算量,⽽且也会检测伪边缘,定位精度不⾼。
如果检测中对精度的要求不⾼,该⽅法较为常见。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验
图像的边缘检测
图像的边缘检测
一,原理
本实验主要是对图像的边缘进行提取,通过对边缘的分析来分析图像的特征。
首先,了解一些术语的定义:
边缘点:图像中具有坐标[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算子对噪声的过滤
作用较为明显。基本上能够检测出较为完整的边缘信号。