LabVIEW基于机器视觉的钢轨表面缺陷检测系统

2023-12-11 01:10

本文主要是介绍LabVIEW基于机器视觉的钢轨表面缺陷检测系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LabVIEW基于机器视觉的钢轨表面缺陷检测系统

机器视觉检测技术和LabVIEW软件程序,可以实现轨道工件的表面质量。CMOS彩色工业相机采集的图像通过图像预处理、图像阈值分割、形态分析、特征定位和图案匹配进行处理和分析。图形显示界面采用LabVIEW软件编程设计,进行钢轨缺陷的实时显示。系统能够快速有效地诊断钢轨表面裂纹和划痕两大缺陷。容易实现缺陷表面检测的智能化,达到钢轨生产中钢轨工件表面缺陷检测的要求。

目前,表面缺陷检测作为制造业中不可或缺的关键步骤,已广泛应用于航空、陶瓷、汽车零部件制造、金属和电子元件设备等工业制造领域。表面缺陷检测的发展历史大致可分为三个阶段:人工视觉检测、机电光学技术检测和机器视觉检测。虽然人工目视检查方法被广泛使用,但依靠目视检查的漏检率很高,对工人来说强度相对较高。机电光学测试有很大的局限性。例如,电磁感应检测方法只能检测电流阻断缺陷,而超声波检测需要耦合剂并且容易受到干扰。以上两种检测方法已不能满足现代工业产品表面缺陷检测的要求。与前两种检测方法相比,机器视觉检测方法受环境磁场的影响较小,工作距离大,测量精度高。机器视觉检测方法满足了生产线快速的生产节奏和现代工业自动检测的效率和精度要求。目前,机器视觉检测已成为工业产品表面质量监测的重要先进手段和技术,更适合于自动化生产线的在线监测。

在钢轨轧制过程中,由于加工工艺不完善、设备和部件老化等因素,钢轨表面经常出现各种缺陷。缺陷主要包括:裂纹、划痕等。这些缺陷对产品的外观、耐磨性和耐腐蚀性有很大影响。严重影响钢轨的质量和性能指标。因此,检测生产线上的钢轨表面缺陷尤为重要,利用LabVIEW制备了一套完整的钢轨表面缺陷检测系统,满足自动检测的效率和精度要求。

系统硬件组成

硬件系统由运动控制模块、照明模块和图像采集模块组成。运动控制模块包括机械传动带、单片机和运动控制卡。该模块用于驱动检测装置上的机械传送带,使平面在工作台上高速移动。因此,图像采集模块可以准确快速地扫描工件。照明模块包括一个LED光源。光源是机器视觉系统中非常重要的一部分。适当的光源照明可以大大提高捕获图像的清晰度,降低图像处理算法中分割和识别的难度。形成最有利于图像处理的成像效果,从而提高系统的可靠性和综合性能。根据钢轨工件检测现场的实际情况和钢轨材料本身的影响,使钢轨表面易于反映。因此,该系统采用频闪自由白环LED光源,使用寿命长,亮度高,光扩散均匀,可以解决对角线照明阴影的问题。图像采集模块由工业相机、光学镜头和图像采集卡组成。目前,用于工业产品表面缺陷检测的工业相机主要包括CCD相机和CMOS相机。CMOS相机的传感器比CCD相机具有更高的传输速度,分辨率和更低的功耗。为了最大限度地保留图像信息,系统采用CMOS彩色工业相机采集图像。

系统工作过程:待测工件放置在工作台上,A点限位开关检测工件;计算机触发图像采集单元根据位置检测信号采集图像;机械传动带由运动控制模块触发,带动工件从A点到B点的目标位置;捕获的图像通过LabVIEW的IMAQVision通信模块发送到主控制计算机;经过一系列的图像处理和分析,识别被测工件中缺陷的类型和位置,并统计缺陷信息。

系统软件设计

LabVIEW软件编程是一种基于程序代码的图形化编程语言。它提供了大量的图像预处理、图像分割、图像理解函数库和开发工具。使用LabVIEW机器视觉软件作为开发平台,可以建立快速高效的自动检测系统。

该系统的软件主要由LabVIEW软件编译。LabVIEW软件编译的算法控制相机拍摄待测钢轨工件的实时照片,并采集待测钢轨工件的图像信息。CMOS彩色工业相机采集的图像通过图像采集模块传输到LabVIEW虚拟仪器开发平台。采用直方图和灰度变换处理图像信息,开始采用线性灰度直方图对采集到的图像进行预处理和滤波。图像预处理完成后,通过阈值分割和形态分析的图像处理技术,尽可能消除干扰噪声。实现基于图像灰度特征的物体存在检测和模式匹配。通过图案匹配的结果,可以对钢轨工件的表面缺陷进行检测和分类。

图像预处理

为了最大限度地保留图像信息,提高钢轨工件缺陷检测的准确性。该系统使用彩色工业相机采集图像,因此采集的图像为RGB图像。

系统采用LabVIEW的IMAQ直方图功能模块,对采集到的待测钢轨工件图像进行过滤,排除无明显缺陷的钢轨工件。不排除的工件被视为难点零件,然后进入后续检测过程进行进一步分析和加工。

由于待测工件与背景之间的灰度明显不同,不同目标的灰度值会在直方图中聚集成峰值。当可以清晰区分图像灰度直方图的峰值时,可以以谷底附近的灰度值作为完成图像分割的阈值。因此,使用直方图对钢轨工件图像进行预处理,为后续的图像分割带来了极大的便利。

图像阈值分割

图像分割的过程是为了进一步简化图像分析、处理和机器决策的过程。阈值分割主要利用检测物体灰度与背景的差值,选择一个或多个灰度阈值,根据像素灰度和阈值的对比结果对像素进行分类。

系统使用LabVIEW的视觉和运动图像处理功能调板中的IMAQ阈值功能模块,实现单灰度范围中的图像分割。系统使用LabVIEW的IMAQ局部阈值功能模块,通过定义适合钢轨缺陷检测系统的局部阈值算法,对阈值的灰像进行划分。

形态学分析

与检测到的物体相似的一些点和噪声会干扰从图像中提取有用信息。形态分析过程可以消除这些区域并增强图像中的有用信息。蚀刻是形态学算法之一,可以消除图像中相对背景亮度较高的孤立像素。并将像素的灰度值更改为其邻域中像素的最小灰度值,缩小明亮的目标区域,并扩展图像中的暗背景。系统在LabVIEW中应用IMAQ灰色形态功能模块对钢轨图像进行腐蚀操作,过滤图像中下部的大面积无关噪声。

然后使用IMAQ去除粒子功能模块过滤图像中的小面积独立噪声。消除与轨道表面缺陷无关的大小颗粒噪声。

D.图像特征和分析

基于LabVIEW机器视觉的钢轨表面缺陷检测系统以图像的像素灰度为研究目标,根据标准图像中目标的特性确定参考坐标系。基于图像灰度定量指标,构建用于识别和机器决策的特征模式。

系统将标准示例图像特征读入内存。程序在搜索参考坐标系模式下调用IMAQFindPattern3功能模块,搜索标准样本图像中与要素模板匹配的部分,以设置标准图像的参考坐标系。然后使用在更新测量坐标系模式下工作的IMAQFindPattern3功能模块重新匹配新图像的要素模板以更新测量坐标系。

系统监控的矩形区域基于标准图像。根据输入测量坐标系与参考坐标系的关系,调用IMAQ变换ROI功能模块,将矩形ROI转换为合适的位置。确定矩形ROI位置后,调用IMAQROIToMask功能模块,将矩形ROI转换为图像遮罩。IMAQ直方图根据图像掩码计算矩形区域中的灰度量化指数。获取测量坐标系后,调用IMAQ测光表功能模块。IMAQ测光表功能模块可以在指定的矩形范围内返回灰度量化指数。此外,IMAQ测光表功能模块可以根据参考坐标系和测量坐标系之间的关系,自动将测量ROI调整到适当的位置进行计算。检查计算出的平均灰度值和灰度分布的标准差是否在设定范围内。

E.图像模式匹配

基于灰度的图案匹配以像素灰度或灰度梯度信息为特征。本文使用LabVIEW中的IMAQ学习模式和IMAQ匹配模式功能模块来匹配轨道工件图像的灰度级别。使用IMAQ读取图像和视觉信息VI和IMAQ写入图像和视觉信息VI分别打开和创建模式匹配模板。使用设置学习模式功能模块建立模型的学习模式,获取原始图像的数据。结合设置匹配模式功能模块设置匹配模式、角度、对比度等参数。在获取图像的特征数据后,程序调用IMAQ匹配模式,将目标图像与模板进行匹配。匹配后,IMAQ匹配模式将输出匹配区域的数量、位置、大小、角度、相似度等信息封装在匹配集群中。最后,程序根据返回的位置信息标记图像中的匹配区域。

表面缺陷检测实验

钢轨表面裂纹和划痕分类程序主要使用IMAQ分类模块中的读取分类器文件功能来读取分类文件。使用添加分类器样本添加分类样本。使用获取分类器示例信息VI检索示例缩略图和类别标签。IMAQ分类功能用于对给定ROI内的样品进行分类。

通过实验分析,基于LabVIEW机器视觉的钢轨表面缺陷检测系统完全满足钢轨表面划痕和裂纹的缺陷检测要求。

这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

这篇关于LabVIEW基于机器视觉的钢轨表面缺陷检测系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/bjcyck/article/details/133997579
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/478939

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网