缺陷检测-药品成品率检测

**缺陷检测的原因:**工业产品的形状缺陷不仅影响产品的美观,还影响产品的性能。
缺陷检测的方法:腐蚀操作、基于距离变换分割方法。
距离变换是一种用于二值图像的处理方法,计算图像中任意一个像素点到最近背景点的距离。
输入:二值图像,其中前景像素的值为非 0(通常为 255),背景像素的值为 0。
输出:一个浮点图像,其中每个像素的值表示该像素到最近背景点的距离。
特点

  1. 前景对象的质心(中心点)距离背景较远,其对应的距离值较大。
  2. 前景对象的边缘距离背景较近,其对应的距离值较小。
  3. 如果某个像素点本身是背景像素(值为 0),其距离值为 0。
    void distanceTransform(
    InputArray src, // 输入图像(二值图像)
    OutputArray dst, // 输出图像(距离图)
    int distanceType, // 距离类型(如欧几里得距离)
    int maskSize, // 掩码大小,用于距离计算
    int dstType = CV_32F // 输出图像类型,通常为 CV_32F(默认)

);
**筛选标准:**通过一个对象的最小包围圆形与其轮廓面积的比值,实现缺陷检测。
流程设计
缺陷检测的核心思想是通过图像处理技术提取目标对象的轮廓,并判断其形状特性是否符合标准。

**1.**预处理
优化图像,去除噪声,增强特征。
操作:
色彩空间转换:将彩色图像转换为灰度图像,简化处理。
二值化处理:将灰度图像转为二值图像,分离前景和背景。
形态学开运算:去除噪声。
**2.**距离变换
目的:通过距离变换计算图像中每个像素点到最近背景点的距离。
应用:使用 distanceTransform 函数,将距离大的像素点作为前景的核心区域。**3.**前景提取
操作:对距离变换结果进行阈值分割,提取出主要的前景对象。
**4.**去噪处理
目的:去除残留的噪声或小目标点,确保前景区域干净。
方法:再次使用形态学操作(开运算)优化图像。
**5.**轮廓提取
操作:使用轮廓提取函数提取图像中的轮廓。
**6.**缺陷检测
**核心思想:**计算目标的外接圆面积和轮廓面积比,设定阈值进行筛选。
**7.**结果显示
显示最终处理结果,包括目标轮廓和缺陷标注。

相关推荐
风象南6 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶6 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶6 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考9 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab10 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab10 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸11 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云11 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny86512 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔12 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能