《软件开发方法与案例分析》软件项目开发实践D_第1页
《软件开发方法与案例分析》软件项目开发实践D_第2页
《软件开发方法与案例分析》软件项目开发实践D_第3页
《软件开发方法与案例分析》软件项目开发实践D_第4页
《软件开发方法与案例分析》软件项目开发实践D_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件开发方法与案例分析软件开发方法与案例分析授课教师:刘伟授课教师:刘伟电电 话:话邮 件:件:bme_ QQ:1071271580办办 公公 室:长安校区东区教研楼室:长安校区东区教研楼 FZ136 室室 (软件工程系办公室)(软件工程系办公室)西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践6. 图像处理系统中的混合语言设计方法及应用图像处理系统中的混合语言设计方法及应用图像处理软件中算法设计算法设计是核心工作,但算法设计是具有一定难度的工作,采用高级语言设计时工作量较大(采用高级语言设计时很多情况下也基于第三方的开发包或 SDK 以节

2、约开发时间,提高开发效率,如著名的 OpenCV 开发包)。许许多情况下根据项目的需要采用多情况下根据项目的需要采用混合语言方式编程混合语言方式编程是一种上佳是一种上佳的解决方案的解决方案。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践混合语言编程混合语言编程 发挥不同语言的优点发挥不同语言的优点高级语言编程平台(高级语言编程平台(C、C+、Java、C#、VB etc)长于 UI 设计、事务处理、数据库管理、网络设计等。科学计算、数据处理与分析编程平台(科学计算、数据处理与分析编程平台(Matlab、SciLib、R etc)长于科学计算(如矩阵处理)、数据处理

3、与分析(如数据统计)、计算结果可视化等。但界面设计等方面不是其优势。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践混合语言开发混合语言开发优点:优点:(1)发挥不同语言平台的优点,强强联合发挥不同语言平台的优点,强强联合。如可视化开发平台 C# 在界面设计方面的优点,科学计算平台 Matlab 在数据处理、科学计算等方面的优点;(2)开发速度快开发速度快。特别是在项目涉及到一些科学计算问题时(如图像处理算法、复杂的数据处理工作)如果采用高级语言平台(如 C+、Java 等)则可能开发周期长,程序编写、调试和测试工作量大。西安邮电大学计算机学院西安邮电大学计算机学院

4、软件项目开发实践软件项目开发实践缺点:缺点:(1)由于是多种语言开发,会影响程序执行效率。由于是多种语言开发,会影响程序执行效率。(2)发布可执行程序时可能会比较复杂发布可执行程序时可能会比较复杂。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践已经有很多混合语言开发的实践经验,如高级语言和科学计算平台的混合(C#、Matlab),高级语言和 SQL 语言的混合(数据库处理,ExecSQL),C / C+ 和 Python 语言的混合等等。对一个复杂的应用系统而言,采用不同语言设计会非常合适。如客户端采用 C+ 设计,服务器端采用 C 语言设计。专门用于专门用于服务

5、器端的数据统计程序完全可以采用服务器端的数据统计程序完全可以采用 Matlab 设计设计。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践观点:由于软件需求的复杂,单一的开发平台无法满足这种需由于软件需求的复杂,单一的开发平台无法满足这种需求,多语言混合编程可能会成为主流求,多语言混合编程可能会成为主流。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践图像处理中混合语言设计软件实例图像处理中混合语言设计软件实例稻谷种子特征参数自动分析软件系统图像检索实验平台西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践稻谷种

6、子特征参数自动分析软件系统稻谷种子特征参数自动分析软件系统 - RiceImageLab项目需求项目需求来自“中国科学院上海生命科学研究院植物生理生态研究所”。背景背景:水稻是我国最重要的粮食作物,稻谷种子质量的好坏直接关系到水稻产量的高低及质量的优劣。利用计算机图像处理技术对稻谷品种进行快速、高效的分类识别,不仅能提高品种鉴定的准确率,缩短鉴定实验周期,还能降低品种识别的检测成本,具有重要的应用价值。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践稻谷不同种类的种子之间存在形状、大小、颜色形状、大小、颜色等各方面的差异,利用机器视觉技术实现稻谷品种识别的关键是对稻

7、谷种子的特征信息进行准确的提取。稻谷种子的形状尺寸形状尺寸是反映种子品质的首要重要特征,通过提取种子的形状参数实现品种的识别与分类是稻谷种子特征参数自动分析软件系统的首选方法。稻谷种子表面颜色表面颜色是反映种子品质的另外一个重要特征。利用机器视觉系统提取作物种子的色泽信息,可以克服因人眼疲劳带来的误差,提高判别效率,同时还可以利用种子各部位的不同颜色做出相应的判断。但颜色特征的缺点是其更易受到光源以及采像设备的影响,因此它仅作为一个补充特征参数。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践稻谷种子图像实例稻谷种子图像实例西安邮电大学计算机学院西安邮电大学计算机学

8、院软件项目开发实践软件项目开发实践客户要求客户要求:所开发的软件系统“稻谷种子特征参数自动分析软件系统稻谷种子特征参数自动分析软件系统”的功能为利用机器视觉技术自动提取稻谷种子的形状和颜色特征参数,为稻谷品种的识别与分类提供技术支持。该系统可以自动读取经扫描仪输出的原始稻谷种子图像(用户随该系统可以自动读取经扫描仪输出的原始稻谷种子图像(用户随机摆放的机摆放的“谷粒群谷粒群”或或“米粒群米粒群”图像)图像),自动计算每粒种子的形状形状(包括面积、周长、长轴长度、短轴长度、长轴短轴比、外接矩形长度、外接矩形宽度、外接矩形长宽比、圆形度、形状复杂度、内切圆半径、最大半径、最小半径、半径比、紧密度等

9、 15 个参数)和颜色特征参数颜色特征参数(包括 RGB、HIS 和 Ohta 颜色空间的红色均值、绿色均值、蓝色均值、色调均值、饱和度均值、亮度均值、I2 均值、I3 均值等 8 个参数),所有的计算结果均被自动储存到外部文本文件中供用户下一步分析处理所有的计算结果均被自动储存到外部文本文件中供用户下一步分析处理(使用使用 SPSS 软件进行统计分析软件进行统计分析),同时自动生成表示分析结果的可视化图形文件同时自动生成表示分析结果的可视化图形文件供用户浏览供用户浏览。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践客户要求(客户是中科院的水稻研究人员)客户要求(

10、客户是中科院的水稻研究人员)(1)开发周期短开发周期短,10 14 天内提供,越快越好;(2)使用方便,不需要用户过多的计算机知识。本软件系统作为一个辅助水稻研究人员工作的计算程序,仅需用户输入若干参数便可以实现全自动分析全自动分析功能。(3)简单、实用的人机界面。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践设计思路设计思路(1)客户要求开发周期短开发周期短,而且是计算机图像处理系统这样需要较多算法知识的开发工作,采用高级语言平台(如 C+、Java 等)会涉及到大量的代码编写、调试和测试工作,极有可能在此周期内无法完成工作。(2)使用高级语言设计部分人机界面,

11、使用 Matlab 进行核心的图像处理算法设计可以实现客户的项目要求。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明本软件系统是一个非常典型的计算机视觉、图像处理与模式识别的应用程序。使用了该领域内的经典处理方法。处理步骤为:(1)读入原始稻谷图像(包含随机摆放的多粒稻谷种子),如果是真彩色图像则将其灰度化;(2)用3 3窗口对转换后的灰度图像进行中值滤波;(3)用阈值法将灰度图像转换为二值图像;(4)采用数学形态学方法消除二值图像中稻谷种子区域的孔状噪声和背景中的点状噪声;(5)将二值图像中的每个种子区域分割出

12、来;(6)计算每个种子区域的颜色和形状特征参数,并将计算结果储存到外部文本文件中。还可以根据用户设置自动生成一个表示分析结果的图形文件。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明采用采用 Matlab(科学计算平台)(科学计算平台) 和高级语言平台(早期采用

13、和高级语言平台(早期采用 Delphi 设计,设计,后期将其转换为后期将其转换为 C# 平台)混合开发方式平台)混合开发方式。Matlab 完成了图像处理的核心算法,高级语言平台完成了部分人机界面以及分析结果图形文件的自动生成工作。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明启动主程序后,系统将显示如左图的人机界面,用户只用户只需要单键就可以执行命令需要单键就可以执行命令,快捷方便。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明“

14、输入字母输入字母 a 或或 A ”后将计算单幅图像中稻谷种子的参数。出现如下图所示的对话框,要求用户选择一幅米粒群或谷粒群图像进行计算。程序支持的图像文件格式为 JPG 或 TIFF 格式,扩展名分别为 jpg 和 tif。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明选中目标图像文件后,程序开始自动处理,步骤依次为:(1)自动分析出整幅图像中每个稻谷种子的位置和区域;(2)依次计算每个种子的颜色和形状特征;(3)自动将计算结果储存到外部的文本文件中;(4)根据用户设置与否自动生成可视化图形结果文件。西安邮电大学

15、计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明稻谷种子图像自动分析的中间结果。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明计算参数的结果文本文件西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明“谷粒谷粒”图像分析结果可视化图形图像分析结果可视化图形“米粒米粒”图像分析结果可视化图形图像分析结果可视化图形西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软

16、件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明“输入字母输入字母 b 或或 B”后将以批处理方式批处理方式自动计算指定目录下的全部稻谷种子图像文件。用户可以将待分析的全部图像放入某一专门的目录中,然后使用本功能,这样可以一次处理多幅图像。注意这项功能的设计,用户开注意这项功能的设计,用户开始并未提及这一功能,在软件设计中感觉这一功能比较实用,所以增加了始并未提及这一功能,在软件设计中感觉这一功能比较实用,所以增加了该功能。用户实际使用时对该功能非常满意该功能。用户实际使用时对该功能非常满意。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现

17、要点及软件设计说明技术实现要点及软件设计说明系统参数设置系统参数设置采用窗口窗口 GUI 方式,由高级语言开发,并由由 Matlab 主程主程序调用执行序调用执行。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践技术实现要点及软件设计说明技术实现要点及软件设计说明可视化图形结果文件的自动生成程序可视化图形结果文件的自动生成程序采用控制台控制台 Console 方式,由高级语言开发,并由由 Matlab 主程序调用执行主程序调用执行。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践可视化图形结果文件的自动生成。西安邮电大学计算机学院西安邮电

18、大学计算机学院软件项目开发实践软件项目开发实践软件设计中遇到的一些问题处理软件设计中遇到的一些问题处理(1)内存溢出)内存溢出给定的稻谷图像尺寸非常大(最大的文件图像分辨率为 4279 x 6727 像素点,磁盘文件大小约为 85 MB),占据内存较多,在处理个别文件时会出现内存溢出问题。给用户的解决方案给用户的解决方案:关闭暂时不用的其他软件;增加Windows系统虚拟内存空间;在扫描图像时,尽可能控制扫描所得图像的分辨率尺寸。软件自身的改进软件自身的改进:做了很多内存优化处理。西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践软件设计中遇到的一些问题处理软件设计中

19、遇到的一些问题处理(2)算法的修正)算法的修正种子粘连处理种子粘连处理西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践软件设计中遇到的一些问题处理软件设计中遇到的一些问题处理种子区域填充处理种子区域填充处理西安邮电大学计算机学院西安邮电大学计算机学院软件项目开发实践软件项目开发实践图像检索实验平台图像检索实验平台 - GriL为什么要开发图像检索实验平台?为什么要开发图像检索实验平台?(1)图像检索研究中为了评价不同算法的性能,比较实验研究是一种主要的研究手段;(2)图像检索实验中的各个步骤对不同的检索实验是完全类似的,没有必要针对每次实验均编写程序代码;(3)实验平台可以使研究者不用编写任何代码,仅仅向平台提交一些参数便可完成检索实验;该平台降低了研究者的工作量,使他们可以专心于算法的设计,而不必处理图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论