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

**缺陷检测的原因:**工业产品的形状缺陷不仅影响产品的美观,还影响产品的性能。
缺陷检测的方法:腐蚀操作、基于距离变换分割方法。
距离变换是一种用于二值图像的处理方法,计算图像中任意一个像素点到最近背景点的距离。
输入:二值图像,其中前景像素的值为非 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.**结果显示
显示最终处理结果,包括目标轮廓和缺陷标注。

相关推荐
冬奇Lab20 分钟前
Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
人工智能·工作流引擎
冬奇Lab29 分钟前
每日一个开源项目(第146篇):openpilot - 开源自动驾驶辅助系统,曾在 Consumer Reports 评测中超过特斯拉 Autopilot
人工智能·开源·自动驾驶
吴佳浩2 小时前
AI 工程师知识地图:模型格式、框架、部署工具一次讲明白
人工智能·aigc·ai编程
IT_陈寒2 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
码农胖大海3 小时前
AI额度不够用的解决方案
人工智能
后端小肥肠3 小时前
小红书虚拟商品怎么做?我先用 Skill 跑通了壁纸品类
人工智能·aigc·agent
feiyu_gao3 小时前
从零搭建个人 AI 工作台:一个管理者的 3 个月实验
人工智能·aigc·团队管理
程序员cxuan4 小时前
一句话,让你用上 GPT-5.6
人工智能·后端·程序员
机器之心4 小时前
AI圈刚开始谈Loop Engineering,两位95后博士已经盯上了人类闭环数据
人工智能·openai