经典边缘算子的图像边缘检测软件设计-软件工程作业报告.doc

上传人:龙*** 文档编号:3659303 上传时间:2019-07-03 格式:DOC 页数:34 大小:1.78MB
下载 相关 举报
经典边缘算子的图像边缘检测软件设计-软件工程作业报告.doc_第1页
第1页 / 共34页
经典边缘算子的图像边缘检测软件设计-软件工程作业报告.doc_第2页
第2页 / 共34页
经典边缘算子的图像边缘检测软件设计-软件工程作业报告.doc_第3页
第3页 / 共34页
经典边缘算子的图像边缘检测软件设计-软件工程作业报告.doc_第4页
第4页 / 共34页
经典边缘算子的图像边缘检测软件设计-软件工程作业报告.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、2013-2014 学年第二学期 研究生课程杭 州 电 子 科 技 大 学 自 动 化 学 院 软 件 工 程 课 程 报 告题 目 经典边缘算子的图像边缘检测软件设计专 业 控制工程研究方向 预测控制姓 名 邹琴学 号 132060153任课教师 刘俊完成时间 2014.6.16成绩评定经典边缘算子的图像边缘检测软件设计1. 前言图像的边缘对人的视觉具有重要意义,一般而言,当人们看见一个有边缘的物体的时候,首先感觉到的便是边缘。边缘是指周围像素灰度有阶跃变化或屋顶变化的那些像素的集合,灰度或结构等信息的突变处成为边缘。边缘或许对应着图像中物体(的边界)或许并没有对应着图像中物体(的边界),但

2、是边缘具有十分令人满意的性质,它能大大地减少所要处理的信息但是又保留了图像中物体的形状信息,边缘是图像的最基本特征。边缘在边界检测、图像分割、模式识别、机器视觉等中有很重要的作用。边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括深度上的不连续、表面方向不连续、物质属性变化和场景照明变化。边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。在生物医学图像方面,边缘检测技术也是不可缺少的图像

3、处理技术。传统的边缘检测算法大多可归结为检测周围像素灰度有阶跃变化或屋顶变化的那些像素,因此微分运算是边缘检测的主要手段。一些经典的微分边缘算子已被广泛应用,如 Roberts 算子、Sobel 算子、Canny 算子、Prewitt 算子、Krish 算子、Log 算子、Laplacian 算子等。Roberts 边缘检测算子采用对角线方向的卷积模板在内插点处求得连续梯度的近似值,定位精度高,但对噪声敏感。Sobel 算子利用邻域思想,在邻域内与水平和垂直方向的模板卷积以计算边缘,避免了在像素之间的内插点上计算梯度。该方法不但产生较好的检测效果,而且对噪声具有平滑作用,但是该法计算量大且定位

4、精度不高。Laplacian 算子为二阶差分算子,具有旋转不变性,可以精确定位边缘但是二阶差分也双倍加强了噪声的影响一个优秀的边缘检测器除要求能够正确地检测出有效的边缘外,边缘定位的精度,抗噪声性能等也必须兼顾,而这些要求往往都是矛盾的,很难在一个边缘检测器中得到完全的统一“因此在微分运算前,应采取适当的平滑滤波以减少高频分量中噪声的影响。canny 算子就是基于此思想提出的边缘检测算子。Canny 算子本质上使用一个准高斯函数做平滑运算,再求高斯函数的一阶导数获取边缘。除上述算子以外,近年来,随着数学理论和人工智能的发展,又出现了许多新的边缘检测方法,如基于小波变换、支持向量机、数学形态学、

5、脉冲耦合神经网络等的边缘检测方法。图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。灰度或结构等信息的突变处称为边缘。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地方不一定能被检测出来,而检测出的边缘也不一定代表实际边缘。图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算

6、子检测出来,通常用一阶或两阶导数来检测边缘,如下图所示。不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。(a)图像灰度变化 (b)一阶导数 (c)二阶导数基于一阶导数的边缘检测算子包括 Roberts 算子、Sobel 算子、Prewitt算子等,在算法实现过程中,通过 (Roberts 算子)或者 模板作为核23与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。拉普拉斯边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。一种改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是 LOG 算子。前边介绍的边缘检测算子法是基于微

7、分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数的过零点。Canny 算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。本文介绍了经典边缘检测算子 Roberts 算子、Sobel 算子、Prewitt 算子、Laplacian 算子、Log 算子、Canny 算子,并选取 Roberts 算子和 Sobel 算子编程实现对细胞图像的边缘检测,并进行比较。2. 软件系统用例分析需求分析是软件设计的第一步,是整个软件成功实现的基础,整个软件的开发是建立在需求分析列出的各项功能的基础之上。系统领域概念模型领域概念模型用于描述用户

8、需求和相关业务领域中全局性的概念及其相互之间的关系。它在系统总体架构的基础上,进一步从概念上帮助开发人员理清系统结构及系统各组成部分之间的相互作用。领域概念模型使用 UML 的类图来表示,但不需要标出每个类的属性和方法,只需根据以上所作的场景开发和建立的用例,提取关键的概念并以类的形式表示出来即可。领域概念模型可以理解为类图的草图。本系统拟采用 MFC 支持的文档视图结构中的单文档界面(SDI)结构。大部分 Windows 应用程序都相当复杂。典型的情况是,它们均包含业务逻辑处理层和界面层(程序框架) ,在 MFC 中对应于两个代表性的类: “文档”和“视图” 。MFC 将文档和视图有机地组成

9、一个整体的框架,提供给程序编写者,这就是我们通常所说的文档/视图结构。通常,当创建一个 SDI 应用程序时,如果不考虑 About 对话框窗口类的话,SDI 应用程序将创建 4 个特定的类,即 CC*APP 类、CMainFrame 类、CC*DOC 类、CC*VIEW 类,每个类在程序运行时都有自己的特殊用途。其中:(1) CC*APP 类:创建所有其它组件。该类接收所有的事件消息,然后将这些消息传递给 CMainFrame 类、CC*DOC 类、CC*VIEW。在编程中几乎不需要修改和添加代码。(2) CMainFrame 类:它包括菜单、工具栏、滚动条、状态栏、和所有其他与该框架相关联的

10、显示对象。在编程中几乎不需要修改和添加代码。(3) CC*DOC 类:它是关于文档存储的类。可以在这个类中创建数据结构,并利用这些数据结构存储和处理构成文档的数据。 (注意:一般通过在该类中定义一个用户类的对象作为该类的成员变量,以此来创建数据结构,在程序中通过该成员变量来调用用户类的各种成员函数【方法】 ) 。该类从用户自己定义的类或 CC*VIEW类得到输入并将要显示的信息输出到 CC*VIEW 类。该类还负责存盘和从文件中检索文档数据的工作。(4) CC*VIEW 类:它用于向用户显示可视化文档,并将用户输入的信息传送到 CC*DOC 类,然后从 CC*DOC 类接收显示信息。在该类中所

11、需要的大部分代码工作包括绘制用户的文档、处理用户的输入、调用用户自定义类中的方法(通过 CC*DOC 类的指针) 。CC*DOC 类有几个子类,包括CEditView、CFormView、CHtmlView、CListView 、CRichEditView、CScrollView 、CTreeView 等,但大部分子类和 CC*VIEW类的属性和使用方法区别不大。综合上述,我们给出系统的领域概念模型如图 2-1 所示U s e r( f r o m U s e C a s e V i e w )C M a i n F r a m eC C * * * D O C C I M G C C * *

12、 * V I E WC C * * * A P PC D l g * * *图 2-1 系统的领域概念模型3. 系统设计在系统需求分析阶段,通过建立系统总体结构、领域概念模型,已经确定了系统的基本结构。在系统设计阶段主要内容有:设计用例实现方案、数据设计、用户界面设计,建立组件图、配置图、生成系统代码框架等几部分工作。3.1 提取边界类、实体类、控制类(1)提取边界类边界类主要描述目标软件系统和外部环境的交互,复杂界面控制、外部接口和环境隔离,处理目标软件系统与用户、其他软件系统及操作系统和其他设备之间的交互。根据已建立系统总体结构、领域概念模型,可以提取以下边界类:1)CMainFrame

13、类、CC*VIEW 类、CC*APP 类、CC*DOC 类中的涉及数据输入以及界面变化的方法(成员函数)2)CDlg*类3)CImg 类中的涉及数据输入以及显示的方法(成员函数)(2)提取实体类实体类表示目标软件系统中具有持久意义的信息项和操作,它向目标软件系统的其他部分提供读取信息项内容的必要接口,不涉及业务逻辑处理。根据已建立系统总体结构、领域概念模型,可以提取以下边界类:1)CC*DOC 类中的涉及数据保存的方法(成员函数)2)CImg 类中的涉及数据保存的方法(成员函数)(3)提取控制类和辅助类控制类作为完成用例任务的责任承担者,主要用于协调、控制其他类共同完成用例规定的功能或行为。它

14、一般不处理具体的任务细节,但它应该能够分解任务并将子任务分派给适当的辅助类,同时在辅助类之间进行消息传递和协调。MFC 中采用消息映射机制实现处理来自操作面板接收的各种用户指令,并将这些命令分派给适当的辅助类。辅助类用于辅助控制类完成用例规定的功能或行为。可提取以下的辅助类:1)CImg 类中的用于完成用例规定的功能或行为的各种方法(成员函数)2)CC*VIEW 类、CC*DOC 类、CDlg*类中的用于完成用例规定的功能或行为的各种方法(成员函数)或消息响应函数。基于所提取的边界类、实体类和构建的控制类和辅助类,我们将在已提取的各种类的基础上,构造系统的交互图、协作图等动态视图,为设计生成系

15、统类图做准备。运行可执行程序后,首先进入系统的主界面:图 3-1 系统的主界面3.2 边缘检测具体步骤边缘检测算法包含有以下四个步骤:(1)滤波 边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出 ,大多数滤波器在降低噪声的同时也导致了边缘强度的损失。因此增强边缘和降低噪声之间需要折中。(2)增强 增强边缘的基础是确定图像各点邻域强度的变化值 ,增强算法可以将邻域(或局部)强度值有显著变化的点显现出来,边缘增强一般是通过计算梯度幅值来完成的。(3)检测 在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领

16、域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。(4)定位 如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。边缘检测算法流程图图像获取 滤波 增强检测边缘点定位边缘方位图像输出图 3-2 边缘检测流程图边缘检测流程图比较形象直观地描述了边缘检测的步骤,通过滤波、增强、检测、定位来达到边缘检测的目的。3.3 Roberts 边缘算子景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法” 。Rob

17、erts 边缘算子采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位准,对噪声敏感。Roberts 边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert 梯度算子所采用的是对角方向相邻两像素值之差,所以用差分代替一阶偏导,算子形式可表示如下:Roberts 算子: 1,1,1, jifjifjifjifjiG22,其中 表示处理后 点的灰度值, 表示处理前该点的灰度值。jijijif是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视jif,觉系统中发生的是过程。实际应用中,图像中的每个像素点都用这两个模板进行卷积运算,为避免出现负值,在边缘检测时常提取

18、其绝对值。该算法的算子如下:(a) (b)图 3-3 Robert 算子模板3.4 Sobel 边缘检测算子理 论 基 础 : 卷 积 可 以 简 单 的 看 成 加 权 求 和 的 过 程 。 卷 积 时 使 用 的 权 用 一 个 很 小 的 矩阵 来 表 示 , 矩 阵 的 大 小 是 奇 数 , 而 且 与 使 用 的 区 域 的 大 小 相 同 。 这 种 权 矩 阵叫 做 卷 积 核 , 区 域 中 的 每 一 个 像 素 分 别 与 卷 积 核 中 的 每 个 元 素 相 乘 , 所 有 乘积 之 和 即 区 域 中 心 像 素 的 新 值 。 比 如 , 对 于 一 个 33

19、的 区 域 p 与 卷 积 核k 卷 积 后 , 区 域 p 的 中 心 像 素 p5 表 示 如 下 : 98215 kpk其 中 ,987654321pp 987654321kk卷 积 核 中 各 元 素 叫 做 卷 积 系 数 。 卷 积 核 中 卷 积 系 数 的 大 小 、 方 向 及 排 列次 序 决 定 了 卷 积 的 图 像 处 理 效 果 。 大 多 数 常 用 的 卷 积 核 都 是 33 的 , 所 有的 卷 积 核 的 行 、 列 都 是 奇 数 。 进 行 卷 积 时 会 遇 到 一 些 复 杂 的 问 题 , 首 先 是 图像 边 界 的 问 题 。 当 在 图 像 上 逐 个 移 动 卷 积 核 时 , 只 要 卷 积 核 移 动 到 了 图 像 边界 , 即 卷 积 核 悬 挂 在 图 像 边 界 上 时 , 就 会 出 现 计 算 上 的 问 题 。 这 时 在 原 图 像上 就 不 能 完 整 的 找 到 与 卷 积 核 中 系 数 相 对 应 的 9 个 图 像 像 素 。 解 决 这 个 问1 00 -10 1-1 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。