为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

图像处理中的边缘提取算法及实现

2017-10-16 47页 doc 457KB 53阅读

用户头像

is_633808

暂无简介

举报
图像处理中的边缘提取算法及实现图像处理中的边缘提取算法及实现 题 目: 图像处理中的边缘提取算 法及其实现 院(系): 专业年级: 姓 名: 张大威 学 号: 指导教师: 2012年4月1日 原 创 性 声 明 本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。...
图像处理中的边缘提取算法及实现
图像处理中的边缘提取算法及实现 题 目: 图像处理中的边缘提取算 法及其实现 院(系): 专业年级: 姓 名: 张大威 学 号: 指导教师: 2012年4月1日 原 创 性 声 明 本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名: 日 期: 关于毕业论文使用授权的声明 本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、手稿等),知识产权归属XXX。本人完全了解XXX有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权XXX可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为XXX。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为XXX。 论文作者签名: 日 期: 指导老师签名: 日 期: XXX本科毕业设计 图像处理中的边缘提取算法及实现 摘 要 数字图像边缘检测是图像分割、目标区域识别和区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特征的一个重要方法。边缘中包含图像物体有价值的边界信息,这些信息可以用于图像理解和分析,并且通过边缘检测可以降低后续图像分析和处理的数据量。 本文主要阐述基于Matlab的图像边缘检测技术。以Matlab为开发平台和编程语言,设计出图像边缘检测软件,并且设计了图形用户界面GUIDE,在图形用户界面中添加了与各种算子相对应的处理程序,以及图形文件的获取、保存等功能,完成了图像边缘检测软件。最终图形界面可实现打开图片并对其进行边缘处理,并可以将处理好的图片保存。全文内容安排组织如下:第一章,对图像边缘处理的意义进行了概述;第二章,对软件平台的选择及其特点做了简要的介绍;第三章,叙述了几种常用的边缘检测算子的原理;第四章,通过实例分析了各种算子的定位性以及稳定性;第五章,借助Matlab中的GUI功能设计了图像边缘检测的图形用户界面,并在GUI界面中完成了对各种算子的调用,完成了基于MATLAB的图形化图像边缘检测软件;第六章,对已经完成的图像检测软件进行测试。 本文写作的主要目的是对常用的图像边缘提取算法进行研究和对比,了解常用边缘提取算法的原理及其特点,为以后深入学习图像分析领域的其它知识打下基础。 关键词:图像边缘处理,MATLAB,GUI,Log算子,Canny算子 图像处理中的边缘提取算法及实现 Edge extraction algorithm in image processing and its implementation Abstract Digital image edge detection plays an import part in image analysis, such as image segmentation, interested region recognition and region shape extraction.And it’s an import method in image feature extraction of image recognition.The edge includes the valuable infotmation of the image which can be use in image understanding and analysis.And through edge detection,we can reduce the calculation of image analysis and processing in the following step. This article discusses the Matlab-based image edge detection .Discussed in Matlab as the development platform and programming language, designed edge detection software , the design of the graphical user interface GUIDE , combining the portrait maps ,text maps, fractal images to illustrate the positioning of these operators; combined increase 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 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 in this paper .The third chapter introduces some common principle of marginal operator. The fourth chapter, by example, analysis of the various algorithms’s relocatability and stability; The fifth chapter, resort to GUI inside Matlab, design the image edge detection interface, and completion of the various algorithm is invoked by GUI, eventually completed the graphical edge detection software based on Matlab; The sixth chapter, testing the finished software of image edge detection. the main purpose of writing is that studying of the commonly used In this paper, edge extraction algorithm, understand principle of edge extraction algorithm and whose characteristic. To studying image analysis field of other knowledge to lay the foundation. Keywords: Edge Treatment , MATLAB, GUI, Log operator, Canny operator XXX本科毕业设计 目 录 第一章 绪论 ------------------------------------------------------------------ 1 1.1 数字图像简介 -------------------------------------------------------------------------------------- 1 1.2 数字图像的处理 ----------------------------------------------------------------------------------- 2 1.3 图像边缘处理的意义 ----------------------------------------------------------------------------- 3 1.4 本章 -------------------------------------------------------------------------------------------- 3 第二章 开发平台的选择 -------------------------------------------------------- 4 2.1 开发平台的选择 ----------------------------------------------------------------------------------- 4 2.2 Matlab简介 ----------------------------------------------------------------------------------------- 4 2.3 本章小结 -------------------------------------------------------------------------------------------- 5 第三章 常用的图像边缘检测算法------------------------------------------------- 6 3.1 引言-------------------------------------------------------------------------------------------------- 6 3.2 边缘检测与提取过程 ----------------------------------------------------------------------------- 7 3.3 边缘检测与提取常用算法 ----------------------------------------------------------------------- 8 3.3.1 Roberts边缘算子 ------------------------------------------------------------------------ 8 3.3.2 Sobel边缘算子 -------------------------------------------------------------------------- 9 3.3.3 Prewitt边缘算子 ----------------------------------------------------------------------- 9 3.3.4 Log边缘算子 --------------------------------------------------------------------------- 10 3.3.5 Canny边缘算子 ------------------------------------------------------------------------ 11 3.4 本章小结 ------------------------------------------------------------------------------------------ 13 第四章 常用算法的实现与比较 ------------------------------------------------- 14 4.1 常用算法的Matlab实现 ----------------------------------------------------------------------- 14 4.2 算子之间的比较 --------------------------------------------------------------------------------- 18 4.1.1 算子的定位性 ---------------------------------------------------------------------------- 18 4.1.2 算子的稳定性 ---------------------------------------------------------------------------- 19 4.3 本章小结 ------------------------------------------------------------------------------------------ 22 第五章 图像边缘提取的GUI设计------------------------------------------------ 23 5.1 主要函数的介绍 --------------------------------------------------------------------------------- 23 5.2 GUI的实现 --------------------------------------------------------------------------------------- 24 5.3 本章小结 ------------------------------------------------------------------------------------------ 30 第六章 系统测试 ------------------------------------------------------------- 31 6.1 打开图像模块测试 ------------------------------------------------------------------------------ 31 6.2 保存图像模块 ------------------------------------------------------------------------------------ 31 6.3 执行模块测试 ------------------------------------------------------------------------------------ 31 6.4 本章小结 ------------------------------------------------------------------------------------------ 32 结论 ------------------------------------------------------------------------ 33 参考文献 -------------------------------------------------------------------- 34 致谢 ------------------------------------------------------------------------ 35 XXX本科毕业设计 第一章 绪论 在实际图像边缘检测问题中,图像的边缘作为图像的一种基本特征,经常被应用到较高层次的图像应用中,它在图像识别、图像分割、图像增强以及图像压缩等领域中有较为广泛的应用。 图像的边缘是图像最基本的特征之一。边缘往往携带着一幅图像的大部分信息,它存在于图像的不规则结构和不平稳现象中,即存在于信号的突变点处。这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。边缘检测算法是图像边缘检测问题中经典技术难题之一,它的解决对于我们进行高层 [1]次的特征描述、识别和理解等有着重大的影响。由于边缘检测在许多方面都有着非常重要的使用价值,所以人们一直在致力于研究和解决如何构造出具有良好性质及效果的边缘检测算子的问题。 1.1 数字图像简介 在我们的生活中,可以说,数字图像无处不在,每个人都是满身的数字装备,MP3、MP4、PSP、PPC、手机、数码相机、笔记本电脑,这些设备的使用都离不开对数字图像的支持。 从广义上来说,图像是自然界景物的客观反映,是人类认识世界和自身的重 [1]要源泉。照片、绘画、影视画面无疑属于图像,照相机、显微镜或望远镜的取景器上的光学成像也是图像,此外,汉字也可以说是图像的一种,因为汉字起源于象形文字,所以可以当作是一种特殊的图像。图像也可以理解为介于文字和绘图之间的一种形式。总之,凡是人类视觉上能够感受到的信息,都可以称之为图像。 随着计算机技术的发展,人们可以人为地创造出色彩斑斓千姿百态的各种图像。概括的讲,图像包含视频、图形、动画、符号文字等主要内容。 1 图像处理中的边缘提取算法及实现 1.2 数字图像的处理 一幅图像可以定义为一个二维函数f (x , y),这里的x和y是空间坐标,而且在任何一对空间坐标(x , y)上的幅值f被称为该点图像的强度或灰度。当x,y [2]和幅值f为有限离散的数值时,称该图像为数字图像。数字图像的处理是指用计算机处理数字图像,值得提及的是数字图像是由有限的元素组成的,每个元素 称为图像元素、画面元素或像素。 都有一个特定的位置和幅值,这些元素被 视觉是人类最高级的感知器官,所以,毫无疑问,图像在人类感知中扮演着非常重要的角色。然而,人类感知只是限于电磁波谱的视觉波段,而成像机器则可覆盖几乎全部电磁波谱,他们可以对那些非人类习惯的那些图像源进行加工,这些图像源包括超声波、电子显微镜及计算机所产生的图像。因此,数字图像处理涉及很多应用领域。 图像处理和分析可定义为应用一系列方法获取、校正、增强、变换或压缩可视图像的技术,其目的是提高信息的相对质量以便获取信息。 现在已经有很多的图像生成技术,但是,除了图像恢复技术以外,图像处理技术在很大程度上与图像形成的过程无关。当图像已被采集且已对获取过程中产生的失真进行了校正,那么所有可用图像处理技术在本质上是通用的。因此图像处理是一种超越具体应用的过程:任何为解决某一特殊问题而开发的图像处理新技术或新方法,几乎肯定能找到其他完全不同的应用领域。 图像处理技术分为:灰度量化、图像恢复、图像增强、边缘检测、图像分割、图像测量、图像压缩、图像配准、可视化、图像存档。本文着重讨论图像边缘检测的问题。 边缘是图像最基本的特征,所谓边缘,就指周围灰度强度有反差变化的那些像素的集合,是图像分割所依赖的重要基础,也是纹理分析和图像识别的重要基础。 要做好边缘检测,首先,要清楚待检测的图像特征变化的形式,从而使用相应的检测方法;其次,要知道特性变化总是发生在一定的空间范围内,不能期望用一种检测算子就能最佳检测出发生在图像上的所有特征变化。当需要提取多空间范围内的变化特征时,要考虑多算子的综合应用;第三,要考虑噪声的影响, 2 XXX本科毕业设计 其中一个办法就是滤除噪声,这有一定的局限性,再就是考虑信号加噪声的条件检测,利用统计信号分析或通过对图像区域的建模进一步使检测参数化;第四,可以考虑各种方法的组合,如先利用LOG找出边缘,然后在其局部利用函数近似的方法获得高精度定位;第五,在正确检测边缘的基础上,要考虑精确定位的为题。经典的边缘检测方法是构造对像素灰度级阶跃变化敏感的微分算子,如Roberts梯度算子、Sobel梯度算子等,其边缘检测速度快,但得到的往往是断续的、不完整的结构信息,这类方法对噪声较为敏感,为了有效抑制噪声,一般都首先对原图像进行平滑处理然后再进行边缘检测,就能成功的检测到真正的边缘。 1.3 图像边缘处理的意义 图像处理是自动化学科的一个分支,在工程技术领域有着广泛的应用,而边缘检测技术又是图形处理中的重要部分。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础,图像理解和分析的第一步往往就是边缘检测,目前它已经成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。 边缘检测对物体的识别也是很重要的,主要有以下几个理由:首先,人眼通过追踪未知物体的轮廓而扫视一个未知的物体;其次,如果我们能成功的得到图像的边缘,那么图像分析就会大大简化,图像识别就会容易的多;最后,很多图像并没有具体的物体,对这些图像的理解取决于它们的纹理性质,而提取这些纹理性质与边缘检测有极其密切的关系。 1.4 本章小结 本章介绍了什么是数字图像,什么是数字图像处理,在此基础上详细的介绍了图像边缘处理的应用及其意义,下一章将介绍实现图像边缘处理的软件开发平台的选择。 3 图像处理中的边缘提取算法及实现 第二章 开发平台的选择 2.1 开发平台的选择 现在可用于图像处理编程的软件有很多,基本上主流的编程工具软件都可以,但对于我们要完成毕业设计的大学生而言,要在很短的时间内将图像处理程序给编写出来的话,用那些专业的编程软件是比较困难的。因为要浪费大量的时间在基础代码上,而不能花足够的时间在算法的研究上。所以应选一款编程效率较高的编程软件来完成本次的设计课题。 Matlab图像处理程序开发的特点是上手容易,开发周期短,见效快,和VB、VC等专业级编程工具相比,在Matlab平台上开发图像处理软件程序代码编写量 [3]明显较小。这是因为Matlab有专门的图像处理工具箱,有很多实现某种图像处理功能的函数,而专业级的编程工具并没有专门为图像处理而编写的函数,很多图像处理函数需要开发者自己编写。因此,图像处理工作采用Matlab编程是非常合适的。 2.2 Matlab简介 Matlab是美国MathWorks公司出品的商业化数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级计算语言和交互式环境,主要包括Matlab和Simulink两大部分。 Matlab是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple [4]并称为三大数学软件。它在数学类科技应用软件中,在数值计算方面首屈一指。Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理于通讯、图像处理、信号检测、金融建模设计与分析等领域。 Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解决问题要比用C、FORTRAN等语言完成相同的事情 4 XXX本科毕业设计 简捷的多,并且Mathwork也吸收了像Maple等软件的优点,使Matlab成为一个强大的数学软件。 Matlab不仅仅是一门编程语言,还是一个集成的软件平台,它包含以下几个部分: 1. Matlab语言 2. Matlab集成工作环境 3. Matlab图形系统 4. Matlab数学函数库 5. Sumlink交互式仿真环境 6. Matlab编译器 7. 应用程序接口API 8. Matlab工具箱 9. Notebook工具 本文主要用到的是Matlab的图像处理功能。 Matlab图形处理研究的主要问题有: ?图像变换:通过图像的变换,改变图像的表示域以及表示数据。 ?图像增强:改善图像质量。 ?图像分析:为了更好的研究与分析图像,往往需要从图像中提取一些信息来反应图像的主要特征。 ?图像压缩:便于图像的传输和存储。 本文主要使用到图像分析中的图像边缘检测功能。 2.3 本章小结 本章先说明了为什么选择Matlab作为本课题的开发平台,简要的介绍了Matlab软件的特点及其功能,下一章将从数学的角度介绍常用的边缘检测算子的实现原理。 5 图像处理中的边缘提取算法及实现 第三章 常用的图像边缘检测算法 3.1 引言 物体的边缘是以图像局部的不连续性的形式出现的,例如,灰度值的突变、颜色的突变、纹理结构的突变等。从本质上说,边缘常常意味着一个区域的终结和另一个区域的开始。图像边缘信息在图像分布和人的视觉中都是十分重要的,是图像识别中提取图像特征的一个重要属性。 图像边缘检测和计算机视觉都是新兴学科分支,近几十年来,取得了许多重大的成果。随着研究的深入和应用的需要,新概念、新思想、新方法不断产生, [5]它们正朝着智能化、系统化的方向发展。作为图像边缘检测和计算机视觉最基本的技术——图像边缘提取技术,也突破了其狭义的概念,成为一个内容丰富的领域。本文写作的目的是探索和研究几种经典的图像边缘提取算法。 利用计算机进行图像边缘检测有两个目的:一是产生更适合人观察和识别的图像;二是希望能由计算机自动识别和理解图像。无论为了哪种目的,图像边缘检测中关键的一步就是对包含有大量信息的图像进行分解。图像的边缘是图像的最基本特征。所谓边缘(或边沿)是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间,因此,它是图像分割所依赖的重要特征。 在通常情况下,我们可以将信号中的奇异点和突变点认为是图像中的边缘点,其附近灰度的变化情况可从它相邻像素灰度分布的梯度来反映。根据这一特点,提出了多种边缘检测算子:如 Robert算子、Sobel 算子、Prewitt 算子、LoG 算子,Canny算子等。这些方法多是以待处理像素为中心的邻域作为进行灰度分析的基础,实现对图像边缘的提取并已经取得了较好的处理效果。 图像的边缘是待识别类型之间的界线,它是指图像中像素单元灰度有阶跃变 [6]化或屋顶状变化的那些像素单元的集合。边缘检测在图像分割、纹理特征提取、形状特征提取和图像识别等方面起着重要的作用。图像边缘对图像识别和计算机分析十分有用,边缘能勾划出目标物体,使观察者一目了然;边缘蕴含了丰富的 6 XXX本科毕业设计 内在信息,是图像识别中抽取图像特征的重要属性。从本质上说,图像边缘是图像局部特性不连续性的反应,它标志着一个区域的终结和另一个区域的开始。边缘提取首先检出图像局部特性的不连续性,然后再将这些不连续的边缘像素连成完备的边界。图像中灰度变化剧烈的区域即强度的非连续性对应着边缘。边缘提取就是既要检测出强度的非连续性,又能确定它们在图像中的精确位置。在图像中边缘区域的灰度在空间上的变化形式一般可分为三个类型:阶跃型、房顶型和凸缘型,如图3-1所示: 阶跃型 房顶型 突圆型 图3-1 三个类型 图2.1 边缘灰度变化 3.2 边缘检测与提取过程 从人的直观感受来说,边缘对应于物体的几何边界。图像上灰度变化剧烈的区域比较符合这个要求,我们一般会以这个特征来提取图像的边缘,但在遇到包含纹理的图像上,如,图像中的人穿了黑白格子的衣服,我们往往不希望提取出来的边缘包括衣服上的方格,这就又涉及到纹理图像的处理等方法。一般认为边缘提取是要保留图像的灰度变化剧烈的区域,这从数学上看,最直观的方法就是微分(对于数字图像来说就是差分),在信号处理的角度来看,也可以说是用高通滤波器,即保留高频信号。用于图像识别的边缘提取往往需要输出的边缘是二值图像,即只有黑白两个灰度的图像,其中一个灰度代表边缘,另一个代表背景。此外,还需要把边缘细化成只有一个像素的宽度。 图像边缘检测的基本步骤: 1)滤波:边缘检测主要基于导数计算,会受到噪声的影响,可以通过设计滤波器来降低噪声,但滤波器在降低噪声的同时也会导致边缘精度的损失。 7 图像处理中的边缘提取算法及实现 2)增强:增强算法将邻域中灰度有显著变化的点突出显示。一般通过计算梯度幅值来完成。 3)检测:在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。 4)定位:精确确定边缘的位置。 特征提取作为图像边缘检测的一个重要内容,发展了众多的方法。这些方法经过实践的检验,成为了经典的内容。经典的边缘检测算子包括:Roberts算子、 [7]Prewitt算子、Sobel算子、Log算子、Canny算子等,这些经典的边缘提取算子在使用时都是使用预定义的边缘模型去匹配。 3.3 边缘检测与提取常用算法 边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线,也就是提取图像中灰度发生急剧变化区域的边界。图像灰度的变化情况可以用图像 可以用局部图像微分技术来获得边缘检测算子。 灰度分布的梯度来反映,因此 经典的边界提取技术大都基于微分运算,首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。 3.3.1 Roberts边缘算子 Roberts算子是一种利用局部差分算子寻找边缘的算子,由下式给出: 1222g(x,y)={[-]+[- ]} f(x,y)f(x,1,y,1)f(x,y)f(x,1,y,1) 其中f(x,y)是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的过程。 Roberts算子边缘定位精确度比较高,但是对噪声敏感,容易丢失一部分边缘,因此,该算子适用于边缘明显而且噪声较少的图像检测,在应用中经常用Roberts算子来提取道路。 8 XXX本科毕业设计 3.3.2 Sobel边缘算子 Sobel边缘算子的卷积核如图3-2所示,图像中的每个像素都用这两个核做卷积,这两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。 -1 -2 -1 -1 0 1 0 0 0 -2 0 2 1 2 1 -1 0 1 图3-2 Sobel边缘算子 Sobel算子认为邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。该算子对噪声具有一定的抑制能力,但不能完全排除检测结果中出现虚假边缘,虽然该算子的定位效果不错,但检测的边缘容易出现多像素宽度。 3.3.3 Prewitt边缘算子 Prewitt边缘算子的卷积核如图3-3所示,图像中的每个像素都用这两个核做卷积,取最大值作为输出,从而产生一幅边缘幅度图像。 -1 -1 -1 1 0 -1 0 0 0 1 0 -1 1 1 1 1 0 -1 图3-3 Prewitt边缘算子 Prewitt算子在一个方向求微分,而在另一个方向求平均,因而对噪声相对不敏感,有抑制噪声作用,但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。 9 图像处理中的边缘提取算法及实现 3.3.4 Log边缘算子 由于利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以要在边缘检测前滤除噪声,为此,马尔(Marr)和希尔得勒斯(Hildreth)根据人类视觉特性提出了一种边缘检测的方法,该方法将高斯滤波和拉普拉斯检测算子结合在一起进行边缘检测的方法,故称为Log(Laplacian of Gassian )算法,也称之为高斯-拉普拉斯算子,该算法的主要思路和步骤如下: (1)滤波:首先对图像f(x,y)进行平滑滤波,其滤波函数根据人类视觉特性选为高斯函数,即: 11,,22 G(x,y),exp,(x,y),,22,,,,22,, 其中,G(x,y)是一个圆对称函数,其平滑的作用是可通过来控制的。,将图像与进行卷积,可以得到一个平滑的图像,即: G(x,y)f(x,y) g(x,y),f(x,y)*G(x,y) (2)增强:对平滑图像进行拉普拉斯运算,即: g(x,y) 2 ,,h(x,y),,f(x,y)*G(x,y) (3)检测:边缘检测判据是二阶导数的零交叉点(即 的点)并h(x,y),0对应一阶导数的较大峰值。 这种方法的特点是图像首先与高斯滤波器进行卷积,这样既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除,但是由于平滑会造成图像边缘的延伸,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点。这一点可以用二阶导数的零交叉点来实现。拉普拉斯函数用二维二阶导数的近似,是因为它是一种无方向算子。在实际应用中为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点。由于对平滑图像进行g(x,y)拉普拉斯运算可等效为的拉普拉斯运算与的卷积,故上式变为: G(x,y)f(x,y) 2 = h(x,y)f(x,y)*,G(x,y) 2式中称为LOG滤波器,其为: ,G(x,y) 2222,,1,G,G1,xy,,222,,expxy,,= + = ,, ,G(x,y),1,,2422,,2,x2,,,,2,y,,,, 10 XXX本科毕业设计 这样就有两种方法求图像边缘: ?先求图像与高斯滤波器的卷积,再求卷积的拉普拉斯的变换,然后再进行过零判断。 ?求高斯滤波器的拉普拉斯的变换,再求与图像的卷积,然后再进行过零判断。 这就是马尔和希尔得勒斯提出的边缘检测算子(简称M-H算子),又称为墨西哥草帽算子。 高斯--拉普拉斯算子把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平滑掉噪声,再进行边缘检测,所以效果更好。 3.3.5 Canny边缘算子 坎尼算子是一类最优的边缘算子,它在许多图像领域得到了广泛的应用。该算子的基本思想是:先对处理的图像选择一定的高斯滤波器进行平滑处理,抑制图像的噪声,然后采用一种称之为“非极值抑制”的技术,细化平滑后的图像梯度幅值矩阵,寻找图像中的可能的边缘点,最后利用双门限检测通过双阈值递归寻找图像的边缘点,实现边缘提取。 Canny方法也使用拉普拉斯算子,该方法与其他边缘检测方法不同之处在于,它使用2种不同的阈值分别检测强边缘和弱边缘,并且仅当弱边缘与强边缘相连时才将弱边缘包含在输出图像中,因此这种方法容易检查出真正的弱边缘。 Canny边缘检测算法: step1:用高斯滤波器平滑图象; step2:用一阶偏导的有限差分来计算梯度的幅值和方向; step3:对梯度幅值进行非极大值抑制; step4:用双阈值算法检测和连接边缘。 其数学描述如下: step1: 二维为高斯函数为: 22,,1,,,xy,,G(x,y)= exp,22,,2,,2,,, 11 图像处理中的边缘提取算法及实现 在某一方向n上是的一阶方向导数为: G(x,y) ,G== n? GGn,n ,,,G ,,,cos,,,x,,n= = ,G,,sin,,,,G,,,,,y,, 式中:n式方向矢量,?是梯度矢量。 G 将图像与作卷积,同时改变n的方向,*取得最大值时的f(x,y)GGf(x,y)nn n就是正交于检测边缘的方向。 step2: ,G,G = , =* *f(x,y)Ef(x,y)EyX,y,x 22,,EXE,E,,= A(x,y)Arctan,,,,XYEY,, 反映了图像(x,y)点处的边缘强度,是图像(x,y)点处的法向矢量。 A(x,y), step3: 仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。 解决方法:利用梯度的方向。 图3-6 非极大值抑制 四个扇区的标号为0到3,对应3*3邻域的四种可能组合。在每一点上,邻域的中心像素M与沿着梯度线的两个像素相比。如果M的梯度值不比沿梯度线的两个相邻像素梯度值大,则令M=0。 step4: 减少假边缘段数量的典型方法是对G(x,y)使用一个阈值。将低于阈值的所有值赋零值。理论上是可行的,问题是如何选取阈值。 解决方法:双阈值算法进行边缘判别和连接边缘。 首先进行边缘判别,凡是边缘强度大于高阈值的一定是边缘点;凡是边缘强 12 XXX本科毕业设计 度小于低阈值的一定不是边缘点;如果边缘强度大于低阈值又小于高阈值,则看这个像素的邻接像素中有没有超过高阈值的边缘点,如果有,它就是边缘点,如果没有,它就不是边缘点。 然后进行边缘连接,双阈值算法对非极大值抑制图像作用两个阈值τ1和τ2,且2τ1?τ2,从而可以得到两个阈值边缘图像G1(x,y)和G2(x,y)。由于G2(x,y)使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在G2(x,y)中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在G1(x,y)的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在G1(x,y)中收集边缘,直到将G1(x,y)连接起来为止。 以上介绍了五种常用边缘检测算子的实现步骤及其优缺点。由于在边缘检测中,边缘定位能力和噪声抑制能力是一对矛盾体,有的算法边缘定位能力比较强,有的抗噪声能力比较好,所以,在实际应用的过程中,要有针对性的选取算子对图像进行处理。 3.4 本章小结 本章介绍了边缘检测中五种比较有代表性的算法,从数学的角度讲述了各算子的实现步骤,下一章将介绍各种算法在Matlab中的实现。 13 图像处理中的边缘提取算法及实现 第四章 常用算法的实现与比较 近年来,图像分析和处理紧紧围绕理论、实现、应用三方面迅速发展起来。图像边缘识别与在实际中有很重要的应用,一直是图像边缘检测中的热点和难点,迄今已有许多边缘检测方法,其中Robert算子、Sobel 算子、Prewitt 算子、 及轮廓提取或轮廓跟踪、利用平滑技术提取图像边缘、利LOG算子、Canny算子 用差分技术提取图像边缘、利用小波分析技术提取图像边缘等方法是常用的方法,但各种算法处理结果差异很大。 因此,在这一章中,我们将用Matlab语言对常用的五种边缘检测与提取算子分别进行编程实现,查看并比较效果。 4.1 常用算法的Matlab实现 Matlab图像处理工具箱提供的edge函数可以实现边缘检测的功能。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 , ‘roberts’ , thresh) BW = edge(I , ‘roberts , ‘thresh’ , direction) [BW , thresh] = edge(I , ‘roberts’ ,„) BW = edge(I , ‘log’) BW = edge(I , ‘log’ , thresh) 14 XXX本科毕业设计 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 , threshshold] = edge(I , ‘canny’ ,„) 下面我们将使用上述的边缘检测算法实现以下检测算子:a) Prewitt; b) Roberts; c) Laplacian of Gaussian (LoG); d) Canny;e)Sobel 主要代码为: f = imread ('D:\SYSTEM\桌面\新建文件夹\30.jpg'); %读入图像 f = rgb2gray(f); %将彩色图像转换为灰度图像 f = im2double(f); %转换为双精度,便于后面的计算 figure, imshow(f),title('Original Image'); PF = edge(f, 'prewitt'); %边缘探测,算子为prewitt figure, imshow(PF),title('Prewitt Filter'); RF = edge(f, 'roberts'); %边缘探测,算子为roberts figure, imshow(RF),title('Roberts Filter'); LF = edge(f, 'log'); %边缘探测,算子为log figure, imshow(LF),title('Laplacian of Gaussian (LoG) Filter'); CF = edge(f, 'canny'); %边缘探测,算子为canny figure, imshow(CF),title('Canny Filter'); DF = edge(f, 'sobel'); %边缘探测,算子为roberts figure, imshow(DF),title('sobel Filter'); 运行结果如下六个图所示: 15 图像处理中的边缘提取算法及实现 图 4-1 原始图像的灰度图像 图 4-2 prewitt算子边缘检测图像 图 4-3 roberts算子边缘检测图像 16 XXX本科毕业设计 图 4-4 Log算子边缘检测图像 图 4-5 Canny算子边缘检测图像 图 4-6 Sobel算子边缘检测图像 17 图像处理中的边缘提取算法及实现 运行结果如上图所示,比较五种算子检测的边缘图像可以看出,Log和Canny 算子生成的边缘线较多,图像较为复杂;而Prewitt、Sobel和Roberts算子生成的 边缘线较少,图像较为简单。 4.2 算子之间的比较 4.1.1 算子的定位性 为了能更好的说明不同算法之间的区别,选取了一张图片进行测试,分别用 不同的算子对同一图片进行边缘提取。 在Matlab中输入如下的程序: f = imread('D:\SYSTEM\桌面\新建文件夹\30.jpg'); %读入图像 f = rgb2gray(f); %将彩色图像转换为灰度图像 f = im2double(f); %转换为双精度,便于后面的计算 subplot(231), imshow(f), title('Original Image'); PF = edge(f,'prewitt'); %边缘探测,算子为prewitt subplot(232), imshow(PF), title('Prewitt Filter'); RF = edge(f,'roberts'); %边缘探测,算子为roberts subplot(233), imshow(RF), title('Roberts Filter'); LF = edge(f,'log'); %边缘探测,算子为log subplot(234), imshow(LF), title('Laplacian of Gaussian of Gaussian (LoG) Filter'); CF = edge(f,'canny'); %边缘探测,算子为canny subplot(235), imshow(CF), title('Canny Filter'); MF = edge(f,'sobel'); %边缘探测,算子为sobel subplot(236), imshow(MF), title('Sobel Filter'); 运行后得出的结果如图4-7所示: 18 XXX本科毕业设计 图 4-7 原图与各算子的边缘检测图像 通过仔细的对比我们可以发现Log和Canny算子生成的边缘线较多,图像较为复杂,而Prewitt,Sobel和Roberts算子生成的边缘线较少,图像较为简单。 事实上,在工程中所需要处理的图像没有想象中的那么好,总是受到某些因素的影响。如光照、温度等等因素,所以,仅看一个算子的定位性的好坏是不够的。下面介绍下各算子的稳定性。 4.1.2 算子的稳定性 由于在工程应用中,所获取的图片总是会受到环境因素的影响。在这一节中将详细的分析各算子的稳定性。由于篇幅限制,只在图片中加入了椒盐噪声。 为了能够更好地看出这些算子的稳定性,特将未加入噪声的图片的边缘处理和加入噪声的边缘处理图片放在一个界面上。代码如下: f = imread('D:\SYSTEM\桌面\新建文件夹\30.jpg'); %读入图像 p = imnoise(f,'salt & pepper',0.02);%加入噪声密度D为0.02的椒盐噪声 f = rgb2gray(f); %将彩色图像转换为灰度图像 f = im2double(f); %转换为双精度,便于后面的计算 19 图像处理中的边缘提取算法及实现 subplot(1,2,1) , imshow(f); %显示原始图像 title('Original Filter'); %设置图像标题 p = rgb2gray(p); %将彩色图像转换为灰度图像 p = im2double(p); %转换为双精度,便于后面的计算 subplot(1,2,2) , imshow(p); %显示处理后的图像 title('Nose Filter'); %设置图像标题 运行后便得到4-8: 图 4-8 原图与加入椒盐噪声后的图像 f = imread('D:\SYSTEM\桌面\新建文件夹\30.jpg'); %读入图像 p = imnoise(f,'salt & pepper',0.02); %加入噪声密度D为0.02的椒盐噪声 f = rgb2gray(f); %将彩色图像转换为灰度图像 f = im2double(f); %转换为双精度,便于后面的计算 PP = edge(f, 'prewitt'); %边缘探测,算子为prewitt subplot(1,2,1) , imshow(PP); %显示原始图像 title('Prewitt Filter'); %设置图像标题 p = rgb2gray(p); %将彩色图像转换为灰度图像 p = im2double(p); %转换为双精度,便于后面的计算 PF = edge(p, 'prewitt'); %边缘探测,算子为prewitt subplot(1,2,2) , imshow(PF); %显示处理后的图 title('Prewitt Filter'); %设置图像标题 运行结果如图4-9所示: 20 XXX本科毕业设计 图 4-9 Prewitt算子边缘检测原图与加噪图 将上述程序中的PP=edge(f,’prewitt’)改为PP=edge(f,’sobel’),并将标题做相应的调整即可实现Sobel算子。保存并运行即可得到4-10所示的效果: 图 4-10 Sobel算子边缘检测原图与加噪图 将上述程序中的PP=edge(f,’prewitt’)改为PP=edge(f,’roberts’),并将标题做相应的调整即可实现Robert算子。保存并运行即可得到图4-11: 图 4-11 Roberts算子边缘检测原图与加噪图 将上述程序中的PP=edge(f,’prewitt’)改为PP=edge(f,’log’),并将标题做相应 21 图像处理中的边缘提取算法及实现 的调整即可实现LoG算子。保存并运行即可得到图4-12: 原图与加噪图 图 4-12 Log算子边缘检测 将上述程序中的PP=edge(f,’prewitt’)改为PP=edge(f,’canny’),并将标题做相应的调整即可实现Canny算子。保存并运行即可得到图4-13: 图 4-13 Canny算子边缘检测原图与加噪图 通过对以这五幅图片的仔细比较发现,加入了噪声之后,各种算子边缘检测的结果都受到了影响,其中,Roberts算子受噪声影响最为明显,Sobel算子和Prewitt算子对噪声具有较好的平滑作用,Canny和Log仍然能很准确的将原图像的边缘检测出来。 4.3 本章小结 本章详细的介绍了五种常用的边缘检测算子的原理及其优缺点,并且介绍了各种算法在Matlab平台中的实现,但都是单纯的从理论上介绍的,缺乏直观性,让人很难真正的理解何为边缘检测。下一章将把之前介绍过的五种常用边缘检测算子进行整理,并用可视化界面呈现出来。 22 XXX本科毕业设计 第五章 图像边缘提取的GUI设计 图形用户界面(Graphical User Interfaces , GUI)是指由窗口、光标、按键、 [8]菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等,最终的界面还需具备打开、保存和处理图像的功能。处理图像的各种算法在上一章中已经详细的介绍过了,本章主要介绍打开和保存功能的实现。 5.1 主要函数的介绍 要打开一个图片,需要用打开对话框。在界面编程中,打开对话框的函数是uigetfile。其基本格式为: [Filename,Pathname,FilterIndex] = uigetfile(FilterSpec,DialogTitle,DefaultName) Filename;返回的文件名 Pathname;返回文件的路径名 FilterIndex;选择文件类型 FilterSpec:文件类型设置 DialogTitle:打开对话框的标题 DefaultName:默认指向的文件名 例如: [Filename,Pathname] = uigetfile(‘*.jpg’,’select the M-file’); 保存图像时,需使用保存对话框,保存对话框使用uiputfile函数。其基本格式如下: [Filename,Pathname,FilterIndex] = uiputfile(FilterSpec,DialogTitle,DefaultName) Filename;返回的文件名 Pathname;返回文件的路径名 FilterIndex;选择文件类型 FilterSpec:文件类型设置 23 图像处理中的边缘提取算法及实现 DialogTitle:打开对话框的标题 DefaultName:默认指向的文件名 例如:[filename,pathname] = uigetfile(‘*.jpg’,’选择图片’); 以上是打开与保存函数的简介,下一节介绍GUI界面的形成。 5.2 GUI的实现 上面介绍了打开和保存函数,对这两个函数有一定的了解之后,就可以进行图像边缘检测在GUI中的实现。 打开Matlab,在命令窗口中输入guide,或者依次选择File—Open—GUI,则弹出如图5-1的对话框: 图5-1 GUI快速启动对话框 选择空(Blang GUI),点击OK,即可打开GUIDE的设计界面: 图 5-2 GUI界面 点击Axes键在右边的地方创建两个可视框,分别在两个框的上面创建“Edit 24 XXX本科毕业设计 Text”文本框,在两个可视框中间添加一个控件组,在控件组中添加五个按钮,在可视框下面添加四个控件,结果如图5-3所示: 图 5-3 GUI设计初始布局 分别选择控件,点击右键,选择“Property Inspector”,弹出属性修改对话框,对各控件的属性进行修改,属性框如图5-4所示: 图 5-4 属性查看器 常用的控件属性参数所代表的意义为: (1)string属性:用于显示在控件上的字符串,起说明或提示作用。 (2)callback属性:回调函数,与菜单的一样。 (3)enable属性:该控件有效与否:”on“表示有效,”off“表示无效。 (4)tooltipstring属性:当鼠标放在控件上时显示提示信息,为字符串。 (5)字体属性:包括fontname,fontsize等。 25 图像处理中的边缘提取算法及实现 (6)Tag属性:控件的标记,用于标识控件。 (7)Units取值可以是pixels (缺省值), normalized(相对单位), inches, centimeters或points(磅); 经修改后的结果为如图5-5所示: 图5-5 GUI设计完善界面 保存界面为d.fig。保存完毕后,会自动打开一个d.m文件,程序所有的代码都在这个M文件里面的。界面如图5-6所示: 图 5-6 .M文件编辑器 找到“打开图像”控件的Callbacks函数(即回调函数),在回调函数下添加如下代码: [filename,pathname]=uigetfile({'*.*';'*.bmp';'*.jpg';'*.tif';'*.png'},'选择图片'); if isequal(filename,0)||isequal(pathname,0) return; 26 XXX本科毕业设计 end str=[pathname filename]; im=imread(str); axes(handles.axes1); imshow(im); setappdata(handles.figure1,'im',im); 在“打开图像”按钮的回调函数里,调用uigetfile函数建立一个打开文件的对话框,利用imread函数来打开图像,并用imshow函数显示打开的图像。 代码添加完成后,保存并运行程序,点击“打开图像”按钮,结果如图5-7所示: 图 5-7 点击“打开图像”后的图形界面 找到合适的路径,并选择一幅合适的图像文件,点击“打开”,就打开了一幅图像,效果如图5-8所示: 图 5-8 打开图像文件 27 图像处理中的边缘提取算法及实现 在“保存图像”控件的回调函数下面添加如下代码: [filename,pathname]=... uiputfile({'*.tif';'*.jpg';'*.png';'*.bmp'},'save pictrue'); if isequal(filename,0)||isequal(pathname,0) return else str=[pathname filename] axes(handles.axes2); im=getimage(handles.axes2); imwrite(im,str); end 在“保存图像”按钮的回调函数中,利用uiputfile函数建立了一个保存文 件的对话框,调用imwrite函数将经过修改的图像进行保存。 在“关闭软件”控件中添加: close(gcf) 在“关于软件”控件中添加: H = ['版权所有,翻版不究**平院张大威']; helpdlg(H,'说明') “关于软件”的运行结果如图5-9所示: 图 5-9 点击“关于软件”后的界面 选择“控件组”,右键单击,选择“ViewCallbacks”—“SelectionChangeFcn”, 打开“.m”文件中找到“function uipanel1_SelectionChangeFcn(hObject, eventdata, 28 XXX本科毕业设计 handles)”并在其下添加如下代码: global BW im=getappdata(handles.figure1,'im'); str=get(hObject,'string'); axes(handles.axes2); switch str case'Initial' imshow(im); case'Roberts' BW=edge(im,'roberts'); imshow(BW); case'Sobel' BW=edge(im,'sobel'); imshow(BW); case'Prewitt' BW=edge(im,'prewitt'); imshow(BW); case'Log' BW=edge(im, 'log'); imshow(BW); case'Canny' BW=edge(im,'canny'); imshow(BW); end; 在“控件组”的回调函数中,首先读入图像信息,然后,运用switch函数 判断用户控件的选择,并根据用户对控件的选择对读入的图像做相应的处理。 选择控件组中的“Intial”,右键选择“ViewCallbacks”—“Callback”,在弹 出的“.m”文件中找到对应的回调函数,添加如下代码: im=getappdata(handles.figure1,'im'); str=get(hObject,'string'); axes(handles.axes2); imshow(im); 29 图像处理中的边缘提取算法及实现 采用同样的方法在Roberts的回调函数下添加如下代码: im=getappdata(handles.figure1,'im'); str=get(hObject,'string'); axes(handles.axes2); rgb=rgb2gray(im); rgb=im2double(rgb); BW=edge(rgb,'roberts'); imshow(BW); 该算子的回调函数中,当该按钮被选择以后,首先接收图片,调用rgb2gray函数将真彩色图像转换为灰度图像,接着将灰度图像转化为双精度,然后对图像进行边缘提取并将经边缘提取后的图像显示出来。 采用同Roberts的回调函数一样的添加方法和格式,把BW=edge(rgb,'roberts') 中的roberts分别替换为sobel、canny、log、prewitt,然后点击保存。 这样就完成了数字图像边缘提取的图形化界面设计工作,经测试,所完成的图形化界面能够实现相应的功能。 图 5-9 测试结果图 5.3 本章小结 本章详细介绍了对各种所研究的边缘检测算子进行的图形用户界面(GUI)设计的步骤,并用GUI实现了打开图片、保存图片等功能。 30 XXX本科毕业设计 第六章 系统测试 各功能模块完成后,对软件的各个功能模块进行测试和调节,本章主要介绍各系统模块的测试情况。 6.1 打开图像模块测试 系统默认能打开“.bmp”、“*.jpg”、“'.tif'”、“.png”格式文件,默认打开的格式是“bmp”,选择其他格式时需手动选择,也可以选择“All Files(*.*)”,当打开其他格式的图像文件或非图像文件时,软件将停留在原来界面不进行任何操作,Matlab平台软件将会报错。 6.2 保存图像模块 在选择合适的路径之后打开图像不做任何操作的情况下,保存操作也可以执行,软件默认保存的是原图片,软件的“保存”操作中,可以将处理好的图片保存为“.bmp”、“*.jpg”、“'.tif'”、“.png”等格式,默认保存为“tif”格式,可以手动选择所要保存的图片格式,去除格式前的“*”号并输入文件名,点击保存即可,当保存为其他图片格式时,软件将无法执行相应操作。 6.3 执行模块测试 在执行模块测试这块,为了看到用不同的算子执行的结果以及执行效果的区别,分别执行不同的算子并保存,将处理后的几张图片整合到一起,对比处理效果,结果如图6-1所示: 31 图像处理中的边缘提取算法及实现 图6-1 执行模块结果对比图 6.4 本章小结 在代码编写及图形界面的设计过程中,即使经过反复的检查也难免出错。在本系统的测试中也发现了若干的问题,在请教同学以及查询资料的基础上经过反复尝试和修改,虽然现在程序仍旧存在一些问题和不足之处,但通过不断的调试、修改,最终基本实现各功能模块的连接,程序能够正常运行。 32 XXX本科毕业设计 结论 本系统是以Matlab为平台开发的,之前并未接触到,在做毕业设计的这几个月里,从学习平台的应用开始,到熟悉一种新的编程语言,最后到做出软件,其间在网上查询以及从图书馆借阅了大量的相关资料,初步完成了软件的设计与开发,限于之前并未接触到相关的图像编程知识、平台的应用、时间仓促以及个人能力和精力等问题,某些功能还未能做到完全符合实际应用要求,将在今后的应用过程中逐步加以完善。 在测试和调试的过程中感觉自己的能力仍显不足,导致系统目前仍然存在一些问题:一是软件不能自动记忆上一次的打开路径或者保存路径,而只能默认打开或者保存到软件所在的文件夹,这样不利于操作,每次都要对路径进行重新选择,相对有记忆路径功能的软件而言操作比较繁琐;二是在点击“关于软件”的提示上显得过于粗糙,如果能在点击“关于软件”时自动打开一个帮助文档或者文本文档,能够显示更多信息的话,会显得比较专业、精细。 对此,我打算在以后继续努力学习,争取实现目前未能实现的功能,努力完善系统,提高系统的稳定性和可用性。 33 图像处理中的边缘提取算法及实现 参考文献 [1] 冈萨雷斯,《数字图像处理(第二版)》,电子工业出版社,2005年3月 [2] 冈萨雷斯,《数字图像处理(MATLAB版)》,电子工业出版社,2005年9月 [3] 陈天华,《数字图像处理》,清华大学出版社,2007年6月 [4] 阮秋琦,数字图像处理学,电子工业出版社,2001 K.R.Castleman著,朱志刚等译,数字图像处理,电子工业出版社,2001 [5] [6] 章毓晋,图像处理和分析(上、下册),清华大学出版社,2000 [7] 王文丽,各种图像边缘提取算法的研究,北京交通大学,硕士学位论文,2010 [8]季虎,孙即祥,邵晓芳,毛玲,图像边缘提取方法及展望,国防科技大学电子科学与工程学院,2004 34 XXX本科毕业设计 致谢 回首我在平顶山学院的四年学习生活,现在满怀感激之情,我非常荣幸能够来到平西湖畔生活和学习。在这里,我结识了许多的朋友,在和他们的交往中,我学习到了许多,得到了很大的提高。 如今,毕业在即,在论文完成之际,我要特别感谢我的指导老师——XXX老师,在我撰写论文的过程中,鲁老师倾注了大量的心血和汗水,无论是论文的选题、构思还是参考资料的推荐、材料收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了鲁老师悉心细致的教诲和无私的帮助,特别是他广博的学识,深厚的学术素养、严谨的治学精神和一丝不苟的工作作风是我终生受益,在此表示真诚的感谢。 还要感谢我的父母,他们在生活上给予我很大的支持和鼓励,是他们给予我努力学习的信心和力量。另外还要感谢我得同学们,在论文写作过程中,得到了许多的宝贵建议,在此一并致以诚挚的感谢。 感谢所有关心、支持、帮助过我得良师益友。最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师们表示衷心的感谢~ 35
/
本文档为【图像处理中的边缘提取算法及实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索