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

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

相关推荐
小白狮ww20 分钟前
要给 OCR 装个脑子吗?DeepSeek-OCR 2 让文档不再只是扫描
人工智能·深度学习·机器学习·ocr·cpu·gpu·deepseek
lili-felicity22 分钟前
CANN优化LLaMA大语言模型推理:KV-Cache与FlashAttention深度实践
人工智能·语言模型·llama
程序猿追24 分钟前
深度解码昇腾 AI 算力引擎:CANN Runtime 核心架构与技术演进
人工智能·架构
金融RPA机器人丨实在智能25 分钟前
Android Studio开发App项目进入AI深水区:实在智能Agent引领无代码交互革命
android·人工智能·ai·android studio
lili-felicity28 分钟前
CANN异步推理实战:从Stream管理到流水线优化
大数据·人工智能
做人不要太理性29 分钟前
CANN Runtime 运行时组件深度解析:任务下沉执行、异构内存规划与全栈维测诊断机制
人工智能·神经网络·魔珐星云
不爱学英文的码字机器29 分钟前
破壁者:CANN ops-nn 仓库与昇腾 AI 算子优化的工程哲学
人工智能
晚霞的不甘32 分钟前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
愚公搬代码32 分钟前
【愚公系列】《AI短视频创作一本通》016-AI短视频的生成(AI短视频运镜方法)
人工智能·音视频
哈__33 分钟前
CANN内存管理与资源优化
人工智能·pytorch