2 系统需求分析及设计
本章将从自动瑕疵检测系统的系统需求入手,引出完成开发任务所需要实现的相关功能 以及系统整体架构。
2。1 系统需求及总体目标
本项目为华为公司的委托课题,据目前其网络终端生产中出现的外观问题,将需要检测 的瑕疵分为以下几类:
⑴ 深/浅划痕:深划痕为产品表面的深度线性划痕,用指甲能够感觉到,看上去较为明显; 浅划痕为无深度感的擦伤或划伤,用指甲感觉不到,看上去不明显。
⑵ 脏污:包括手印、油渍、指纹、污迹等不良现象。
⑶ 异色点:颜色和产品表面颜色不同的点,如白底黑点等。
⑷ 标签错误:标签位置不正确,或出现缺边、卷边等缺陷。
⑸ 图文错误:文字颜色出错,文字倾斜,或部分缺失。
对于系统的检测性能,要求在硬件配置为:Windows7 32 位操作系统、Intel(R) Core(TM)i5 CPU、4。00GB 内存下,基于低像素级相机(200 万像素)采集的外观图像,并按要求完成检 测任务,并使得每个产品的检测时间不超过 4 秒。
根据以上要求,我们可以了解到,该系统的主要设计目标为面向平面状工业产品外观, 开发出一套瑕疵检测系统,能够在特定硬件配置条件下,在有限时间内,对可能存在的几类 瑕疵进行检测,并返回检测结果供后续产品处理。
为了满足上述需求,需要在开发过程中注意以下几个原则:
⑴ 实用性:由于瑕疵的类别和特性较多且存在差异,要求对于不同种类的瑕疵都能够做 到较为精确的检测和定位,因此系统要做到尽可能多、尽可能准确地检测到瑕疵并定位,具 有良好的实用性。
⑵ 实时性:由于该系统面向的是工业产品的生产流水线,因此要实现在有限的时间内完 成一件产品的检测,同时保证最佳的检测效果。
⑶ 扩展性:为了满足在检测系统上进行相关功能完善和开发的二次开发支持,在完成系 统功能的同时需要注意扩展性的问题。这就需要在系统设计时做好科学的规划和设计。在做 好底层功能的开发的前提下,更要保证程序层次化、模块化。
⑷ 自主性:为了降低软件开发成本,减少对于商业软件的依赖性和可能因此带来的潜在 危害,在开发过程中选择开源的工具进行开发。这同样可以提高软件对于需求的匹配程度。
⑸ 简单性:在完全实现系统的功能的前提下,尽量使得系统操作简单明确,这对于一 个系统来说也是非常重要的。
2。2 主要开发工具及系统结构
通过对于自动瑕疵检测系统的开发需求和设计原则的分析和理解,我们需要对开发过程 中使用的编程工具进行选择,然后对整个系统的体系结构进行总体设计。
2。2。1 主要开发工具
⑴ 开发工具:Visual Studio 2010
Microsoft Visual Studio(简称 VS)是美国微软公司的开发工具包,是一套完整的开发工 具集,整个软件生命周期中所需要的工具基本都囊括其中,比如 UML 工具、代码管控工具、 集成开发环境(IDE)等。其包含基于组件的开发工具如 Visual C++、Visual C#等,以及许多用 于简化解决方案的设计、开发、部署技术等,所写的目标代码适用于微软支持的所有平台。 VS 有很多的版本,出于客观因素考虑,在开发过程中使用了 VS2010。与之前的版本相比, VS2010 的界面更加清晰和简洁,使用起来也更加方便, 容易上手。 VS2010 带来。NET
Framework 4。0 并且支持开发面向 Windows7 的应用程序。