




已阅读5页,还剩74页未读, 继续免费阅读
(计算机科学与技术专业论文)通用图像处理算法流程组装平台.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着计算机信息处理能力的增强,数字图像处理技术飞速发展并 在国民经济的各个领域得到广泛应用。对图像处理中的算法进行合理 分类并灵活组合以达到应用需求就显得尤为重要,因此,开发一个通 用、模块化、便于实验及分析的图像处理平台至关重要。 目前,应用于图像处理方面的平台存在界面不够友好、算法评价 不足等缺陷,开发了通用图像处理算法流程组装平台。该平台不但集 成了图像处理所需的各类基础算法,而且具有良好的用户界面,用户 可以在流程编辑器中灵活组装图形算法控件形成算法实验流程,并可 以根据图像处理任务设置多种形式的参数选择和错误提示对话框;利 用平台提供的显示界面和算法评价功能可以方便地比较不同参数或者 同类中不同算法条件下的图像处理效果;也可以进行算法实验流程的 打开、保存、重绘、编辑等工作。 计算机在处理图像时需要进行大量的运算,我们利用v b 在界面编 程上的优势和v c 在大量数值计算上的优势,采用v b 调用v c 编写d l l 的方法,实现了v b 和v c 的优化组合,提高了开发效率也保证了图像 处理的速度。 实验表明,针对应用需求和评价结果,平台可以有针对性地改变 流程的结构、基础算法及其参数,从而选择出最优的处理算法流程结 构和最佳的参数设置,不但方便了用户在实验方面的探讨,而且也减 少了软件的开发时间。 关键词通用图像处理平台,图形算法控件,算法评价,算法流程组装 a bs t r a c t i m a g ep l a y sa ni m p o r t a n tr o l ei nt h et r a n s m i s s i o no fi n f o r m a t i o n w i t ht h ee n h a n c e m e n to fc o m p u t e r s c a p a c i t yo fp r o c e s s i n gi n f o r m a t i o n , d i g i t a li m a g ep r o c e s s i n gt e c h n o l o g yi sd e v e l o p i n gr a p i d l ya n di sw i d e l y u s e di na l la r e a so ft h en a t i o n a le c o n o m y t h er e s e a r c ha n dd e v e l o p m e n t o f d i g i t a li m a g ep r o c e s s i n gp l a t f o r mb a s e do nm o d u l e sw h i c hh a sf r i e n d l y i n t e r f a c ea n dc a ne x p e r i m e n te a s i l yi s i m p o r t a n tt ou so w n i n gt ot h e f l e x i b l ec o m b i n a t i o no f i m a g ep r o c e s s i n g a l g o r i t h m s t om e e tt h e a p p l i c a t i o nr e q u i r e m e n t s a i m i n ga tt h ec u r r e n ts t a t u so fi m a g ep r o c e s s i n gp l a t f o r mw h i c hi sa l i t t l ep o o ri nt h ei n t e r f a c ea n da l g o r i t h me v a l u a t i o n ,ac o m m o ni m a g e p r o c e s s i n gp l a t f o r mb a s e do na l g o r i t h mf l o wa s s e m b l yw a sd e v e l o p e d t h i sp l a t f o r mw a sn o t o n l yi n t e g r a t e dt h eb a s i ca l g o r i t h mo fi m a g e p r o c e s s i n g ,b u ta l s oh a du s e rf r i e n d l yi n t e r f a c e u s e r sc a nc o m p o s et h e s e g r a p h i c a la l g o r i t h mc o n t r o l sf l e x i b l yi np r o c e s se d i t o r ,m a n yk i n d so f d i a l o gb o x e sf o rp a r a m e t e r ss e t t i n ga n de r r o ri n f o r m a t i o nw e r ed e s i g n e d a c c o r d i n g t ot h er e q u i r e m e n tf o ri m a g ep r o c e s s i n gi no r d e rt op r o v i d eu s e r m a n yf a c i l i t i e st ou s et h ep l a t f o r ma n dt oc o m p a r et h ed i f f e r e n ti m a g e p r o c e s s i n ge f f e c t sr e s u l t e db ys h o w e di n t e r f a c ea n da l g o r i t h me v a l u a t i o n a tt h es a m et i m e ,u s e rc a no p e n ,s a v e ,r e d r a wa n de d i tt h ee x p e r i m e n t a l f l o w o fa l g o r i t h m c o m p u t e rn e e de x e c u t eal a r g en u m b e ro fo p e r a t i o n si np r o c e s s i n g i m a g e u s i n gt h ea d v a n t a g eo fv bp r o g r a m m e di nt h ei n t e r f a c ea n dv co f l a r g en u m b e ro fn u m e r i c a ls u p e r i o r i t y ,t h ep l a t f o r mu s ev b t oc a l ld l l p r o g r a m m e db yv ci no r d e rt oa c h i e v et h eo p t i m i z e dc o m b i n a t i o no fv b a n dv c t h et i m eo ft h ed e v e l o p m e n tc a nb es h o r t e n e da n dt h ep r o c e s s i n g r a t ec a nb ei m p r o v e du s i n gt h i sp l a t f o r m p l a t f o r me x a m p l e ss h o wt h a tt h i sp l a t f o r mi sv e r yc o n v e n i e n tn o t o n l yi nt h ee x p e r i m e n t a ls t u d y ,b u ta l s oi nt h ed e v e l o p m e n to f t h ep r o j e c t a i m i n ga tc e r t a i np u r p o s e sw h i c hs h o u l db er e a c h e da n de v a l u a t i o nr e s u l t s , u s e r sc a nc h a n g et h ea l g o r i t h ms e l e c t i o n ,a l g o r i t h mp a r a m e t e rs e t t i n g s ,o r a s s e m b l yp r o c e s so ft h ea l g o r i t h mi no r d e rt oc h o o s et h eb e s tp r o c e s s i n g a l g o r i t h mt h e r e f o r e ,t h ed i f f i c u l t y o fa l g o r i t h m r e d u c e da n dt h et i m eo fd e v e l o p m e n tc a nb e e x p e r i m e n t a la p p l i c a t i o n s d e v e l o p m e n tc a n b e s h o r t e n e di np r a c t i c a l k e yw o r d sc o m m o ni m a g ep r o c e s s i n gp l a t f o r m ,g r a p h i ca l g o r i t h m c o n t r o l ,a l g o r i t h me v a l u a t i o n ,a l g o r i t h mf l o wa s s e m b l y i i i 硕十学位论文第一章绪论 1 1 研究背景 第一章绪论 实验心理学家赤瑞特拉通过大量的实验证明,人们从大自然中获取的全部信 息中,有8 3 来源于视觉。图像包含的信息具有直观性和确切性,在信息传播中 起着越来越大的作用。典型的实例应用有:在线生产检测的工业机器视觉【1 1 、道 路区域识别【2 1 、医学中三维立体断层图像的重建f 3 1 、医学细胞图像分割【4 1 、交通标 志识别1 5 j 、无人机飞行过程中目标物特征参数的提取【6 】等。 实际应用中,系统获取的原始图像由于噪声、光照、拍摄角度不正等原因, 图像的质量不高,所以需要对图像进行处理,以利于提取用户感兴趣的信息。 图像处理【7 1 ,就是对图像信息进行加工以满足人的视觉心理或应用需求的行 为,研究内容主要包括图像的获取和表示、图像增强、图像分割、图像分析等。 随着科技的发展,其研究内容所包含的算法越来越多,而且一个图像处理任务往 往需要多个算法模块协同工作【8 1 ,对图像研究工作者来说,为了得到较好的处理 效果,往往需要对处理流程进行多次调整,大量的编程工作费时又费力。搭建一 个整合基本图像处理算法的平台就显得尤为重要【9 】。用一个什么样的界面来整合 这么多算法,以及这些算法模块以什么样的方式进行搭建更有利于使用是一个值 得研究的问题。用图形化或者可视化【1 0 】【l i 】的算法控件模块组成研究者所需求的算 法流程,将会提高研究者的效率,加快开发速度。每当做完一个实验,研究者都 想知道处理结果是否是自己想要的,直观分析法对于像边缘检测【1 2 之类的算法有 一定的实用性,匹配算法则需知道匹配结果的相似度【1 3 】。把算法评价【1 4 】模块以图 形化控件模块的形式出现供用户绘制流程时调用,从而评估某一类或者某一个算 法的应用价值【l5 。 1 2 研究现状 图像处理的应用涵盖工业、医学、农业、军事等领域。不同领域的应用需要 不同的算法对图像进行处理以达到应用需求。 工业中的具体应用有交通标志识别、道路区域识别和目标物的异常检测等。 交通标志的识别系统包含两个重要的环节:首先是交通标志的检测,包括交通标 志的定位及必要的预处理;其次是交通标志的识别,包括交通标志的特征提取与 硕士学位论文 第一章绪论 分类等。交通标志的检测中,预处理算法包含有r g b 和h i s 颜色空间实现的标 志初步分割,形态学的滤波等方法,同时配合以基于形状和拐角特征模板匹配方 法。交通标志的识别算法有基于b p 网路的分析等。d a i m l e r - b e n z 公司的研究小 组于1 9 9 4 年推出了当时最先进的实时交通标志识别系统【1 6 】,系统采用颜色分割 和统计图识别等技术实现对交通标志的识别。道路区域识别中包括消失点的检测、 道路区域识别等过程,其中消失点检测包含图像去澡、边缘检测、h o u g h 变换等 算法;道路区域识别中包含基于区域生长算法、种块区域生长算法等。 在医学领域,随着成像技术的飞速发展,人们能够获得大量高分辨率的医学 图像数据影像。要有效的分析这些图像数据,就要用到图像预处理、图像分割、 图像分割评价、特征提取与分析等算法实验环节,借助于这些图像处理算法环节 搭建的系统可以有效的帮助医生对病人的情况进行合理的分析评价f 1 7 】。在医学图 像处理中分割算法有阈值分割法、人工神经网络法、基于模糊的分割方法、基于 主动轮廓的方法等。k i m 等用多次阈值分割法检测螺旋c t 图像中的肺结节性病 变,共检测了2 4 例病人的8 2 7 张图像,检测结果灵敏度是9 6 。 在农业上,图像处理在农作物种质资源检测【1 8 1 、农产品分级、农业机器人等 方面都有应用。在这些具体的应用中需要使用提取种子外形参数特征来进行各种 分类和质量检测,2 0 0 7 年,吴颜红研发了一套基于计算机视觉技术的稻谷品质检 测系统,采用灰度变换、自动阈值分割、区域标记等算法模块方法从采集的稻米 群体图像中提取单体米粒图像,对单体米粒的裂纹、垩白特征进行了检测方法的 研究。 军事上具体的实例应用有无人机机场的中心位置检测、智能履带车视觉导航 技术的研究、自动报靶弹孔识别系统等。牵涉到的算法有图像预处理、边界扫描、 二值化、目标检测和识别等。 平面图像处理方面,a d o b e 公司推出的p h o t o s h o p 功能强大【l9 1 ,操作界面友 好。首先,其成功之处在于操作界面简单灵活和功能的不断完善。其次,p h o t o s h o p 支持众多的图像格式,对图像的常见操作和变换做到了非常精细的程度。 p h o t o s h o p 提供的简介和自由的操作环境,使得使用者的工作游刃有余,简捷并不 意味着非智能化,要想熟练使用其中的功能必须经过长时间的学习和实际操作。 p h o t o s h o p 主要是基于广告策划和图像修饰的商业软件,不是动态的。并且很多图 像处理算法并不能满足研究者进行研究的需要。 m a t h w o r k s 公司推出的m a t l a b 软件,是提供计算、图形、文字处理等功 能的统一环境。m a t l a b 系统的图形功能强大【2 0 】,并且还具有较强的编辑图形界 面的能力。强大的工具箱都是由该领域学术水平很高的专家编写的,用户无需编 写自己学科范围内的基础程序,就可以进行相关研究。开放性也是m a t l a b 最 2 硕士学位论文 第一章绪论 受人们欢迎的特点。不过m a t l a b 缺乏系统的组织,有些常见的图像处理功能 并未涉及,必须是懂得m a t l a b 语言的用户才可以使用。 l a b v i e w 是一种图形化的编程语言【2 ,它被广泛的应用于工业界、学术界 和实验室的研究当中,被认为是一个标准的数据采集和仪器控制软件。l a b v i e w 能够以其直观简单的编程方式、多种多样的分析和表达功能支持,为用户快捷的 构筑自己在实际生产中所需要的仪器系统创造了基础条件。它面向的是测试工程 师和非专业程序人员,编程非常方便,人机交互界面友好。同时它也提供图像处理 功能,但多用于测控领域的图像处理【2 2 】。 1 3 研究意义和实现目标 综上所述,国内外已经开发了很多关于通用图像处理1 2 3 1 和专业图像处理方面 的软件1 2 4 ,但各个软件的侧重点和应用范围都有所不同,用户在使用的过程中会 产生这样或者是那样的问题,比如针对性不强,交互性差,用户无法调整算法的 输入参数,一些利用图形化编辑语言编写程序并且专门用于实验的图像处理系统 中没有评价机制等。 图像处理中的通用系统用于研究开发,包含的功能全面而广泛。专用系统主 要是在通用系统的基础上,针对实际应用情况选取某些功能研制开发的用于某个 特殊用途的系统,例如模具保护器中的异常检测监控系统、人体细胞检测分析系 统、交通标志的识别系统、道路区域的识别系统等。对于专用的图像处理与数据 分析系统来说,没有必要像通用的图像处理系统那样,每个项目的研制开发工作 都从头开始。专业领域中,不同的图像处理与数据分析应用系统其框架都是一样 的,而且有很多算法操作模块也是相同的,例如图像文件的读取和显示、图像预 处理、图像分析处理、图像特征的提取和识别以及其它辅助处理模块。因此完全 没有必要把时间花费在重复开发上,可以建立一个基于模块的通用图像处理与数 据分析专用系统,以此提高软件的复用性。平台的实现需满足结构的科学性、可 扩展性、功能的模块化、算法功能模块组合的灵活性和正确性。这样,只需进行 相关功能模块的组合以及某些功能模块的专业领域与实际应用的特殊化,就可以 快速建立起一个图像处理与数据分析的专用平台。当用户进行图像相关特征的提 取和识别之后,评价和定量的描述提取的特征能更好地进行目标识别。 图像处理研究者已经开发了很多种算法,并且新的算法也正在不断出现。为 了充分利用现存的各种算法,并对海量算法进行分类和组织,我们进行了通用图 像处理软件平台的开发【2 5 j 。平台封装了各种算法,避免了重复开发,提高了开发 效率,为从事图像处理的研究人员提供了极大的方便。用户可以把主要精力集中 硕士学位论文 第一章绪论 在图像的处理与分析程序的开发上,不必花费大量精力编写诸如图像文件的读取 和显示、图像的预处理、直方图的统计等图像处理的低层函数,不必去费心制作 人机接口。本平台具有界面友好、应用灵活、可扩充性良好等特点。 每个算法处理的结果单凭主观分析不具有科学性,为了给用户提供定量和定 性的算法处理结果,集成图像处理算法的平台,加入了算法评价【2 6 】机制。 开发图像处理算法流程组装平台【2 7 】,利用v b 的o o p 和t r e e v i e w 控件以及 d l l 来完成整个平台的开发和搭建工作1 2 8 】。平台分为应用层和逻辑层,主要包括: 绘制流程模块,运行流程模块和显示结果模块。 利用图标或者控件产生流程图形式的程序【2 9 】【3 0 】,不但方便了专业测试人员的 工作,同时把用户的使用范围也扩展到了非专业人士,是一个很好的开发方法。 直观性和封装性是控件编型3 1 】【3 2 】优于文本信息编程的两个重要方面。控件编程完 成了对信息的封装和减少代码的输入,给用户提供了简洁的交互方式。图形化编 程的程序代码主要由图标和连线组成,图标相当于编程中的函数功能模块,图标 间的连线完成数据的传递。 v b 在界面编程中有着所见即所得的优势,其高度封装和模块化的特点大大 减轻了编程人员的负担,但这样不利于访问底层的a p i 函数,因此v b 代码执行 的速度相对就比较慢。为了加快平台的运行速度,图像处理函数的数值运算采用 v c 来执行。v c 是基于c + + 的,c + + 在程序运行效率,内存使用的可控性上具有 优势。用v b 调用v c 编写的d l l 函数,每个d l l 可以由多个程序调用,节省 内存和磁盘空间,减少交换操作。 通用图像处理算法流程组装平台实现的目标是: 1 、支持一定的图像数据格式,图像的输入不但接受已存的图像也接受实时摄 像头捕捉的帧画面图片。 2 、对图像处理中的算法进行分类,并把这些分类的算法以可视化的模块集成 到平台当中。用户可以针对不同的需求选择不同的算法模块,并能将这些算法模 块以绘制流程的形式自由组合,同时可以对算法模块中的参数进行动态设置。对 于一个流程,用户可以选择不同的素材图片进行处理以试探处理效果。 3 、流程中的算法模块,用户可以进行动态的删除和添加,并能对所绘制的流 程进行保存和打开已保存的流程,一个流程就代表了一个程序软件的开发。 4 、为了对流程中的算法处理进行客观的评定,加入算法评价机制。为用户的 实验提供结果评比数据,并为流程的优化提供参数。 总之,平台利用现有的可视化语言和应用需求封装了图像处理所需要的基础 算法,既满足了专业人士的实验需求,也在一定程度上适应了非专业人士的应用 要求。丰富的图像处理算法,涵盖了数字图像处理领域大部分的经典算法,包括图 4 硕十学位论文第一章绪论 像增强、图像变换、图像的边缘检测、图像的二值形态学变换和图像的分割等。 对主要算法的实际应用效果进行了讨论,实验表明平台能够满足基本的图像处理 要求。 1 4 论文组织结构 论文在研究当前图像处理系统的前提下,开发了一个集成图像处理基础算法 的平台,省去了开发人员实验验证算法时重新编写算法的工作。算法评价机制量 化了图像处理和分析的结果,为图像处理的优化提供了参考和借鉴指标。论文主 要分为六章: 第一章对当前各领域方面的图像处理软件现状进行了比较和分析,提出课题 研究的总体思路与方案。简要地介绍和分析了国内外相关研究的技术方法,明确 了论文的研究意义和实现目标。 第二章对平台的任务和特点进行了分析和阐述,并在任务和特点的基础上论 述了平台的需求,由此得出了平台的总体设计。 第三章对平台的关键技术和界面的设计与实现进行了讨论,并在此基础上详 述了各功能模块的实现。最后介绍了数字图像处理平台中所具有的基础算法。 第四章根据上述章节的设计和实现提出了进行算法评价的必要性,分门别类 的对平台中的算法进行了算法评价准则的公式表述和实例分析。 第五章是对平台中算法的探讨及实验验证,主要针对图像分割进行平台的实 例验证。 第六章是论文的结论和进一步的研究工作。 硕十学位论文 第二章需求分析与总体设计 第二章需求分析与总体设计 图像处理包括很多基本的算法,在实际应用中,尚无通用的图像处理理论, 为了满足用户了解图像处理效果、时空消耗等方面的需求,需要对各种算法进行 评价,评价是改进和提高现有算法性能,改善图像处理质量和指导新算法研究的 重要手段。在充分利用v b 和v c 优势的基础上,本文搭建了一个满足用户实验 需求的通用图像处理算法流程组装平台 2 1 图像处理的任务和特点 2 1 1 图像处理的任务 图像处理是图像工程的重要内容,图像处理技术主要指对图像进行各种加工 以改善图像的视觉效果【3 3 1 并为自动检测打下基础,同时对图像中感兴趣的目标进 行检测和量度【3 4 】,以获得它们的客观信息并建立图像描述。 不同的图像处理任务包含不同的图像处理算法,因此需对常用的图像处理算 法进行分类,便于用户选择与调用。从数据加工的角度,般的图像处理任务可 分为图像到图像、图像到数据、数据到图像、图像到描述以及数据到描述几种类 型,如图2 1 所示。 。 图2 - 1 各类图像处理任务关系图 上述处理任务中的几种类型,包含了各种各样的算法,其中图像分析所包含 的图像分割、图像量测等算法是非常重要的处理步骤。图像分割是一种重要和关 键的图像技术,至今已有上千种类型的分割算法【3 5 】【3 6 】【3 7 】,而且近几年每年都有上 百篇有关研究报道发表。然而,由于尚无通用的分割理论,现提出的分割算法都 是针对具体问题的,并没有一种适合于所有图像的通用的分割算法【3 8 】【3 9 1 。为了量 测图像分割算法,需要对各种算法进行评价,根据评价指标【4 0 l 【4 l 】进行目标检测和 6 硕士学位论文第二章需求分析i 总体设计 识别。有时还要对分割的效果进行评价1 4 2 j ,以测定哪种分割方法好。当然,并不 是只有分割和量测算法,还有很多种其它的算法。 2 1 2 图像处理的特点和难点 图像处理应用中,解决一个实际问题或者提出一种新观点都要用已有的算法 来检验。一个具体的应用需要很多个算法的组合,究竟用哪种算法以及怎么优化 组合这些算法得到一个最好的结果,使用者并不知道。编写已有相关算法进行实 验探讨,工作量是巨大的。 具体应用中,一幅图像到底用图像处理中的哪些算法是不确定的,因为处理 效果不但跟图像本身有关,而且跟算法有关,要根据具体情况进行选择。例如, 图2 2 中两幅图像如果用同一个边缘检测算法进行处理,图2 - 2 ( a ) l z l 图2 - 2 ( b ) 有较 好的处理效果。因为边缘检测对噪声点敏感,所以不能不考虑图像本身的性质而 对算法进行评价。一个算法性能的好坏跟算法和图像本身都有关。 ( a ) l e n a 原图( b ) l e n a 噪声图 图2 2l e n a 图 在图像处理应用中,应用者和算法的选取在一定程度上存在有鸿沟。一个算 法的好坏即适用性跟使用者的知识、经验有很大关系,在正确算法选取之前,使 用者需要做很多实验,而不同的应用者需要组织不同的算法流程以满足自己的需 求,从而编写相应的算法程序。 2 2 需求分析 2 2 1 平台概述 设计平台的目的在于将各种类型的基础算法进行封装,作为可供选择的基本 操作单元组装成各种图像处理算法流程( 平台中的流程指的是山算法控件和线控 件组装而成的处理过程和结果) ,便于用户以可视化的组态形式快速、便捷地实现 各类图像处理任务的方案探讨及功能实现,满足用户在处理对象和处理任务复杂 情况下的需求。具体而言包括以下几点: 7 硕士学位论文第二章需求分析与总体设计 1 ) 算法集成 构建平台的主要目的之一是方便用户调用各类算法。为满足通用性,平台应 能够提供各种常用的图像处理算法。图2 1 中的每类处理任务都包含相应子类型, 而每类图像处理任务一般又由多个算法组成不同结构的流程,因此,选择合适的 算法和参数,提供方便的操作界面以及评价模式才能保证图像处理任务的完成, 表2 1 对图像处理算法进行了细分。 表2 1 图像处理算法细分表 处理流程子类型 图像变换 图像增强 图像复原 图像重建 图像分析 图像量测 图像描述 几何变换、算术变换 空间域图像增强、频域图像增强 空间滤波、频域滤波 傅里叶变换重建、卷积法重建、代数重建方法 边缘检测、图像分割、模板匹配、目标描述、目标分类,目标识别 二值图像处理形态学处理 区域描述,形状描述等 上述图像处理算法在具体的应用中都有各自的算法流程,图2 3 列举了几类 典型的图像处理算法流程。从图中可以看出,各类算法的结构各不相同,比较简 单的如( a ) ,比较复杂的如( b ) 和( c ) ,其中( c ) 中的目标检测算法为在不同 的颜色空间进行的特征提取,算法结构不同,呈现出多态性。 ( a )图像变换流程 8 硕十学位论文第二章需求分析与总体设计 ( b ) 多值模板匹配流程 ( c )目标检测流程 图2 3 部分典型的图像处理算法流程 9 硕十学位论文 第二章需求分析与总体设计 图2 3 列举的只是部分典型流程,还有许多典型流程,总之,各类图像处理 算法流程各式各样,结构不一。 2 ) 算法调用与实验结果比较 对于表2 - i 中的各子类型算法,实验时,系统需要提供灵活的算法选择功能, 并对算法的选择和流程的组装提供参数选择。同时系统还需要提供方便的操作界 面以及评价功能。 3 ) 算法组装流程 通过几类典型流程的分析我们可以看出以下两点:一是图像处理任务的处理 流程各式各样,无论简单还是复杂其结构都以基础算法和它们之间的连线为单元 构建起来的,因此必须对基础算法及连线进行封装;二是对于同一任务而言,其 实现方法并不是固定的,可采取不同的处理流程,并且基础算法的参数也需要根 据情况动态调整;为了便于实验方案的探讨,必须实现算法流程的结构以及基础 算法的参数等属性的动态调整。基于上述特点,需要实现图像处理算法流程的组 态化和算法流程的组装功能,用户在具体应用时不用进行重新编程,从而节约开 发时间。 4 ) 操作及处理结果可视化 可视化有利于用户直观、便捷地进行算法流程的组装操作,同时也是图像处 理任务的必然要求。为满足直观性要求,需实现用户操作及处理结果的可视化。 1 、用户操作可视化 封装后的算法以可视化控件的形式作为平台的界面元素,用户可仅通过拖动 控件便可以快速地组建出一个图像处理算法流程,同时可通过简单的界面操作实 现控件的增加、删除、移动以及控件属性的动态调整设置。 2 、处理结果可视化 图像处理算法的中间及最终结果都能够在算法流程的执行过程中显示于界面 上,便于用户进行结果分析。用户可在算法流程构建过程中设置需观察的结果。 5 ) 实现帮助及向导功能 1 、算法流程的保存与打开 实现算法流程的保存功能,保存的内容包括算法流程的结构及各控件所设置 的参数,当用户解决同类问题时可打开已保存流程,而不用重新构建算法流程, 只需改变其中一些参数便可实现实验目的,从而达到简化操作的目的。 2 、帮助功能 为了利于用户更为快速、便捷地组装图像处理算法流程,帮助功能需包含以 1 0 硕士学位论文 第二章需求分析与总体设计 下几项内容:平台操作指南,指导用户如何进行平台的界面操作;图像处理算法 的介绍,包括其算法思想、功能、适用范围、性能等,帮助用户组装各类算法流 程。 3 、构建典型算法组装流程库 建立典型算法流程库,对于各类典型流程分门别类进行存储,当用户需要进 行某类处理任务的实验探讨及功能实现时,能够方便地从流程库中打开相应流程, 同时用户可通过查看帮助文档迅速了解其算法思想及参数调节,当对于同一类任 务存在几种典型的处理流程时,可通过帮助文档了解这几种方法间的差异及适用 范围,为组装各类算法流程提供向导。 6 ) 算法组装流程的检错与评价 1 、检错功能 用户组装的流程难免会存在各类问题或错误,例如数据类型的不匹配、无效 操作等,对于这类问题平台应能够智能检测确保算法流程的有效执行。 2 、评价功能 为了帮助用户进行算法流程的分析与探讨,需对算法进行评价、评价指标包 括算法的时问复杂度、空间复杂度、处理效果等。 7 ) 算法及典型流程的动态扩展 l 、算法的可扩展性 用户在使用过程中可向平台添加新的算法,使得平台所具备的基础算法越来 越完备。 2 、典型算法流程库的可扩展性 用户在使用过程中可能会总结出新的典型算法流程,且不同用户偏向于不同 的图像处理任务,因此用户可自行设计一些典型算法流程添加到典型算法流程库。 2 2 2 功能需求 根据对上述平台概述的分析,一个功能完善并满足客户需求的图像处理算法 流程组装平台应该包括以下几个模块。如图2 4 所示。 1 ) 控件管理模块 在这个功能模块中,需要提供算法选择、控件连接和属性设置三个部分。用 户可以选择工具栏里面的图形算法控件,在流程编辑器中对所选择的算法进行算 法控件的连接,并对所绘制的算法控件进行必要的属性设置。 l 、算法选择。这个功能实现把算法控件绘制到流程编辑器中,并更新用户绘 制的流程面板界面。实时显示用户所选算法信息。 硕士学位论文第二章需求分析与总体设计 2 、控件连接,这个功能实现用户对算法控件的灵活组态。以满足用户具体应 用当中处理结构的灵活组态。该功能实现的前置条件是:流程编辑器中存在算法 控件。 图2 4 平台总体功能需求框图 其中框图中的流程是由算法控件和线控件连接而成的算法实验组装图。 3 、属性设置,该功能实现用户对算法控件和线控件的属性设置,不同的算法 模块需要的输入接1 5 1 和输出接c 1 是不同的,需要为这些用户需求设置不同的参数, 因此需要在用户的交互界面中给用户提供属性设置功能。该功能的前置条件是流 程编辑器中存在有控件并且用户选择了控件。 2 ) 评价模块 该功能模块,包括算法的评价和流程的评价,目的是方便用户对图像处理的 结果进行一个量化指标的查看。 1 、算法评价,如图2 5 所示。该功能是对用户绘制的流程编辑器中的算法控 件模块对应类别的功能进行相应的评价。前置条件是:绘制的流程中有具有处理 功能的算法控件。 2 、算法实验组装图评价,如图2 - 6 所示。该功能是对用户在流程编辑器中绘 制的算法实验流程进行结构合理与否的判断。该功能的前置条件是流程编辑器中 存在有流程。 1 2 硕士学位论文 第二章需求分析与总体设计 1 12 5 算法处理效果评价模块 接口评价 算法模块 参数评价 执行相应 评价功能 函数 输出评价 结果 图2 6 算法实验组装图的结构评价 3 ) 流程管理模块 这里的流程指的是算法实验组装图,流程管理模块中需要提供保存流程、打 开已有流程和运行流程三个子模块。流程管理是图像处理与分析的关键部分,是 运行实验流程的必要条件和关键环节,用户通过使用,可以达到实验的探讨和对 图像处理算法的灵活组态。 1 、保存流程。该模块是为流程提供保存功能,即保存流程中的算法控件和线 控件。其前置条件是流程编辑器中存在流程。 2 、打开已有流程。该子模块是为用户提供打开流程的功能,并显示在流程编 辑器中。其前置条件是存在已经保存的流程。 3 、运行算法组装流程,如图2 7 所示。该子模块是运行用户绘制的流程。其 前置条件是流程编辑器中存在流程并且流程具备执行的条件。 4 ) 结果显示模块 流程评价、解 绘制流程 析并运行流 +输出流程 程 图2 7 运行流程 堡堂笪迨窒 釜兰童重耋坌堑量堂笪望鲨 在这个模块中,是给用户提供图像处理结果的显示,包括运行结果的显示和 评价结果的显示,以便于用户对算法的处理结果进行实时查看。 5 ) 帮助模块 这个模块的具体功能如图2 - 8 所示。帮助功能模块包括平台为用户提供的常 用流程库、图像库( 包括纹理图像、序列图像、航空图等) 、平台中的示例代码、 评价介绍和应用说明等。以便于用户的查阅。 图2 8 帮助功能模块 用户与平台的交互用例图如图2 1 9 所示。 图2 9 用户与平台交互用例图 1 4 霉 一 一 一 一 - i 一 一 - 硕十学位论文 第二章需求分析与总体设计 2 3 总体架构 2 3 1 开发环境 v b 在界面编程中具有所见即所得的优势,能够提高丌发界面的速度。c + + 中大量地使用指针,使得编程的灵活性很高,便于程序员施展编程技巧来提高程 序的效率。基于上述特点用v b 来完成界面设计和实现,针对图像处理数据量大 的特点,为了从整体上提高平台的运行效率,采用v c 编写d l l 的方式来完成平 台所需的基础算法。v b 调用v c 编写的d l l 共同完成平台的开发。 2 3 2 应用框架 应用框架设计,主要是根据面向用户的不同,设计了几个层次,不同层次面 对的用户类型不同,因此需求也不同,综合考虑用户的需求才能设计一个完善的 系统。 根据需求,把通用图像处理算法流程组装平台的应用框架划分为几个具体层 次,每个层次面对的用户侧重点是不同的。这样不仅为算法开发者提供了一个开 发平台,也为算法研究者和一些应用开发者提供了一个辅助工具,这里的算法研 究者指的是根据一定的理论模型开发出一个新的算法加入到平台中来。应用开发 者指的是根据平台提供的一些基础算法,绘制出自己实用的算法流程,流程组成 的算法只是把平台中各种算法用代表流程走向的边连接起来,无需重新编写新的 算法。每个层次的具体划分如下: 应用层:主要面对的是非专业人士,由于该应用更多的是考虑算法在图像处 理中的具体应用,不需要过多的研究算法的原理与编写代码,对于该层用户我们 为其提供可视化的操作界面,并为其提供大量的通用基础算法,辅助他们完成图 像处理算法对于其本身问题研究的适用性。 开发层或者中间层:主要面对的是应用开发用户。很多时候,开发者在遇到 一个新的问题时,首先会想到现存算法对于其问题的适用性,例如分割混有细胞 核,细胞浆和背景的细胞,这时用户需要先对图片进行预处理,然后通过已有的 分割算法分割出这种混合各种目标的图片,有时甚至用现存的分割算法还不能达 到对细胞的分割,这时需要探索用什么样的方法组合才能达到所要的图像处理效 果,这个过程当中很多基层算法已经提供,有的算法并没有提供,因此该用户需 要做的是加入一些算法控件,形成自己所要的图像处理流程,这样就形成了一个 更加具体实用的高于平台底层的应用功能。如果用户研究的算法针对某类图像比 较有效,只要定义符合平台接口的算法控件就可以加入到平台中供更多的用户使 用。 堡堂鱼迨塞 笙三童量查坌堑兰堂堂堂盟 基于以上考虑,按照用户使用需求的不同,平台抽象出了以上两个层次,该 层次的划分使我们对平台有了一个宏观的把握,为具体模块的划分和平台的搭建 提供了一个很好的参考。 2 3 3 功能模块 为了能让用户灵活组合各种算法,平台包括五个功能模块:控件模块、流程 管理模块、显示模块、评价模块和帮助模块。各个功能模块以及本身子模块的逻 辑关系如图2 1 0 所示。 1 ) 系统框架 图2 1 0 平台架构框图 2 ) 控件模块 控件模块包含线控件和图形算法控件,线控件的作用有两个:一是进行图形 算法控件之间的连接,从而表示图形控件执行的先后顺序;另外一个作用是用来 1 6 硕士学位论文 第二章需求分析与总体设计 表示数据的传输方向,完成从线的起点到线的终点之间的数据传输。图形算法控 件封装了所有的算法处理和算法评价的实现。算法处理模块具体框图中的部分算 法如图2 1 2 所示,框图里面的代表省略的算法。从图可以看出利于表示算法 处理功能模块的控件必须具有分类和细化的功能。 1 、算法控件 每个算法控件就是一个可实现的图像处理算法,例如二值化、h o u g h 变换、 s o b e l 边缘检测、均值滤波等。 算法控件包括算法核心( a ) 、参数( p ) 、输入( i ) 和输出( o ) 四个基本组成部分, 其结构如图2 一1 1 。 图2 - 11 算法控件结构图 算法核心是算法控件的主体部分,即该算法的处理流程。 参数为算法的调节值,通过调节参数可得到不同的图像处理效果。有的算法 无参数,有的则包含一个或多个参数,例如二值化算法的阈值等。 输入,可分为单输入、多输入,且这些输入有的是图像,有的是数据。 图像处理算法的输出包括图像、数据等类型。 2 、线控件 线控件能够动态连接算法控件,线控件具有方向性,一方面表示处理的顺序, 另一方面表示算法控件间的数据传递方向。当用户用线控件将两个算法控件连接 起来后,算法便可按照所指方向执行,同时按此方向,一个算法控件的输出结果 传递给另一个算法控件作为输入。同时,算法和线控件的连接可实现顺序、分支、 循环、选择等结构流程。 线控件的结构实现如下图2 1 3 所示: 1 7 硕士学位论文 第二章需求分析与总体设计 图2 1 2 算法模块结构图 3 ) 算法实验组装模块 算法实验组装模块为用户的图形化编程提供相关的接口。窗体模块文件、标 准模块文件中各个控件、变量的初始化设置好后,用户可以选择界面中已有的控 件,在界面编辑器中进行控件的编辑和属性的设置,平台据此生成用户的控件信 息文件。 硕士学位论文 第二章需求分析与总体设计 4 ) 流程管理模块 流程管理模块负责流程的保存、打开已有流程和流程的运行。平台进行文件 名的检查之后,用写数据的形式建立流程保存的数据文件,文件中包括控件的属 性、控件的个数和用户设置的属性等。打开文件则是根据用户输入的文件名和流 程编辑器中是否存在已绘制的控件两种情况下进行文件的检查和判断,当编辑器 中存在有控件时首先卸载控件数组,然后根据文件名,读取文件中包含的文件信 息并显示在流程编辑器面板中。否则直接查找文件信息并显示在流程编辑器面板 上。运行模块负责运行流程编辑器中存在的控件流程,输出实验结果。用户在完 成了实验流程的绘制之后,在不同的控件之间建立了父节点和子结点之间的连接。 运行模块负责分析用户绘制的实验流程,对流程中存在的控件采取一边排序一边 运行的方式,对符合运行条件的控件,执行该控件所封装的功能,并检测其所属 的子节点控件是否具备运行条件,如果具备则该子结点又向其所属的子结点发送 消息判断是否可以运行。同时,该控件在输出结果时又判断与之相连的其他控件, 从而激活整个流程的运行。 5 ) 评价模块 评价模块负责算法评价和流程评价。算法评价是对算法处理的效果进行评价, 流程评价则是从接口匹配、接口参数传递过程中的参数输入是否正确和图形控件 是否有效几方面进行评定。 6 ) 显示模块 显示模块主要负责图像处理结果的显示、属性设置模块和评价结果的显示, 平台中不同的控件关联不同的属性模块。用户可以根据不同的使用意向选择不同 的显示功能模块,并进行模块当中不同控件的属性设置,进行控件相应属性的操 作,平台记录下用户所做的设置操作,以备在显示时进行正确显示。 行入接口 线 控 件 功 能 图2 1 3 线控件结构图 2 3 4 运行机制 运行流程时,首先初始化平台并检测流程编辑器中是否有绘制好的流程,当 绘制好的流程符合评价指标时运行流程,否则报错或提示用户进行相应的改正并 1 9 硕十学位论文箜兰童重查坌堑兰:望签墼盐 - 二- _ - _ - - _ - - - - - - - _ + 。一 2 4 本章小结 本章首先对图像处理的任务和特点进行了讨论,并在此基础上论述了开发平 台的必要性,为平台集成基础算法打下基础。接着在需求分析的基础上讲述了图 像处理平台的总体设计。 硕士学位论文第三章详细设计与实现 第三章详细设计与实现 根据需求,一个具备基本功能的算法流程组装平台需要算法的封装、算法流 程的组装、流程的保存和打开等技术。流程的保存和打开需要外部文件与系统进 行交互,由于流程结构包含的数据量小,平台采用t x t 文件与其交互。下面将详 述各模块的实现。 3 1 主界面模块的设计与实现 3 1 1 主界面 界面是用户和平台交互的窗口,在整个软件的设计当中占据重要的位置,本 软件的界面设计采用v b 提供的控件和窗体组成,为软件的用户界面提供相关的 接口。整个界面分为以下几
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论