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

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

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

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

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

二、伤痕模式的原理

分割

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

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

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

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

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

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

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

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

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

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

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

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

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

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

http://www.dtcms.com/a/307827.html

相关文章:

  • 【n8n教程笔记——工作流Workflow】文本课程(第二阶段)——1 理解数据结构 (Understanding the data structure)
  • 【单片机】【分布式】从单机到分布式:Redis如何成为架构升级的关键力量
  • uniapp开发App如何使用正确高德地图。uni.chooseLocation数据不展示问题,uni.getLocation不生效问题。
  • Leetcode-206.反转链表
  • linux运维学习第十三周
  • 数据库学习------数据库隔离类型及其与事务特性
  • 会议室预定系统核心技术:如何用一行SQL解决时间冲突检测难题
  • Spark SQL 的 SQL 模式和 DSL模式
  • 前端js通过a标签直接预览pdf文件,弹出下载页面问题
  • Hive课后练习题
  • Docker 初学者需要了解的几个知识点 (七):php.ini
  • ode with me是idea中用来干嘛的插件
  • MVS相机+YOLO检测方法
  • 【14】大恒相机SDK C#开发 ——Bitmap.UnlockBits()什么意思?有什么用?bmpData.Scan0;什么意思?有什么用?
  • 行业要闻|正式落地!新思科技宣布完成对Ansys的收购
  • 是德科技的BenchVue和纳米软件的ATECLOUD有哪些区别?
  • 1 机器学习概述 (第一天2025.7.31)
  • 【龙泽科技】汽车维护与底盘拆装检修仿真教学软件【风光580】
  • 非阿贝尔编织(Non-Abelian Braiding)
  • 量子测量的物理场景与理论
  • Union Application
  • 基于深度学习的医学图像分析:使用BERT实现医学文本分类
  • 从“救火”到“先知”:润建曲尺运维大模型如何重构网络运维价值链
  • Linux核心转储(Core Dump)原理、配置与调试实践
  • Bug报错集
  • Qt 常用控件 - 3
  • 基于PyTorch利用CNN实现MNIST的手写数字识别
  • RAG:让AI更聪明的“外接大脑“ | AI小知识
  • MacroDroid Pro 功能强大的任务自动化和配置应用程序
  • PHP 与 MySQL 详解实战入门(1)