当前位置: 首页 > java >正文

图像处理中级篇 [2]—— 外观检查 / 伤痕模式的原理与优化设置方法

外观缺陷检测是工业生产中的关键环节,而伤痕模式作为图像处理的核心算法,能精准识别工件表面的划痕、污迹等缺陷。掌握其原理和优化方法,对提升检测效率至关重要。

一、利用伤痕模式进行外观检查

虽然总称为外观检查,但根据检查对象以及生产线条件的不同,对于图像传感器的性能也有不同的要求。例如,对于小型电子产品,要求能 够检查细小伤痕;对于杯子,要求能够一次性弹性地检查杯子表面的不同之处;而对于薄膜产品,则要求具有高速处理能力。

二、伤痕模式的原理

分割

图像传感器利用摄像元件 CCD 的每个像素的浓度(明暗)数据,根据浓度的变化来检测伤痕或边缘部。考虑到处理全部像素 数据所需时间过长,同时一些不必要的噪点数据会影响检查的结果,因此在本公司生产的 CV 系列中,采用由数个像素构成的 分割 的平均浓度,通过与周围的平均浓度进行对比的方法来检测伤痕。

伤痕模式的核心原理是通过比较图像中 “分割” 区域的灰度差异来识别缺陷。系统将检测区域划分为由多个像素组成的小分割,计算每个分割的平均灰度值,再与周围分割对比,差值超过阈值即判定为伤痕。这种以分割为单位的处理方式,既能减少噪点干扰,又能提高处理速度。

伤痕模式算法(各分割与周围分割进行比较和计算的方法)

 CV 系列中伤痕测量模式的算法:检测原理(检测方向为 X

指定检测方向为 XY(二维)时的处理方法

 XY 为检测方向时,对于包括当前分割在内的 X Y 方向的各 4 个分割(共计 16 个分割),计算最大浓度与 最小浓度的差值。过比较周围4分割(而 不仅是相邻 2  分割) 浓度,可以测出微小的浓度变化(伤痕)

三、圆周方向伤痕检查的原理

对于圆形工件(如轴承、PET 瓶),极坐标转换技术能将圆弧检测区域转换为方形,通过对比圆周和半径方向的灰度变化,实现全方位伤痕检测。例如,检测轴承外圈伤痕时,极坐标转换可消除曲面带来的检测盲区,确保每个位置都被均匀检测。

四、伤痕模式的优化设置方法

优化伤痕模式需重点关注三个参数:分割尺寸、移动量和比较间隔。分割尺寸应与缺陷大小匹配,计算公式为 “伤痕大小 ×Y 方向像素数 / Y 方向视野”,

例如 2mm 伤痕在 120mm 视野、480 像素相机下,最佳分割尺寸为 8。移动量和比较间隔则需根据缺陷特征调整:检测微小伤痕用小间隔,确保精细对比;检测浅淡污迹用大间隔,扩大对比范围以凸显差异。

检测小尺寸伤痕时,应该将移动量及比较间隔均设为较小的值,以便进行细致比较。 检测颜色较浅的污迹时,需要将移动量及比较间隔均设为较大的值,以便在更大的  范围内进行比较。

预处理滤镜能进一步提升检测效果。差分滤镜通过与合格品图像对比,可忽略复杂图案,仅提取污迹;实时差分滤镜则通过原图像与膨胀收缩后图像的差值,精准识别微小黑点,且无需复杂的区域设置。例如,检测带印刷图案的工件污迹时,差分滤镜能有效排除印刷干扰,聚焦于真正的缺陷。

在实际应用中,需结合工件特性优化参数。例如,检测高速移动的薄膜缺陷时,需减小分割尺寸并提高处理速度;检测大型工件表面的浅淡污迹,则需增大比较间隔以增强灰度差异。通过合理设置,伤痕模式能实现从微小划痕到大面积污迹的全类型缺陷检测。

http://www.xdnf.cn/news/16752.html

相关文章:

  • MELF电阻的原理,特性和应用
  • 8,FreeRTOS时间片调度
  • 技术速递|GitHub Copilot for Eclipse 迈出重要一步
  • Leetcode-206.反转链表
  • 当过滤条件不符合最左前缀时,如何有效利用索引? | OceanBase SQL 优化实践
  • 免费语音识别(ASR)服务深度指南​
  • 39.MySQL索引
  • 基于深度学习的医学图像分析:使用YOLOv5实现医学图像目标检测
  • react+ant design怎么样式穿透-tooltip怎么去掉箭头
  • 限流算法详解:固定窗口、滑动窗口、令牌桶与漏桶算法全面对比
  • 实现implements InitializingBean, DisposableBean 有什么用
  • 【2025/07/30】GitHub 今日热门项目
  • arkui 动画曲线
  • 分布式搜索和分析引擎Elasticsearch实战指南
  • SpringBoot 2.7.18 升级 3.4.6
  • duiLib 自定义资源目录
  • C#垃圾回收机制:原理与实践
  • 极致业务弹性 密度性能双管齐下—联想问天 WR5220 G5 服务器测试
  • Spring AI 海运管理应用第2部分
  • Android Animation Transitions:打造流畅的用户体验
  • 全栈:SSH和SSM和Springboot mybatisplus有什么区别?
  • WPFC#超市管理系统(3)商品管理
  • 如何判断一个数据库是不是出问题了?
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(二级)
  • SpringBoot学习 |springboot概念+微服务架构
  • Python并发与性能革命:自由线程、JIT编译器的深度解析与未来展望
  • 滚珠导轨在电子制造中的流畅性优势
  • Electron + Fabric 打包遇到error LNK2001
  • 从数据到预测:InfluxDB+Prophet时间序列分析案例实战
  • 观远 ChatBI 完成 DeepSeek-R1 大模型适配:开启智能数据分析跃升新篇