利用OpenCV识别玻璃纤维织物劈缝缺陷

news/2024/7/9 1:41:03

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

玻璃纤维织物是经编多轴向织物,由一层或多层平行的纱线按照尽可能多的方向交错而成的。织物具有一定的密实度和厚度,颜色一般为白色,生产时的质量缺陷主要为劈缝缺陷,在线生产速度为2m/min,幅宽一般为2.5m左右,检测精度要求为0.5mm。

本文根据生产实际状况,搭建了玻纤织物缺陷在线检测系统平台如图1所示。由图可以看出,工业相机、镜头及光源组成了机器视觉检测系统的图像采集模块。本次研究采用了全局曝光的面阵相机搭配GigE工业相机、Computa高清镜头。

31ec94d3fc0d31be1a00061fab104fb9.png

图1 玻璃纤维织物缺陷在线检测系统平台

解决方案:

由于织物材料为白色的玻璃纤维丝,正面光照会使图像反光,我们将条形光源放在织物下方进行背光照明。通过采用该图像采集模块可以获得高对比度的图像,当织物无缺陷时,图像上没有透光部分,如图2所示,织物有缺陷时,织物缺陷部分将有亮光透过,缺陷将被清晰的勾勒出来,右下图中高亮区域即为织物的劈缝缺陷。

ab78adf5c47d72cf3249b6cb89e137de.png

图2 有缺陷和无缺陷玻璃纤维织物

采集图像后,采用OpenCV图像处理软件进行织物的质量检测。一般情况下正常玻璃纤维织物的纹理具有一致的周期特性和统一的色彩分布,但当织物的纹理遭到破坏产生缺陷时,便不再具备一致的周期性和统一的色彩分布,因此,玻璃纤维织物疵点的检测主要是采用提取织物的纹理信息和灰度分布来判断织物的疵点的存在与否。 

基于OpenCV机器视觉库的图像处理法进行织物的缺陷检测 

首先对图像处理进行平滑处理以消除噪声干扰,然后对图像进行图像分割、形态学处理和特征提取,最后对提取的缺陷特征进行参数计算,求出图像中的缺陷的个数、发生的位置、尺寸等参数。

e7637095d105c35da23e120791069253.png

图3 织物的图像处理过程

图像平滑:采用均值滤波器(blur函数)对图像进行平滑处理,减少噪声干扰。

图像分割:采用全局阈值法进行图像分割,即利用threshold函数实现缺陷和背景纹理的二值化分割,有缺陷的用白色像素表示,背景纹理用黑色表示。

形态学处理:采用形态学中的闭运算操作对二值化的图像进行处理,消除干扰的小杂点,提高缺陷的检出率及检测准确性。

特征提取:利用OpenCV中findContours实现形态学处理后图像的轮廓提取与分析,先采用contourArea函数计算出每个轮廓的面积,并通过与设定的面积参数比较赛选出符合缺陷面积特征的轮廓后,通过contours.size()计算出织物中缺陷的个数。

特征参数计算:为计算织物中位置和尺寸等特征,采用minAreaRect函数构造出缺陷轮廓的最小外接矩形,由最小外接矩形中心的X和Y坐标值、矩形的倾斜角度、矩形的宽度和高度等参数,从可计算出缺陷的特征参数。

本文根据实际生产情况搭建了基于机器视觉的玻璃纤维织物在线检测平台,结构简单,易于实现,照明方式减少了织物材质对成像的影响,使图像中的目标信息与背景信息得到了最佳的分离,形成了有利于图像处理的成像效果。有效地改善玻璃纤维织物的在线质量检测生产现状,为其他类型织物的质量检测提供了参考。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

1e4cecaf8b10c33d240bdf9a42e4d3a8.png

38948ca52434764c3b6061f82a0c4e6a.png


http://lihuaxi.xjx100.cn/news/272841.html

相关文章

Angular:Promise.all()的具体应用

现有项目开发中,从后台获取数据用异步promise,可是异步的数据要顺序获取真的是好费劲啊,还好解锁了promise.all(),下面来看代码吧! 遍历this.groupList通过groupID获取组内成员,将获取的成员push到finalAcc…

纠结pytorch, tensorflow, keras 一个月之后,我自己创造了一个神经网络框架

深度学习神经网络正步入成熟,而深度学习框架目前众多,大都可以在图像识别、手写识别、视频识别、语音识别、目标识别和自然语言处理等诸多领域大显身手。深度学习框架平台占据人工智能产业生态的核心地位,具有统领产业进步节奏、带动终端场景…

vb.net与matlab的混合编程

首先,使用deploytool工具或者命令行将matlab的m文件编译成类,结果产生动态链接库.dll文件和一些c#代码的类. 第二步,将这些dll文件导入进去,并使用一些win32api函数,因为此m文件会产生figure窗口,这些api函数将此figure窗口嵌入到vb程序窗体里面. 代码: Imports SystemImports …

【python教程入门学习】Python零基础入门爬虫项目

Python入门爬虫项目 这是我的第一个python项目,分享给大家。 需求 我们目前正在开发一款产品其功能大致是:用户收到短信如:购买了电影票或者火车票机票之类的事件。然后app读取短信,解析短信,获取时间地点&#xff…

序列化:ProtoBuf与JSON的比较

点击上方“方志朋”,选择“设为星标”回复”666“获取新整理的面试文章来源:https://my.oschina.net/xiaolei123/blog/3085607介绍ProtoBuf 是google团队开发的用于高效存储和读取结构化数据的工具。什么是结构化数据呢,正如字面上表达的&…

mongodb远程数据库的连接以及备份导入导出数据

2019独角兽企业重金招聘Python工程师标准>>> 有权限认证的需要加:--authenticationDatabase admin ----- ./mongo -u 用户名 -p 密钥 ip地址:端口/admin -------- 环境win10; 运行cmd cd到目录mongodb的bin目录: 连接远程mongodb: 连接命令&#xff1…

用VS2005打开方案出现“此安装不支持该项目类型”

当在用VS2005打开已有项目时常会出现“此安装不支持该项目类型”。 出现此原因是因为已有项目是在打了VS 2005 SP1补丁后编写的,所以在没有打补丁的.net中会出现此种情况 下面就补丁下载:VS80sp1-KB926604-X86-CHS.exeWebApplicationProjectSetup.msi

远程办公是巨头游戏?十倍扩容,他们如何做到百万级并发流量

疫情发生后,除了Zoom这样深耕视频会议多年的软件,钉钉、企业微信、飞书等一大批互联网巨头也开通了免费服务,凭借着自身庞大的资源四处招揽用户。 据说,远程办公工具是2020年的第一个风口。 疫情发生后,除了Zoom这样深…