图像处理的开闭运算.doc

上传人:飞****9 文档编号:133283810 上传时间:2020-05-25 格式:DOC 页数:16 大小:817KB
返回 下载 相关 举报
图像处理的开闭运算.doc_第1页
第1页 / 共16页
图像处理的开闭运算.doc_第2页
第2页 / 共16页
图像处理的开闭运算.doc_第3页
第3页 / 共16页
图像处理的开闭运算.doc_第4页
第4页 / 共16页
图像处理的开闭运算.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《图像处理的开闭运算.doc》由会员分享,可在线阅读,更多相关《图像处理的开闭运算.doc(16页珍藏版)》请在金锄头文库上搜索。

1、图像处理的开运算与闭运算0. 前言腐蚀和膨胀是依据数学形态学集合论方法发展起来的图像处理方法,起源于岩相对岩石结构的定量描述工作,在数字图像处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图像分析方法和理论。数学形态学是图像处理和模式识领域的新方法,其基本思想是:用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到图像分析和识别的目的。优势有以下几点:有效滤除噪声,保留图像中原有信息,算法易于用并行处理方法有效实现,基于数学形态学的边缘信息提取处理优于基于微分运算的边缘提取算法,提取的边缘比较平滑,提取的图像骨架也比较连续,断点少b5E2RGbCAP腐蚀:是一种消除边界点,使

2、边界向内部收缩的过程。可以用来消除小且无意义的物体。膨胀:是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。开运算:先腐蚀后膨胀的过程开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。开运算通常是在需要去除小颗粒噪声,以及断开目标物之间粘连时使用。其主要作用与腐蚀相似,与腐蚀操作相比,具有可以基本保持目标原有大小不变的优点。p1EanqFDPw闭运算:先膨胀后腐蚀的过程称为闭运算。用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。DXDiTa9E3d原因:虽然腐蚀处理可以将粘连的目标物进行分

3、离,膨胀处理可以将断开的目标物进行接续,但同时都存在一个问题,就是经过腐蚀处理后,目标物的面积小于原有面积,而经过膨胀处理之后,目标物的面积大于原有面积。开、闭运算就是为了解决这个问题而被提出的。RTCrpUDGiT数学形态学中二值图像的形态变换是一种针对集合的处理过程。其形态算子的实质是表达物体或形状的集合与结构元素间的相互作用,结构元素的形状就决定了这种运算所提取的信号的形状信息。形态学图像处理是在图像中移动一个结构元素,然后将结构元素与下面的二值图像进行交、并等集合运算。5PCzVD7HxA1. 系统分析系统功能需求1)位图图像文件的导入、转换、显示、保存、关闭模块在该功能模块中提供:位

4、图图像文件的导入功能;把32位或8位位图文件转换为24位位图文件的功能;显示经过导入和转换后的24位位图文件的功能;图像保存提供保存为8位和24位位图的功能)和关闭图像的功能。这一模块主要对图像进行后续处理及其操作的基础。jLBHrnAILg2)基于膨胀和腐蚀的图像处理模块该模块主要的功能是用膨胀和腐蚀算法,得到对应的参数图像图像增强),结合膨胀和腐蚀,做出开闭运算的图像3)图像控制模块该模块主要功能是实现对原始图像另存;分形图像、分割结果图像保存的操作场景分析和开发场景名称参与执行者前置条件事件流后置条件图像信息导入用户系统已打开1、打开系统主界面2、选择文件菜单中的“打开”命令,选择文件3

5、、对图像类型进行合法性检查,合则4,否则24、清除上一次数据5、把图像转换为24位位图文件6、提取图像像素数据,并保存三份7、将用户所要处理的图像导入系统中1、图像导入2、在图像显示界面上显示三组图像及其直方图)3、用户可以作其他的处理基于腐蚀和膨胀图像的开闭处理用户系统已打开图像已导入1、选择“图像处理”菜单2、根据用户需要选择需要的处理类型3、系统对图像作相应的处理4、将处理后图像保存并显示给用户中间组和右边组:包括图像、直方图)1、得到处理后图像增强);2、在图像显示界面上显示中间组和右边组);3、用户可以作其他的处理处理结果图像保存场景用户系统已打开,图像已导入,并作相应的处理1、选择

6、“文件”菜单2、选择“另保存”菜单,路径+文件名3、将分形结果图像保存。1、得到分形结果图像;2、用户可以作其他的处理抽象用例对应活动图用例图根据功能分析和用例分析,我们得到“图像处理开闭运算”的用例图。1)图像信息的导入用例图2)基于腐蚀膨胀图像处理用例图3)原始图像另存用例4)处理结果图像保存用例5)总的用例图建立系统总体架构及领域概念模型系统总体架构系统总体架构用于描述整个软件的体系结构,包括对各个功能模块的划分、功能定义、软件的层次结构等。根据前面建立的系统用例图,我们选用分层架构模式。下面我们用包图来描述总体结构。xHAQX74J0X系统领域概念模型领域概念模型用于描述用户需求和相关

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

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

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

10、显示信息。在该类中所需要的大部分代码工作包括绘制用户的文档、处理用户的输入、调用用户自定义类中的方法通过CC*DOC类的指针)。CC*DOC类有几个子类,包括CEditView、CFormView、CHtmlView、CListView、CRichEditView、CScrollView、CTreeView等,但大部分子类和CC*VIEW类的属性和使用方法区别不大。6ewMyirQFL2系统设计在系统需求分析阶段,通过建立系统总体结构、领域概念模型,已经确定了系统的基本结构。在系统设计阶段主要内容有:设计用例实现方案、数据设计、用户界面设计,建立组件图、配置图、生成系统代码框架等几部分工作ka

11、vU42VRUs提取边界类、实体类、控制类1)提取边界类边界类主要描述目标软件系统和外部环境的交互,复杂界面控制、外部接口和环境隔离,处理目标软件系统与用户、其他软件系统及操作系统和其他设备之间的交互。根据已建立系统总体结构、领域概念模型,可以提取以下边界类:y6v3ALoS891)CMainFrame类、CC*VIEW类、CC*APP类、CC*DOC类中的涉及数据输入以及界面变化的方法成员函数)M2ub6vSTnP2)CDlg*类3)CImg类中的涉及数据输入以及显示的方法成员函数)2)提取实体类实体类表示目标软件系统中具有持久意义的信息项和操作,它向目标软件系统的其他部分提供读取信息项内容

12、的必要接口,不涉及业务逻辑处理。根据已建立系统总体结构、领域概念模型,可以提取以下边界类:0YujCfmUCw1)CC*DOC类中的涉及数据保存的方法成员函数)2)CImg类中的涉及数据保存的方法成员函数)3)提取控制类和辅助类控制类作为完成用例任务的责任承担者,主要用于协调、控制其他类共同完成用例规定的功能或行为。它一般不处理具体的任务细节,但它应该能够分解任务并将子任务分派给适当的辅助类,同时在辅助类之间进行消息传递和协调。MFC中采用消息映射机制实现处理来自操作面板接收的各种用户指令,并将这些命令分派给适当的辅助类。eUts8ZQVRd辅助类用于辅助控制类完成用例规定的功能或行为。可提取

13、以下的辅助类:1)CImg类中的用于完成用例规定的功能或行为的各种方法成员函数)2)CC*VIEW类、CC*DOC类、CDlg*类中的用于完成用例规定的功能或行为的各种方法成员函数)或消息响应函数。sQsAEJkW5T基于所提取的边界类、实体类和构建的控制类和辅助类,我们将在已提取的各种类的基础上,构造系统的交互图、协作图等动态视图,为设计生成系统类图做准备。GMsIasNXkA通过建立系统的顺序图和协作图-构造交互图顺序图和协作图是反映用户和系统动态交互的两种视图。顺序图按时间顺序描述系统元素之间的交互,而协作图则按照时间和空间顺序描述系统元素包括系统用户)之间的交互和它们之间的动态关系。二

14、者都是表示对象间的交互作用,前者强调时间顺序,但没有明确的表达对象间的关系;后者描述对象之间的关系,但时间顺序必须从序号获得。顺序图和协作图都是来自UML模型的相同信息,语义上是等价的,二者可以相互转换而不丢失任何信息。实际使用中,常用时序图,即在顺序图的基础上,加入表示时间顺序的序号。TIrRGchYzg1)图像导入时序图2)开闭运算计算时序图3)原始图像另存时序图4)开闭处理后图像保存时序图类图的生成类图。void Open(。void Dilate(。void GrayDilate(BYTE *pData。void Erosion(。void GrayErosion(BYTE *pData。void Sort(int *pBuf, int l, int r。void MidFilter(int nWidth, int nHeight。void GrayErosion(int D。void Save8(LPCTSTR lpszPathName。void Save24(LPCTSTR lpszPathName。void Save(LP

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

当前位置:首页 > 行业资料 > 工业设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号