基于图像处理的纽扣轮廓瑕疵检测理解

2023-10-21 09:20

本文主要是介绍基于图像处理的纽扣轮廓瑕疵检测理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于图像处理的纽扣轮廓瑕疵检测

现状:

针对多数纽扣生产厂家采用人工方式检测纽扣质量,导致检测效率较低的问题,设计一套基于图像处理的纽扣轮廓瑕疵检测系统。

主要步骤:

第一步:

基于连通域分析纽扣感兴趣区域的分割及轮廓的提取;

第二步:

检测纽扣内孔缺失与颜色瑕疵(包括污渍、划痕及凹坑等瑕疵);

第三步:

检测纽扣外轮廓与内孔轮廓的圆度与缺口检测。

怎样检测:

利用轮廓数目判断是否有内孔缺失或颜色瑕疵。利用最小外接圆进行圆形度检测;将圆形轮廓转换为曲线轮廓,利用三次方差进行全局平滑性检测和验证;采用局部最大二次方差对缺口进行检测。
常见的分割方法主要是基于阈值、区域、边缘和特定理论这几种方式。

阈值分割:

利用目标物与背景在灰度特性上的差异,设
置一个阈值T,将目标物与背景分割开来,形成
二值图像。
在这里插入图片描述

最大类间方差法(otsu)的原理:

阈值将原图象分成前景,背景两个图象。
前景:用n1, csum, m1来表示在当前阈值下的前景的点数,质量矩,平均灰度
后景:用n2, sum-csum, m2来表示在当前阈值下的背景的点数,质量矩,平均灰度
当取最佳阈值时,背景应该与前景差别最大,关键在于如何选择衡量差别的标准
而在otsu算法中这个衡量差别的标准就是最大类间方差
在这里插入图片描述

纽扣分割与轮廓提取

在这里插入图片描述

纽扣瑕疵检测算法流程图
对于一些小缺口纽扣,圆形度评价的检测效率也不高。针对这些问题,提出一种多步轮廓检测算法。

最小外接圆圆形度检测
最小外接圆评价圆形度是指先求取轮廓的最小外接圆并得到圆心与半径,然后将该圆心作为最大内切圆圆心,两个圆半径之差即为圆度误 差值,其数学表达如式
在这里插入图片描述

f为文献中圆度误差值;Rmax为外接圆半径;Rmin 为内切圆半径。

内孔与外轮廓半径相差较大,为了统一内孔轮廓与外轮廓圆度误差评价,本文对文献中圆度误差公式做了调整,以增强适用性

在这里插入图片描述

f0为文献中圆度误差与最小外接圆半径的比值,本文代表调整后的圆度误差值.δ 为阈值,以统一外轮廓和内孔的圆度误差评价.
难以检测一些小缺口或者一些光滑性较差的轮廓。
三次方差圆形度评价
方差检测的是纽扣轮廓像素点相对于最小外接圆圆心的波动情况,
因此计算每一个轮廓点到其外接圆圆心的距离。
在这里插入图片描述
(3)
l 为每 个 轮 廓 点 到 最 小 外 接 圆 圆 心 的 距 离;(x,y)为轮廓点在图像中像素点位置;(x0,y0)为外接圆圆心位置。
三次方差会有正负值。对于对称轮廓,由于其三次方差相互抵消,也会呈现较小值;对于不对称轮廓,比如有缺口的轮廓,一般三次方差 会 呈 现 较大值。
在这里插入图片描述

f1为三次方差圆度误差值;li为按式(3)转化的轮廓点的值l为部分l的平均值。n为轮廓点数目。
可以用于检测轮廓的平滑度。

局部最大二次方差缺口检测
针对纽扣边缘微小缺口难以检测的问题,提出局部最大二次方差检测方法,这种方法可以用于检测轮廓的平滑度。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三次方差主要用于检测轮廓内凹但弯曲程度不大的轮廓,同时也是为了进一步检验圆形度。局部二次方差用于检测局部平滑性,能够对缺口具有较好的检测效果。

这篇关于基于图像处理的纽扣轮廓瑕疵检测理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/253423

相关文章

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

spring IOC的理解之原理和实现过程

《springIOC的理解之原理和实现过程》:本文主要介绍springIOC的理解之原理和实现过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、IoC 核心概念二、核心原理1. 容器架构2. 核心组件3. 工作流程三、关键实现机制1. Bean生命周期2.

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最