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

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

相关文章

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调度器调优及优化建议最

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危