版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
齿轮缺陷检测系统软件开发分析案例目录TOC\o"1-3"\h\u15578齿轮缺陷检测系统软件开发分析案例 1235961.1软件开发环境 114891.2软件界面模块介绍 336551.3软件功能模块介绍 41.1软件开发环境在对软件系统进行设计时,首先需要对软件应用的实际情况进行分析,综合硬件、软件方面的各种因素,选取适合整个系统的软件环境,做好前期的准备工作,才能定位软件系统实现的复杂度以及困难,从而更好地推进整个项目的进展。目前国内外已经出现各种可靠高效的基于计算机图像处理的软件,这些软件依靠不同软件开发平台,设计了综合、交互、视觉编程中缺陷检测软件的界面。以下将对本文软件系统所采用的开发语言、开发平台等方面进行详细的介绍。1.1.1QT简介Qt是1994年奇趣科技公司(Trolltech)提供的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI(图形用户界面)程序,也可开发非GUI程序,如控制台工具和服务。它是面向对象的程序开发框架,使用特殊的代码生成扩展(称为元对象编译器(MetaObjectCompiler,MOC)以及一些宏,易于扩展,允许组件编程。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。图6-1QT图标程序员使用Qt开发应用程序,只要进行一次程序设计,开发应用程序就能够在不同桌面和嵌入式操作系统运行,而不必修改源代码。Qt具有开源、高效、支持跨平台开发、丰富的API、灵活可靠、支持多种开发语言、面向对象和支持XML开发文档等特点,而且Qt一定程度上简化了内存回收机制,开发效率高,能够快速的构建应用程序。Qt与XWindow上的Motif、Openwin、GTK等图形界面库和Windows平台上的MFC、OWL、VCL、ATL是同类型的东西,但与它们相比,Qt具有下列优点:(1)优良的跨平台特性。具有跨操作系统平台优势,Qt支持MicrosoftWindows95/98、MicrosoftWindowsNT、Linux,、Solaris等操作系统环境下的C++语言图形界面应用程序开发。(2)兼容性强。Qt支持C++语言“一次编写,随处编译”的方式,允许程序员使用C++语言单一源码来构建可以运行在不同操作系统平台下的应用程序的不同版本。(3)面向对象的特性体现得比MFC明显。就面向对象这一点来讲,Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发程序来说是非常方便的。1.1.2OpenCv简介OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。
它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。图6-2OpenCV图标OpenCV,可以说是使用最广泛的计算机视觉库,它包括几百个易用的图像成像和视觉函数,既可用于学术研究,也可用于工业领域。随着摄像机越来越便宜和对影像学特征需求的增长,无论是对于台式机还是移动平台,OpenCV的应用范围都有了显著增长。OpenCV的一个有点是它提供了大量内置基元去处理涉及图像处理和计算机视觉的操作。如果从零开始写一些东西,你需要定义一些对象包括图像、点、矩形等。这些几乎是任何计算机视觉算法的基础。OpenCV提供了这些可以立即使用的基本框架,并且在核心模块中包含了它们。另一个优势是这些基本框架已经在运行速度和内存使用上进行了优化,所以不需要担心实现细节。1.1.3软件实现流程图图形用户界面是一种人和计算机交流的图像界面,操作用户使用输入外设设备对界面上的各种按钮或者菜单进行操作,软件经过相应处理后,通过图像界面给用户反馈数据信息[57]。界面在图像处理检测相关软件中有很重要的作用:首先,最重要的是有界面才能直观反映图像检测结果;其次用户修改算法参数的过程大大地降低了困难程度,也就是降低了对图像检测操作人员的培养难度。图6-3齿轮缺陷检测系统软件实现流程该齿轮缺陷检测系统界面如下图所示,通过点击打开图片,选择需要进行检测的图片,左上角会显示运行的时间,如果满足条件,实时监控则会显示通过,反之,如果不满足,则会显示不通过。随着零件数目的增加,左下角会显示出零件总数、缺陷数以及计算出合格率。图6-4软件界面1.2软件界面模块介绍本文中图片输入窗口使用控件QLabel,设定框架形状frameShape为Box,并勾选scaledContents,设置QLabel中内容对齐方式为水平居中;实时监控窗口采用QLineEdit单行文本编辑控件,并设定其宽度为150,高度为100。点击按钮打开图像并显示的功能实现,通过信号与槽的编程机制来实现,打开按钮使用了QPushButton控件,设置在控件上按下回车键时,响应控件的click事件。使用QFileDialog中getOpenFileName控件打开文件并设定好默认打开路径,设定文件后缀名过滤器为ImageFiles(*.jpg*.png*.bmp),QFileDialog::getOpenFileName(this,"openfile","D:/photo","ImageFile(*.png*.jpg*.jpeg*.bmp)"),并通过QPixmap构造函数用来显示图片QPixmaptempPixmap=QPixmap::fromImage(tempQImage);,并将图片放缩填充到对应大小。代码见附录。1.3软件功能模块介绍1.3.1判断零件是否合格软件找出最大轮廓长度,如果超过阈值,则判断错误,不用管共有多少条超过阈值,都会判断错误。实现函数的代码如下,1.3.2显示合格率、缺陷数、监测总数等信息随着零件数目的增加,左下角会显示出零件总数、缺陷数以及计算出合格率。实现函数的代码如下,1.4实验结果及分析选取两种缺陷分别为划痕和凹坑,对其图片进行连续处理,并检测是否合格。1.4.1划痕缺陷连续处理(1)代码部分(2)图像显示针对图6-5,使用cvtColor函数将其转换为灰度图,并经过调试设定阈值为180进行二值化,得到图6-6; 图6-5 图6-6可见图6-6中存在面积较小的连通域,需要将其去除便于后续检测,可通过开运算来去除小白点,本文采取宽度为1高度为3的矩形核来运算,运算后效果如图6-7所示;可见图6-7中目标区域存在黑色孔洞,故需要将其填充,选用闭运算来弥合小裂缝同时保证形状不变,本文采取宽度为3高度为5的矩形核来运算,运算后效果如图6-8所示; 图6-7 图6-8对预处理后的图片进行Canny边缘检测,通过调试设定低阈值为50,高阈值设定为200,边缘结果如图6-9所示;对检测得到的边缘进行轮廓发现,定义轮廓的检索模式为只检测最外围轮廓CV_RETR_EXTERNAL,定义轮廓近似方法为仅保存轮廓的拐点信息CV_CHAIN_APPROX_SIMPLE,并绘制轮廓如图6-10所示; 图6-9 图6-10使用函数boundingRect计算轮廓的垂直边界最小矩形,矩形是与图像上下边界平行的,并在原图上画出轮廓的垂直
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建省石狮市高考物理周测试卷带答案详解(考试直接用)
- 2026年河北省安国市高考物理学业考试模拟卷附完整答案详解(必刷)
- 2026年山西省汾阳市高考物理二轮专题模拟卷含完整答案详解【夺冠】
- 办公场所清洁服务标准确认函(8篇范文)
- 2026年吉林省公主岭市高考物理一模测试卷附参考答案详解(模拟题)
- 2026年贵州省仁怀市高考物理周测试卷必考题附答案详解
- 建筑装修材料采购管理指南
- 2026年江苏省溧阳市高考物理自主招生测试卷附答案详解【培优A卷】
- 2025年湖南省洪江市高考物理三轮冲刺考试卷【名校卷】附答案详解
- 2025年湖南省湘乡市高考物理一轮复习测试卷含答案详解(综合卷)
- 水处理班组安全培训
- 2026年软件测试工程师面试题大全
- 工程总承包项目费用管控方案
- 电子件行业知识培训内容课件
- 2025入党积极分子考试试题库(附参考答案)
- 保安员三级安全教育(班组级)考核试卷及答案
- DB6531∕T 035-2024 英吉沙小刀制作技术规范
- 2024-2025学年北京市西城区人教版五年级下册期末测试数学试卷(含答案)
- 燃气场站防雷管理制度
- 石油化工设备和管道涂料防腐蚀设计标准SHT 3022-2019
- 《建筑业企业资质等级标准》(建建200182号)-20210829233
评论
0/150
提交评论