数字图像处理论文.doc

上传人:仙人指路1688 文档编号:3944239 上传时间:2023-03-28 格式:DOC 页数:47 大小:2.30MB
返回 下载 相关 举报
数字图像处理论文.doc_第1页
第1页 / 共47页
数字图像处理论文.doc_第2页
第2页 / 共47页
数字图像处理论文.doc_第3页
第3页 / 共47页
数字图像处理论文.doc_第4页
第4页 / 共47页
数字图像处理论文.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《数字图像处理论文.doc》由会员分享,可在线阅读,更多相关《数字图像处理论文.doc(47页珍藏版)》请在三一办公上搜索。

1、摘 要边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的边界线,提取出边缘才能将目标和背景区分开来。在图像中,边界所分开区域的内部特征或属性是一致的,而不同区域内部的特征或属性是一致的,而不同区域内部的特征或属性是不同的,边缘的检测正是利用物体和背景在某种图像差异来实现的,这些差异包括灰度、颜色或纹理特征。边缘检测实际上就是检测图像特性发生变化的位置。本文主要阐述基于Matlab的图像边缘检测技术。论述以Matlab为开发平台和编程语言,设计出图像边缘检测软件。首先设计了图形用户界面GUIDE,作为图像边缘检测软件的主界面,然后比较了各种图像边缘检测算子的特点,结合人像图,文

2、字图,分形图来说明这些算子的定位性;结合加噪图片来说明各算子的稳定性。在图形用户界面中添加了与各种算子相对应的处理程序,以及图形文件的获取、保存等功能,完成了图像边缘检测软件。最终的图形界面可实现打开图片并对其进行边缘处理,并可将处理好的图片保存。 本论文的安排组织如下:第一章主要介绍图像边缘处理的意义。第二章主要介绍本论文软件平台的选择。第三章主要介绍一些常用边缘算子的原理。第四章 通过实例分析了各种算子的优缺点,借助Matlab中的GUI设计了图像边缘检测界面,并在GUI界面中完成了对各种算子的调用,最终完成了基于MATLAB的图形化图像边缘检测软件。关键词:图像边缘处理 MATLAB G

3、UI Log算子 Canny算子 AbstractEdge detection technique for processing digital images is important because the edge is extracted by the target and the background to the boundary line, extract the edge of the target and background can be distinguished. In the image, separated by the border regions of the i

4、nternal characteristics or attributes are the same, but different characteristics or attributes within the region are the same, but different characteristics within the region or property is different, edge detection is the use of object and background images in some kind of difference to achieve, t

5、hese differences include grayscale, color or texture features. Detection of edge detection is actually the location of the image characteristics to change. This article discusses the Matlab-based image edge detection. Discussed in Matlab as the development platform and programming language, designed

6、 edge detection software. First, the design of the graphical user interface GUIDE, edge detection software as the main interface, then compare a variety of edge detection operator, combining the portrait maps, text maps, fractal images to illustrate the positioning of these operators; combined incre

7、ase noise images to illustrate the stability of the operator. Add in the graphical user interface with a variety of operators corresponding to the processing procedures, and graphics files for the acquisition, preservation and other functions, the completion of the image edge detection software.The

8、final graphical interface allows the edge to open the picture and its treatment, and may well save the picture processing.Arrangement of this paper is as follows: The first chapter introduces the significance of the image edge processing. The second chapter introduces the software platform of choice

9、 in this paper. The third chapter introduces some common principle of marginal operator. Chapter IV an example of the advantages and disadvantages of various operators, using Matlabs GUI interface is designed edge detection and GUI interface for all operators to complete calls, he finally completed

10、the MATLAB-based graphical edge detection software.Keywords: Edge Treatment MATLAB GUI Canny operator Log operator 目录摘 要IAbstractII目录III第一章 绪 论11.1 数字图像简介11.2 数字图像处理11.3 图像边缘处理的意义31.4 本章小结4第二章 软件选择42.1 软件平台选择52.2 Matlab简介52.3 本章小结7第三章 图像边缘处理算法73.1 边缘检测算子83.1.1 罗伯特(Roberts)边缘算子83.1.2 索贝尔(Sobel)边缘算子83

11、.1.3 Prewitt边缘算子93.1.4 拉普拉斯(Laplacian)边缘算子103.1.5 坎尼(Canny)边缘算子113.2 各种算法的Matlab实现133.3本章小结18第四章 图像边缘处理的实现194.1算法之间的比较194.1.1算子的定位性194.1.2算子的稳定性244.2 GUI简介294.3 GUI界面的实现294.3.1 主要函数的介绍294.3.2 GUI的实现304.4本章小结41结论42参考文献43致 谢45第一章 绪 论1.1 数字图像简介我们现在生活在数字图像的世界中,每个人都是满身的数字装备,MP3、MP4、PSP、PPC、手机、数码相机、笔记本电脑,

12、这些设备的使用都离不开对数字图像相关知识的了解。只有具备一定的数字图像方面的了解才能玩转这些设备,使我们的生活更加的丰富多彩。下面初步介绍一下数字图像的基本知识。为了实现对图像信号的处理和传输,首先必须对图像进行正确的描述,即什么是图像。图像对我们来说并不陌生,但很难用一句话来说清其含义。从广义上来说,图像是自然界景物的客观反映,是人类认识世界和自身的重要源泉。照片,绘画,影视画面无疑属于图像;照相机,显微镜或望远镜的取景器上的光学成像也是图像。此外,汉字也可以说是图像的一种,因为汉字起源于象形文字,所以可以当作是一种特殊的图像;图像也可以理解为介于文字和绘图之间的一种形式。总之,凡是人类视觉

13、上能够感受到的信息,都可以成为图像。图像信息不仅包含光通量分布,而且还包含人类视觉上的主观感觉。随着计算机技术的发展,人们可以人为地创造出色彩斑斓,千姿百态的各种图像。概括的讲,图像包含视频,图形,动画,符号文字等重要内容。1.2 数字图像处理一幅图像可定义为一个二维函数f(x,y),这里x和y是空间坐标,而在任何一对空间坐标(x,y)上的幅值f称为该点图像的强度或灰度。当x,y和幅值f为有限,离散的数值时,称该图像为数字图像。而数字图像处理是指借用计算机处理数字图像,值得提及的是数字图像是由有限的元素组成的,每个元素都有一个特定的位置和幅值,这些元素称为图像元素,画面元素或像素。视觉是人类最

14、高级的感知器官,所以,毫无疑问图像在人类感知中扮演着最重要的角色。然而,人类感知只是限于电磁波谱的视觉波段,而成像机器则可覆盖几乎全部电磁波谱。他们可以对非人类习惯的那些图像源进行加工。这些图像源包括超声波,电子显微镜及计算机所产生的图像。因此,数字图像处理涉及各种各样的应用领域。图像处理和分析可定义为应用一系列方法获取,校正,增强 ,变换或压缩可视图像的技术。其目的是提高信息的相对质量,以便获取信息。图像处理中的变换属于图像输入-图像输出的模式。现在已有许多的图像生成技术,但除图像恢复技术以外,图像处理技术在很大程度上与图像形成的过程无关。当图像已被采集且已对获取过程中产生的失真进行了校正,

15、那么所有可用图像处理技术本质是通用的。因此图像处理是一种超越具体应用的过程:任何为解决某一特殊问题而开发的图像处理新技术或新方法,几乎肯定能找到其他完全不同的应用邻域。图像处理技术分为:灰度量化,图像恢复,图像增强,边缘检测,图像分割,图像测量,图像压缩,图像配准,可视化,图像存档。本文着重讨论图像边缘检测的问题。众所周知,边缘是图像最基本的特征,所谓边缘就是指周围灰度强度有反差变化的那些像素的集合,是图像分割所依赖的重要基础,也是纹理分析和图像识别的重要基础。理想的边缘检测应当正确解决边缘的有无、真假、和定向定位,长期以来,人们一直关心这一问题的研究,除了常用的局部算子及以后在此基础上发展起

16、来的种种改进方法外,又提出了许多新的技术,其中,突出的有LOG,用Facet模型检测边缘,Canny的最佳边缘检测器,统计滤波检测以及随断层扫描技术兴起的三维边缘检测等。要做好边缘检测,首先,清楚待检测的图像特性变化的形式,从而使用适应这种变化的检测方法。其次,要知道特性变化总是发生在一定的空间范围内,不能期望用一种检测算子就能最佳检测出发生在图像上的所有特性变化。当需要提取多空间范围内的变化特性时,要考虑多算子的综合应用。第三,要考虑噪声的影响,其中一个办法就是滤除噪声,这有一定的局限性;再就是考虑信号加噪声的条件检测,利用统计信号分析,或通过对图像区域的建模,而进一步使检测参数化。第四,可

17、以考虑各种方法的组合,如先利用LOG找出边缘,然后在其局部利用函数近似,通过内插等获得高精度定位。第五,在正确检测边缘的基础上,要考虑精确定位的问题。经典的边缘检测方法是构造对像素灰度级阶跃变化敏感的微分算子,如roberts梯度算子、Sobel梯度算子等,其边缘检测速度快,但得到的往往是断续的、不完整的结构信息,这类方法对噪声较为敏感,为了有效抑制噪声,一般都首先对原图像进行平滑,再进行边缘检测就能成功地检测到真正的边缘。 1.3 图像边缘处理的意义图像处理是自动化学科的一个分支,在工程技术领域有着广泛的应用。而边缘检测技术又是图形处理中的重要部分。数字图像的边缘检测是图像分割、目标区域的识

18、别、区域形状提取等图像分析领域十分重要的基础,图像理解和分析的第一步往往就是边缘检测,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。边缘检测对于物体的识别也是很重要的。主要有以下几个理由:首先,人眼通过追踪未知物体的轮廓而扫视一个未知的物体。其次,经验告诉我们:如果我们能成功地得到图像的边缘,那么图像分析就会大大简化,图像识别就会容易得多。最后,很多图像并没有具体的物体,对这些图像的理解取决于它们的纹理性质,而提取这些纹理性质与边缘检测有极其密切的关系。生活中,有的时候我们的眼睛会欺骗我们,使我们并不能够很好的识别出一个物体的边缘。比如一些二维的图片我们看起来总

19、是像是立体的。在工程中检测芯片针脚是否规则整齐、光栅是否存在缺陷等等问题。都需要用到边缘处理技术来解决。而随着计算机视觉、机器视觉等相关领域的发展,图像处理发展的非常迅速。计算机视觉处理可以看作是为了实现某一任务从包含有大量的不相关的变量中抽取不变量,总之就是简化信息。这就意味着要扔掉一些不必要的信息而尽可能利用物体的不变性质。而边缘就是最重要的不变性质:光线的变化显著地影响了一个区域的外观,但是不会改变它的边缘。边缘检测作为图像处理的一个重要问题一直备受人们关注。边缘检测的有关问题牵扯到图像处理和模式识别中非常多的理论和算法,数学和图像处理中几乎所有观念和想法都有人应用在边缘检测中。存在着非

20、常多的“边缘检测”算法,它们使用了众多不同的理论。而且有着十分广泛的应用。所以很有必要去研究边缘检测技术。1.4 本章小结本章介绍了什么是数字图像,什么数字图像处理。并详细的介绍了图像边缘处理的应用及其意义。那如何才能将这些理论变成现实呢?下一章将介绍实现边缘处理的软件平台。第二章 软件选择2.1 软件平台选择现在可用于图像处理编程的软件有很多。基本上主流的编程工具软件都可以。但对于我们大学生来说要在很短的时间内将图像处理程序给编写出来的话用那些专业的编程软件是比较困难的。因为要浪费大量的时间在基础代码上,而不能花足够的时间在算法的研究上。所以应选一编程效率较高的编程软件来完成本次的课题。Ma

21、tlab图像处理程序开发的特点是上手容易,开发周期短,见效快。和VB,VC等专业级编程工具相比,在Matlab平台上开发图像处理软件程序代码编写量明显较小。这是因为Matlab有专门的图像处理工具箱,有很多实现某种图像处理功能的函数,而专业级的编程工具并没有专门为图像处理而编写的函数,很多图像处理函数需要开发者自己编写。因此为了完成一般的图像处理工作采用Matlab编程是非常适合的。但是凡事有利有弊,由于Matlab是解释执行语言。解释执行的程序执行的速度较慢,效率比C语言等高级程序要低,而且不能脱离Matlab环境运行。如果你用Matlab写了几个功能强大的图像处理程序就觉得自己可以进行商业

22、软件开发的话,问题就来了,由于你的程序是基于Matlab图像处理工具箱函数的,因此你的图像处理程序不能脱离Matlab平台。使用Matlab进行图像处理程序开发是典型的先甜后苦。当然如果不考虑商业化,只是自己做做研究,自己使用的话就不存在这些问题了。与图像处理相关的一些C语言程序,无论从数量和易用性来说都比不上Matlab的图像处理的软件。因此,本次设计的软件平台选Matlab。2.2 Matlab简介Matlab 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括Matlab和Simulink两大部分。Mat

23、lab是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数

24、学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到Matlab函数库中方便自己以后调用,此外许多的Matlab爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。Matlab不仅仅是一门编程的语言,还是一个集成的软件平台,它包含以下几个主要的部分:1. Matlab语言2. Matlab集成工作环境3. Matlab图形系统4. Matlab数学函数库5. Sumlink交互式仿真环境6. Matlab编译器7. 应用程序接口API8. Matlab工具箱9. Notebook工具本文主要用到的是Matlab的图

25、像处理功能。图形处理功能Matlab自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。Matlab图形处理研究的主要问题有:l 图像变换:通过图像的变换,改变图像的表示域以及表示数据。l 图像增强:改善图像的质量。l 图像分析:为了更好的研究与分析图像,往往需要从图像中提取一些信息来反应图像的主要特性。l 图像压缩:便于图像的传输和存储。本课题主要是用到图像分析中的图像边缘检测功能。 2.3 本章小结 本章先说明了为什么选择Matlab作为本课题的软件平台,然后简略的介绍了Matlab图像处理。下一章将介绍一些常用的边缘检测算子的原理及其在Ma

26、tlab平台中的实现。第三章 图像边缘处理算法3.1 边缘检测算子经典的边缘提取的方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数的变化规律,用简单的方法检测边缘,这种方法称为边缘检测局部算子法。边缘检测的基本思想是通过检测每个像元和其邻域的状态,以决定该像元是否位于一个物体的边界上。如果每个像元都位于一个物体的边界上,则其邻域像元的灰度变化值的变化就比较大。假如可以用某种算法检测出这种变化并进行量化表示,那么就可以确定物体的边界。常用的边缘检测算子主要有:罗伯特(Roberts)边缘算子,索贝尔(Sobel)边缘算子,Prewitt边缘算子,拉普拉斯(Lapla

27、cian)边缘算子,高斯-拉普拉斯(Laplacian of Gaussian)边缘算子和坎尼(Canny)边缘算子。3.1.1 罗伯特(Roberts)边缘算子罗伯特(Roberts)边缘算子是一种斜向偏差分的梯度计算方法,梯度的大小代表边缘的强度,梯度的方向与边缘的方向垂直。该算子通常由公式(3-1)表示: (3-1)式中是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的过程,罗伯特(Roberts)操作实际上求旋转两个方向上微分值的和。罗伯特(Roberts)边缘算子定位精度高,在水平和垂直方向的效果较好,但对噪声敏感。3.1.2 索贝尔(Sobel)边缘算子索

28、贝尔(Sobel)边缘算子是一组方向算子,从不同的方向检测边缘。索贝(Sobel)边缘算子不是简单求平均再差分,而是加强了中心像素上下左右四方向像素的权重,运算结果是一幅边缘图像。该算子通常由公式(3-2)表示: (3-2)式中,分别表示x方向和y方向的一阶微分,为Sobel算子的梯度,是具有整数像素坐标的输入图像。求出梯度后,可设定一个常数T,当T时,标出该点为边界点,其像素值设定为0,其他的设定为255,适当调整常数T的大小来达到最佳的效果。索贝尔(Sobel)边缘算子通常对灰度渐变和噪声较多的图像处理的较好。3.1.3 Prewitt边缘算子Prewitt边缘算子是一种边缘样板算子,利用

29、像素点上下,左右邻点灰度差,在边缘处达到极值检测边缘,对噪声具有平滑的作用。由于边缘点像素的灰度值与其邻域点像素的灰度值有显著的不同,在实际应用中通常采用微分算子和模板匹配方法检测图像的边缘。该算子通常由公式(3-3)表示: (3-3)式中,分别表示x方向和y方向的一阶微分,为Prewitt算子的梯度,是具有整数像素坐标的输入图像。求出梯度后,可设定一个常数T,当T时,标出该点为边界点,其像素值设定为0,其他的设定为255,适当调整常数T的大小来达到最佳的效果。Prewitt算子不仅能检测边缘点,而且能抑制噪声的影响,因此对灰度渐变和噪声较多的图像处理的较好。前面都是利用边缘处的梯度最大这一性

30、质来进行边缘检测的,即利用了灰度图像的拐点位置是边缘的性质。除了这一点,边缘还有另外一个性质,即在拐点处的二阶导数为零,二阶导数为零交叉点处对应的即是图像的拐点。因此也可以通过寻找二阶导数的零交叉点来寻找边缘。而Laplacian算子是最常用的二阶导数算子。3.1.4 拉普拉斯(Laplacian)边缘算子拉普拉斯(Laplacian)边缘算子是一个二阶导数算子,而前面提到的三种算子均为一阶导数算子。该算子是一个与方向无关的各向同性(旋转轴对称)边缘检测算子。若只关心边缘点的位置而不顾其周围的实际灰度差时,一般选择该算子进行检测。该算子通常由公式(3-4)表示: (3-4)式中表示数字图像中每

31、个像素关于x轴和y轴的二阶偏导数之和,即处理后的像素(x,y)处的灰度值是具有整数像素坐标的输入图像。由于拉普拉斯(Laplacian)边缘算子为二阶差分,其方向信息丢失,产生双像素,对噪声有双倍加强的作用,因此很少直接用于边缘检测。鉴于此,Marr和Hildreth将高斯滤波和拉普拉斯(Laplacian)边缘检测结合在一起,形成了LoG(Laplacian of Gaussian)算子,即高斯-拉普拉斯算子,也常称为马尔(Marr-Hildreth)算子。该算子先用高斯算子对图像进行平滑处理,然后采用拉普拉斯算子根据二阶微分过零点来检测图像的边缘。高斯-拉普拉斯算子通常具有公式(3-5)的

32、形式: (3-5)式中,是方差,r是离原点的径向距离,即,x,y分别为图像的横坐标和纵坐标。高斯-拉普拉斯算子是两种算子的结合,既具备高斯算子的平滑特点又具备拉普拉斯算子锐化的特点。平滑和锐化,积分和微分是一个矛盾的两个侧面,但统一起来之后就变成了最佳的因子。因为图像中往往包含噪声,平滑和积分能够滤掉这些噪声,消除噪声后再进行边缘检测(锐化和微分)会得到较好的效果。3.1.5 坎尼(Canny)边缘算子坎尼算子是一类最优的边缘算子,它在许多图像邻域都得到了广泛的应用。该算子的基本思想是:先对处理的图像选择一定的高斯滤波器进行平滑滤波,抑制图像的噪声;然后采用一种称之为“非极值抑制”(Nonma

33、xima Suppression) 的技术,细化平滑后的图像梯度幅值矩阵,寻找图像中的可能的边缘点,最后利用双门限检测通过双阈值递归寻找图像的边缘点,实现边缘提取。Canny方法也使用拉普拉斯算子,该方法与其他边缘检测方法不同之处在于,它使用2种不同的阈值分别检测强边缘和弱边缘,并且仅当弱边缘与强边缘相连时才将弱边缘包含在输出图像中,因此这种方法容易检查出真正的弱边缘。具体的数学描述如下:首先,取二维高斯函数: (3-6)然后,求高斯函数G(x,y) 在某一方向n上的一阶方向导数为: (3-7)式中:n为方向矢量;为梯度矢量。Canny算子是建立在二维卷积基础上,边缘强度由和方向来决定。为了提

34、高Canny算子的运算速度,将的二维卷积模板分解为两个一维滤波器,得: (3-8)式中: (3-9)可见: (3-10)然后将这两个模板分别与图像f(x,y)进行卷积,得到: (3-11)令: (3-12)式中:A(i,j)反映了图像上(i,j)点处的边缘强度;为垂边缘的方向。在边缘检测中,边缘定位能力和噪声抑制能力是一对矛盾体,有的算法边缘定位能力比较强,有的抗噪声能力比较好。边缘检测算子参数的选择也直接影响到边缘定位能力和噪声抑制能力,每种算子都有各自的优缺点:1)Roberts算子。Roberts算子利用局部差分算子寻找边缘,边缘定位精度较高,但容易丢失一部分边缘,同时由于图像没有经过平

35、滑处理,因此不具备抑制噪声的能力。该算子对具有陡峭边缘且含噪声少的图像效果较好。2)Sobel算子和Prewitt算子。这两个算子都是先对图像进行加权平滑处理,然后再做微分运算,所不同的是加权处理是的权值有些不同而已,因此Sobel算子和Prewitt算子对噪声有一定的抑制能力,但不能完全排除检测结果中出现的虚假的边缘。虽然这两个算子的边缘定位效果不错,但检测出的边缘容易出现多像素宽度。3)拉普拉斯算子。该算子是不依赖于边缘方向的二阶微分算子,对图像中的阶跃型边缘点定位准确,该算子对噪声是十分的敏感,它使噪声成分得到加强,这两个特性使得该算子容易丢失一部分边缘的方向信息,造成一些不连续的检测边

36、缘,同时抗噪声能力比较差。4)Log算子。为了克服拉普拉斯算子的抗噪声能力比较差的缺点,该算子首先用高斯函数对图像进行平滑滤波处理,然后才使用拉普拉斯算子检测边缘。但在抑制噪声的同时也可能将原有的比较尖锐的边缘也给平滑掉了。造成这些尖锐的边缘无法被检测到。应用Log算子时,高斯函数中的方差参数的选择很是关键,这对图像边缘检测效果有很大的影响。高斯滤波器为低通滤波器,越大,通频带越窄,对较高频率噪声的抑制作用越大,避免了虚假边缘的检出,但同时信号的边缘也被平滑了,造成某些边缘点的丢失。反之,越小,通频带越宽,可以检测到图像的更高频率的细节,但对噪声的抑制能力也随之下降,容易出现虚假的边缘。因此,

37、在应用Log算子时,为取得更佳的效果应该对不同图像选择不同的参数。 5)Canny算子。该算子虽然是基于最优化思想推出的边缘检测算子,但实际效果并不一定最优,原因在于理论和实际有许多不一致的地方。该算子同样采用高斯函数对图像进行平滑处理,因此具有较强的抑制噪声能力;同样该算子也会将一些高频边缘平滑掉,造成边缘丢失。Canny算子之后采用了双阈值算法检测和连接边缘,它采用的多尺度检测和方向性搜索较Log算子要好。上面介绍的只是边缘检测比较有代表性的算法。而且单纯的从数学的角度来讲述的,下面介绍各种算法在Matlab中的实现。3.2 各种算法的Matlab实现Matlab图像处理工具箱提供的edg

38、e函数可实现边缘检测的功能。ede函数的用法如下所示 : edge功能:识别强度图像中的边界。语法:BW = edge(I,sobel)BW = edge(I,sobel,thresh)BW = edge(I,sobel,thresh,direction)BW,thresh = edge(I,sobel,.)BW = edge(I,prewitt)BW = edge(I,prewitt,thresh)BW = edge(I,prewitt,thresh,direction)BW,thresh = edge(I,prewitt,.)BW = edge(I,roberts)BW = edge(I,

39、roberts,thresh)BW,thresh = edge(I,roberts,.)BW = edge(I,log)BW = edge(I,log,thresh)BW = edge(I,log,thresh,sigma)BW,threshold = edge(I,log,.)BW = edge(I,zerocross,thresh,h)BW,thresh = edge(I,zerocross,.)BW = edge(I,canny)BW = edge(I,canny,thresh)BW = edge(I,canny,thresh,sigma)BW,threshold = edge(I,ca

40、nny,.)上面刚介绍边缘检测在Matlab中的基本调用格式,现在举个例子来说明什么是边缘检测。I = imread(rice.tif);BW1 = edge(I,prewitt);BW2 = edge(I,canny);imshow(BW1);figure, imshow(BW2)图3-1 Canny与prewitt算子图片边缘检测下面的程序分别使用上述4中算子进行图像边缘检测。例 使用上述边缘检测方法检测图像边缘,包括检测算子:a)Prewitt; b)Roberts; c)Laplacian of Gaussian(LoG); d)Canny。f=imread(peppers.png);

41、 % 读入图像f=rgb2gray(f); % 将彩色图像转换为灰度图像f=im2double(f); % 转换为双精度,便于后面的计算figure, imshow(f),title(Original Image), PF=edge(f,prewitt); % 边缘探测,算子为prewittfigure,imshow(PF),title(Prewitt Filter); RF=edge(f,roberts); % 边缘探测,算子为robertsfigure,imshow(RF),title(Roberts Filter); LF=edge(f,log); % 边缘探测,算子为logfigure

42、,imshow(LF),title(Laplacian of Gaussian (LoG) Filter); CF=edge(f,canny); % 边缘探测,算子为cannyfigure,imshow(CF),title(Canny Filter); 运行上述程序之后就可得到图3-2,图3-3,图3-4,图3-5,图3-6。图3-2 原始图像的灰度图像图3-3 Prewitt算子图像边缘检测 图3-4 Roberts算子图像边缘检测 图3-5 Log算子图像边缘检测 图3-6 Canny算子图像边缘检测 运行结果如上图所示,比较4种算子检测的边缘图像可以看出,Log和Canny算子生成的边缘

43、线较多,图像较为复杂;而Prewitt和Roberts算子生成的边缘线较少,图像较为简单。3.3本章小结 本章详细的介绍了几种常用的边缘检测算子的原理及其优缺点。并且介绍了各种算法在Matlab平台中的实现。但都是单纯的从理论上介绍的,缺乏直观性。让人很难真正的理解何为边缘检测。下面一章将用大量的边缘处理的图片来说明个算子的优缺点。并用可视化界面呈现出来。第四章 图像边缘处理的实现4.1算法之间的比较4.1.1算子的定位性上一章我们只是简单的比较了一下几种算法的区别。在本章中我们将详细的对这几种算法进行比较。为了能更好的说明各算法之间的区别,特选取四张复杂度不同的图片。在Matlab中输入如下

44、的程序:f=imread(D:m1.jpg); % 读入图像f=rgb2gray(f); % 将彩色图像转换为灰度图像f=im2double(f); % 转换为双精度,便于后面的计算subplot(231), imshow(f),title(Original Image), PF=edge(f,prewitt); % 边缘探测,算子为prewittsubplot(232),imshow(PF),title(Prewitt Filter); RF=edge(f,roberts); % 边缘探测,算子为roberts subplot(233),imshow(RF),title(Roberts Fi

45、lter); LF=edge(f,log); % 边缘探测,算子为log subplot(234),imshow(LF),title(Laplacian of Gaussian (LoG) Filter); CF=edge(f,canny); % 边缘探测,算子为cannysubplot(235),imshow(CF),title(Canny Filter); MF=edge(f,sobel); % 边缘探测,算子为sobelsubplot(236),imshow(MF),title(Sobel Filter);由于第一张图片过于简单,将六张图片放在一个界面里的话则不能较好的观察与对比边缘检测

46、的效果故将六张图放在六个界面里面。只需将上述程序中的subplot(2,3,*)替换为figure即可。运行后得出的结果如下:图4-1-1 原始图片图4-1-2 prewitt算子图像边缘检测图4-1-3 Roberts算子图像边缘检测图4-1-4 Log算子图像边缘检测图4-1-5 Canny算子图像边缘检测图4-1-6 Sobel算子图像边缘检测将f=imread(D:m1.jpg)中的1换成2并运行便可得到图4-2图4-2 2图原图与各个算子图像边缘检测将f=imread(D:m1.jpg)中的1换成3并运行便可得到图4-3图4-3 3图原图与各个算子图像边缘检测将f=imread(D:m1.jpg)中的1换成4并运行便可得到图4-4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号