利用OpenCV识别玻璃纤维织物劈缝缺陷
重磅干货,第一时间送达
玻璃纤维织物是经编多轴向织物,由一层或多层平行的纱线按照尽可能多的方向交错而成的。织物具有一定的密实度和厚度,颜色一般为白色,生产时的质量缺陷主要为劈缝缺陷,在线生产速度为2m/min,幅宽一般为2.5m左右,检测精度要求为0.5mm。
本文根据生产实际状况,搭建了玻纤织物缺陷在线检测系统平台如图1所示。由图可以看出,工业相机、镜头及光源组成了机器视觉检测系统的图像采集模块。本次研究采用了全局曝光的面阵相机搭配GigE工业相机、Computa高清镜头。
图1 玻璃纤维织物缺陷在线检测系统平台
由于织物材料为白色的玻璃纤维丝,正面光照会使图像反光,我们将条形光源放在织物下方进行背光照明。通过采用该图像采集模块可以获得高对比度的图像,当织物无缺陷时,图像上没有透光部分,如图2所示,织物有缺陷时,织物缺陷部分将有亮光透过,缺陷将被清晰的勾勒出来,右下图中高亮区域即为织物的劈缝缺陷。
图2 有缺陷和无缺陷玻璃纤维织物
采集图像后,采用OpenCV图像处理软件进行织物的质量检测。一般情况下正常玻璃纤维织物的纹理具有一致的周期特性和统一的色彩分布,但当织物的纹理遭到破坏产生缺陷时,便不再具备一致的周期性和统一的色彩分布,因此,玻璃纤维织物疵点的检测主要是采用提取织物的纹理信息和灰度分布来判断织物的疵点的存在与否。
首先对图像处理进行平滑处理以消除噪声干扰,然后对图像进行图像分割、形态学处理和特征提取,最后对提取的缺陷特征进行参数计算,求出图像中的缺陷的个数、发生的位置、尺寸等参数。
图3 织物的图像处理过程
图像平滑:采用均值滤波器(blur函数)对图像进行平滑处理,减少噪声干扰。
图像分割:采用全局阈值法进行图像分割,即利用threshold函数实现缺陷和背景纹理的二值化分割,有缺陷的用白色像素表示,背景纹理用黑色表示。
形态学处理:采用形态学中的闭运算操作对二值化的图像进行处理,消除干扰的小杂点,提高缺陷的检出率及检测准确性。
特征提取:利用OpenCV中findContours实现形态学处理后图像的轮廓提取与分析,先采用contourArea函数计算出每个轮廓的面积,并通过与设定的面积参数比较赛选出符合缺陷面积特征的轮廓后,通过contours.size()计算出织物中缺陷的个数。
特征参数计算:为计算织物中位置和尺寸等特征,采用minAreaRect函数构造出缺陷轮廓的最小外接矩形,由最小外接矩形中心的X和Y坐标值、矩形的倾斜角度、矩形的宽度和高度等参数,从可计算出缺陷的特征参数。
本文根据实际生产情况搭建了基于机器视觉的玻璃纤维织物在线检测平台,结构简单,易于实现,照明方式减少了织物材质对成像的影响,使图像中的目标信息与背景信息得到了最佳的分离,形成了有利于图像处理的成像效果。有效地改善玻璃纤维织物的在线质量检测生产现状,为其他类型织物的质量检测提供了参考。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~