当前位置: 首页 > news >正文

实际操作 检测缺陷刀片

号he

找到目标图像的缺陷位置,首先思路为对图像进行预处理,灰度-二值化-针对图像进行轮廓分析

//定义结构元素
Mat se = getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1));
morphologyEx(thre, tc, MORPH_OPEN, se, Point(-1, -1), 1);

目标图形为矩形,RECT,大概在3,3可以自己调整 位置在中心-1,-1.与开操作对图像进行处理

if (rect.height > (height / 2)) {
            continue;
        }
        if (area < 150) {
            continue;
        }根据不同的素材来做筛选,例如此类型就是以图形的行和面积来作为筛选条件,

1,rectangle(frame, rect, Scalar(0, 0, 255), 2, 8, 0);
drawContours(image, contours, t, Scalar(0, 0, 255), 2, 8);效果

2,rectangle(frame, rect, Scalar(0, 0, 255), 2, 8, 0);
drawContours(frame, contours, t, Scalar(0, 0, 255), 2, 8);效果

做好框架处理后进行目标工件的排序处理,此列以冒泡排序从小到大排序

void sort_box(vector<Rect>& boxes) {
    int size = boxes.size();
    for (int i = 0; i < size - 1; i++) {
        for (int j = i; j < size; j++) {
            int x = boxes[j].x;
            int y = boxes[j].y;
            if (y < boxes[i].y) {
                Rect temp = boxes[i];
                boxes[i] = boxes[j];
                boxes[j] = temp;
            }
        }
    }
}

进行排序好后可以从putText来验证排序结果,初始为6-0,改好后为0-6



前期的图像处理完毕,后面的思路要对模板图像以及后面的图像进行对比生成mask来确认具有缺陷的刀片。

tpl为刚才观察到的形态良好的工件,将其提取后与其他工件进行对比做差,对Mask进行开操作后观察

将白色部分的尺寸打印出来作为筛选

将白色像素大于50的打印出来

 

运行后发现出现了误检测,因为刀片宽度不统一,所以容易识别错误,所以需要在已经检测到的关键框架进行进一步的筛选。很明显的可以看到最后一个被误检测。首先对筛选出来的图像进行进一步处理

这样可以通过find来更加严谨的找到我们需要的有缺陷的工件。

相关文章:

实际操作 检测缺陷刀片

号he 找到目标图像的缺陷位置&#xff0c;首先思路为对图像进行预处理&#xff0c;灰度-二值化-针对图像进行轮廓分析 //定义结构元素 Mat se getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1)); morphologyEx(thre, tc, MORPH_OPEN, se, Point(-1, -1), 1); …...

使用Pygame制作“青蛙过河”游戏

本篇博客将演示如何使用 Python Pygame 从零开始编写一款 Frogger 风格的小游戏。Frogger 是一款早期街机经典&#xff0c;玩家需要帮助青蛙穿越车水马龙的马路到达对岸。本示例提供了一个精简原型&#xff0c;包含角色移动、汽车生成与移动、碰撞检测、胜利条件等关键点。希望…...

BUU17 [RoarCTF 2019]Easy Calc1

自用 源代码 $(#calc).submit(function(){$.ajax({url:"calc.php?num"encodeURIComponent($("#content").val()),type:GET,success:function(data){$("#result").html(<div class"alert alert-success"><strong>答案:&l…...

堆的实现——对的应用(堆排序)

文章目录 1.堆的实现2.堆的应用--堆排序 大家在学堆的时候&#xff0c;需要有二叉树的基础知识&#xff0c;大家可以看我的二叉树文章&#xff1a;二叉树 1.堆的实现 如果有⼀个关键码的集合 K {k0 , k1 , k2 , …&#xff0c;kn−1 } &#xff0c;把它的所有元素按完全⼆叉树…...

新生讲课——图和并查集

1.图的存储 &#xff08;1&#xff09;.邻接矩阵 邻接矩阵可以借助stl中的vector,我们通过开一个二维矩阵,g[u]中存储的是u可以到达的点,定义如下 const int N 2e5 10; vector<int> g[N] 若是遇到带权图则定义如下 const int N 2e5 10; vector <pair <int ,…...

基于深度学习的视觉检测小项目(十七) 用户管理后台的编程

完成了用户管理功能的阶段。下一阶段进入AI功能相关。所有的资源见文章链接。 补充完后台代码的用户管理界面代码&#xff1a; import sqlite3from PySide6.QtCore import Slot from PySide6.QtWidgets import QDialog, QMessageBoxfrom . import user_manage # 导入使用ui…...

实战:利用百度站长平台加速网站收录

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/33.html 利用百度站长平台加速网站收录是一个实战性很强的过程&#xff0c;以下是一些具体的步骤和策略&#xff1a; 一、了解百度站长平台 百度站长平台是百度为网站管理员提供的一系列工…...

web-XSS-CTFHub

前言 在众多的CTF平台当中&#xff0c;作者认为CTFHub对于初学者来说&#xff0c;是入门平台的不二之选。CTFHub通过自己独特的技能树模块&#xff0c;可以帮助初学者来快速入门。具体请看官方介绍&#xff1a;CTFHub。 作者更新了CTFHub系列&#xff0c;希望小伙伴们多多支持…...

【C++】P1957 口算练习题

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述输入格式&#xff1a;输出格式&#xff1a; &#x1f4af;我的做法代码实现&#xff1a; &#x1f4af;老师的做法代码实现&#xff1a; &#x1f4af;对比分析&am…...

第二十三章 MySQL锁之表锁

目录 一、概述 二、语法 三、特点 一、概述 表级锁&#xff0c;每次操作锁住整张表。锁定粒度大&#xff0c;发生锁冲突的概率最高&#xff0c;并发度最低。应用在MyISAM、InnoDB、BDB等存储引擎中。 对于表级锁&#xff0c;主要分为以下三类&#xff1a; 1. 表锁 2. 元数…...

linux 进程补充

环境变量 基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如&#xff1a;我们在编写C/C代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪 里&#xff0c;但是照样可以链接成功&#…...

渗透测试之文件包含漏洞 超详细的文件包含漏洞文章

目录 说明 通常分为两种类型&#xff1a; 本地文件包含 典型的攻击方式1&#xff1a; 影响&#xff1a; 典型的攻击方式2&#xff1a; 包含路径解释&#xff1a; 日志包含漏洞&#xff1a; 操作原理 包含漏洞读取文件 文件包含漏洞远程代码执行漏洞: 远程文件包含…...

Java 大视界 -- Java 大数据在智能医疗影像诊断中的应用(72)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也期待你毫无保留地分享独特见解,愿我们于此携手成长,共赴新程!💖 一、…...

Web - CSS3浮动定位与背景样式

概述 这篇文章主要介绍了 CSS3 中的浮动定位、背景样式、变形效果等内容。包括 BFC 规范与创建方法、浮动的功能与使用要点、定位的多种方式及特点、边框与圆角的设置、背景的颜色、图片等属性、多种变形效果及 3D 旋转等&#xff0c;还提到了浏览器私有前缀。 BFC规范与浏览…...

ConcurrentHashMap线程安全:分段锁 到 synchronized + CAS

专栏系列文章地址&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标&#xff1a; 理解ConcurrentHashMap为什么线程安全&#xff1b;ConcurrentHashMap的具体细节还需要进一步研究 目录 ConcurrentHashMap介绍JDK7的分段锁实现JDK8的synchr…...

系统学习算法:专题九 穷举vs暴搜vs深搜vs回溯vs剪枝

其中标题的深搜&#xff0c;回溯&#xff0c;剪枝我们之前专题都已经有过学习和了解&#xff0c;这里多了两个穷举和暴搜&#xff0c;其实意思都差不多&#xff0c;穷举就是穷尽力气将所有情况都列举出来&#xff0c;暴搜就是暴力地去一个一个情况搜索&#xff0c;所以就是全部…...

解决 Pandas DataFrame 索引错误:KeyError:0

在使用 Pandas 处理数据时&#xff0c;KeyError 是一个常见的问题&#xff0c;尤其是在尝试通过索引访问数据时。本文将通过一个实际案例&#xff08;使用SKLearn中的MINIST数据集为例&#xff09;&#xff0c;详细分析 KeyError 的原因&#xff0c;并提供解决方法。 1 问题背…...

deepseek的对话风格

概述 deepseek的对话风格&#xff0c;比一般的模型的回答多了思考过程&#xff0c;这是它比较可爱的地方&#xff0c;模型的回答有了思考过程&#xff0c;对用户而言大模型的回答不完全是一个黑盒。 deepseek的对话风格 train_prompt_style """Below is an…...

制造业设备状态监控与生产优化实战:基于SQL的序列分析与状态机建模

目录 1. 背景与挑战 2. 数据建模与采集 2.1 数据表设计 设备状态表(记录设备实时状态变更)...

Javaweb学习之Mysql(Day5)

(一)Mysql概述 (1)MYSQL通用语法 SQL语句可以单行或多行书写,以分号结尾。 SQL语句可以使用空格/缩进来增强语句的可读性(即,空格和缩进不影响代码的执行)。 MySQL数据库的SQL语句不区分大小写。 注释: 1. 单行注释: -- 注释内容 或 # 注释内容 (MySQL 特有 …...

售前客户需求深度挖掘:从表面诉求到核心痛点的五步法

# 003、客户需求深度挖掘&#xff1a;从表面诉求到核心痛点的五步法---上周调一个嵌入式项目&#xff0c;客户说“设备偶尔会死机&#xff0c;重启就好”。我们查了三天的日志&#xff0c;发现是内存泄漏。但真正的问题是什么&#xff1f;是代码质量&#xff1f;不完全是。最后…...

百考通:AI赋能设计都高效落地

在数字化时代&#xff0c;市场调研、产品设计、学术研究等场景中&#xff0c;问卷设计作为核心环节&#xff0c;直接影响着数据收集的质量与工作推进的效率。传统问卷设计往往面临流程繁琐、耗时耗力、问题设计不精准等痛点&#xff0c;而百考通&#xff08;https://www.baikao…...

从ADC的‘胃口’说起:深入浅出解析电平移位电路中基准源VREF与滤波电容的选型玄学

从ADC的"胃口"说起&#xff1a;深入浅出解析电平移位电路中基准源VREF与滤波电容的选型玄学 在模拟电路设计中&#xff0c;ADC&#xff08;模数转换器&#xff09;就像一位挑剔的美食家&#xff0c;对输入信号的"口味"有着严苛的要求。而电平移位电路则如同…...

SpringBoot3 + JetCache实战:如何用两级缓存把接口性能提升10倍?

SpringBoot3 JetCache实战&#xff1a;高并发场景下的缓存架构设计与性能优化 在电商秒杀、实时数据查询等高并发场景中&#xff0c;传统数据库直接承受流量冲击往往会导致系统崩溃。去年双十一期间&#xff0c;某头部电商平台通过多级缓存架构成功扛住了每秒百万级的查询请求…...

高性能指纹特征提取开源方案:FingerJetFX OSE架构解析与实现指南

高性能指纹特征提取开源方案&#xff1a;FingerJetFX OSE架构解析与实现指南 【免费下载链接】FingerJetFXOSE Fingerprint Feature Extractor; the initial contribution by DigitalPersona is MINEX Compliant (SDK 3F). 项目地址: https://gitcode.com/gh_mirrors/fi/Fing…...

基于 MATLAB 的非线性优化算法实现:BFGS + Armijo 线搜索

基于matlab的非线性优化算法实现 通过梯度下降法&#xff08;具体实现为 BFGS 方法&#xff09;&#xff0c;并结合 Armijo 线搜索方法&#xff0c;对一个多项式目标函数进行优化&#xff0c;找到其最优解。 开发语言&#xff1a;matlab非线性优化问题在科学计算和工程应用中非…...

终极文档处理方案:AnythingLLM如何实现PDF/TXT/DOCX全格式智能解析

终极文档处理方案&#xff1a;AnythingLLM如何实现PDF/TXT/DOCX全格式智能解析 【免费下载链接】anything-llm 这是一个全栈应用程序&#xff0c;可以将任何文档、资源&#xff08;如网址链接、音频、视频&#xff09;或内容片段转换为上下文&#xff0c;以便任何大语言模型&am…...

解锁网易云音乐解析工具:3个鲜为人知的实用技巧

解锁网易云音乐解析工具&#xff1a;3个鲜为人知的实用技巧 【免费下载链接】Netease_url 网易云无损解析 项目地址: https://gitcode.com/gh_mirrors/ne/Netease_url 网易云音乐解析工具作为一款专注于无损资源获取的开源项目&#xff0c;不仅能帮助用户轻松获取音乐文…...

从“炼丹”到“调参”:聊聊反向传播里那些容易被忽略的梯度细节(以PyTorch为例)

从“炼丹”到“调参”&#xff1a;聊聊反向传播里那些容易被忽略的梯度细节&#xff08;以PyTorch为例&#xff09; 在深度学习的世界里&#xff0c;反向传播算法就像炼金术士的魔法书&#xff0c;而梯度则是那些隐藏在公式背后的神秘力量。许多开发者能够熟练地调用.backward(…...

百川2-13B模型安全测试:OpenClaw在防御恶意指令方面的表现

百川2-13B模型安全测试&#xff1a;OpenClaw在防御恶意指令方面的表现 1. 为什么需要测试AI助手的安全性 去年我在本地部署了一个自动化助手&#xff0c;本想让它帮我整理文档和收发邮件。结果有次不小心让它执行了一个包含rm -rf的命令&#xff0c;差点把工作目录清空。这次…...