前言:差不多三个月没更新了,天天码代码,实在是太忙了,有时候也在想这么忙到底是不是工作方法的问题,怎么样才能变成大师呢!

一:进一步学习

今天学习下VisionMaster中的字符缺陷检测:包括字符脏污、缺失、差异等缺陷。该模块适用于检测各类部件的字符缺陷,如半导体芯片上雕刻字符缺陷和包装行业印刷字符缺陷

二:开始学习

     1:什么是字符缺陷检测?

字符缺陷检测主要用于解决工业生产中产品标识(如生产日期、批次号、序列号等)的质量管控问题。它能够自动识别字符区域的各种缺陷,如印刷不清、字符缺损、污染、墨迹过浓或过淡、位置偏移等。传统人工检测不仅效率低,且容易因疲劳产生漏检。

     2:应用场景

海康VisionMaster的字符缺陷检测功能在工业领域应用广泛,它主要替代传统人工目检,自动识别产品表面字符的各种质量问题,如漏印、错印、多墨、缺损、模糊、脏污、位置偏移等。这对于保证产品标识质量、实现生产自动化和满足严格的可追溯性要求至关重要。

为了让你能快速了解它的应用全貌,我用一个表格来概括其主要应用领域和检测内容:

应用领域典型产品/场景举例主要检测内容/缺陷类型核心价值与备注
电子与半导体手机壳、电池(如动力电池)、PCB线路板字符内容是否正确、清晰、完整,有无漏印、错印防止混料,确保产品追溯性(如电池混装判断)
医药与包装药盒、包装盒(如牛奶包装)、标签生产日期、保质期、批次号等喷码是否清晰、无误,有无打花、缺码、污点保障用药安全,避免流通障碍,深度学习对复杂背景和变化字符处理优势明显
食品与饮料食品包装、饮料瓶盖、乳制品包装生产日期、保质期、批号等喷印质量,有无缺失、模糊、污染确保产品标识合规,维护品牌形象,通常需在高速度生产线上稳定运行
汽车与零部件汽车零件、发动机部件、VIN码零件编码、符号、标识是否清晰可读,内容是否正确满足行业严格的质量追溯标准
日用与消费品键盘字符、衣物标签字符、橡胶按键、纸杯字符印刷质量,有无缺损、模糊、错误提升产品外观品质和用户体验(如纸杯杯沿、内壁脏污检测)
物流与仓储包裹面单、货架标签、档案文件条码、字符识别(OCR),用于分拣、盘点、数字化管理读码与字符识别同步进行,提升物流效率
其他工业场景电容、电子元器件、卡片(如IC卡、银行卡)丝印质量、字符内容准确性

三:直接上案例

1:先导入需要测试的图片集合

2:使用轮廓定位,把两个组件的线连起来,这里是需要设定模版匹配功能,这样图像不管怎么旋转都能准确定位图像位置,具体操作步骤可以参考前面课程

3:拖入位置修正功能:这个非常重要,这里也不提了,可以参考上一篇笔记

4:拖入字符缺陷检测模块

5:双击组件,开始设定参数:

基本参数这里就是画ROI,设定跟踪参数和之前的工具是一样的方法

下面开始设定参数:点击字符模版,会弹出字符模版设定画面

(1):第一步先画ROI,将需要识别的字符框进去

*******假设我先训练 框的这些字符******‘

(2):点击生成模型(QAQ这个我也研究看半天,不点生成模型,下一步就点不了)

看到这个字符自动识别到了,变成绿色的了,代表初步OK

 ------>参数设定:这个其实和前面学习的模版匹配原理是一样的,就是生成轮廓,当然这里我选择的都是自动,我看效果挺好的。如果觉得效果不好,可以改成手动,调节对比度试试

(3):在点击下一步:这个窗口上面有提示,开始设定检测目标

(4): 再次画一个模版训练框,然后直接点提取字符查看效果,这里就是自动分割字符的算法了

  ------>参数设定:看上图有一个字母N没有识别到,这个时候就要调整参数了

      1):最小字符面积:设置面积阈值,查找面积大于设置数值的目标字符

      2):最小字符宽度:设置字符宽度的阈值,查找宽度大于设置数值的目标字符

      3):二值化尺度:设置的数值越低,可提取的二值化点越少,但也越可靠,请根据实际需求设置

      4):二值化窗口大小:设置二值化点的领域的大小,上图中我就是调整这个参数的,看官方文档比较简单,可以自己多试试效果  

      5):二值化阈值:将字符与背景区分开来

     6):字符极性:这个根据实际来设定

     7):字符分割方式:感觉3个效果差不多,我就选了一个字符分割

(5): 上述参数设定好之后,在点击下一步 设置精定位

   这个时候能看到每个字符旁边会生成一个测量框,但是发现生成的框和字符是挨着的,然后训练模版时候,字符旁边的轮廓线可能会出不来,所以这里可以单独调整每一个字符框的大小

这个看着字符效果就杠杠的

------>参数设定:这边的参数感觉也不用说了,和第一页的参数差不多,就是要把模版轮廓抓好就行了

(6): 上述参数设定好之后,在点下一步:这是检测区域掩膜,这里一般不用,直接跳过

(7): 最后一个统计训练,如下图,就把当前设定的图像添加进去,点统计当前图像即可

最后看到生成了字码的预览图,就代表模版创建OK了

6:上述是整个的创建字码模版的步骤,接下来还要设定字码检测的参数

(1):缺陷类型:共有三种类型,可选亮缺陷、暗缺陷、亮暗缺陷,根据实际的来

(2):亮/暗缺陷阈值:这是亮/暗缺陷的最小灰度值,就是差不多二值化的意思

(3):亮/暗缺陷尺度:亮/暗缺陷的最小尺度

(4):边缘容忍度:取值越大 对缺陷容忍程度就越高,如果边缘部分报警比较多,可以适当调大一点

(5):面积大小阈值:这是最小面积,超过该数值的面积才算缺陷

四:实测:上述设定好参数,开始实际测量看看效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/98031.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/98031.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/98031.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

若依4.8.1打包war后在Tomcat无法运行,404报错的一个解决方法

背景 最近使用若依4.8.1进行二次开发,接着尝试打包成war包进行部署,结果出现了404,提示“HTTP状态 404 - 未找到,请求的资源[/ruoyi-admin/]不可用”,翻了网上的教程,包括看了官方的解疑都没有说到该情况。…

华清远见25072班网络编程学习day6

重点内容:数据库基本概念:数据(Data):能够输入计算机并能被计算机程序识别和处理的信息集合数据 (Database)数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合重要概念&#…

机器学习-网络架构搜索

Neural Architecture Search(NAS) 一个神经网络有不同类型的超参数 拓扑结构:resnet,mobilenet 单独层:核大小,卷积层的通道,输出隐藏单元的个数NAS自动设计神经网络 如何设计搜索空间 如何探索…

云手机在办公领域中自动化的应用

云手机在办公自动化领域正逐渐展现出强大的潜力,以下是其在办公中自动化应用的多方面介绍:企业借助云手机搭载的办公软件,可实现文档处理自动化,对于重复性文档任务,如制作每月固定格式的销售报告、财务报表等&#xf…

c++多线程(3)------休眠函数sleep_for和sleep_until

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 算法描述 这两个函数都定义在 头文件中,属于 std::this_thread 命名空间,用于让当前线程暂停执行一段时间。函数功能sleep_for(rel_time)让当前线程休眠一段相对时间&…

Intel RealSense D455深度相机驱动安装与运行

Intel RealSense D455深度相机安装过程遇到过一些报错,所以记录一下安装过程!!!以后方便回顾。 1.安装最新的IntelRealSense SDK2.0 (1) 注册服务器的公钥 sudo apt-get update && sudo apt-get upgrade && su…

从异步到半同步:全面解读MySQL复制的数据一致性保障方案

MySQL 主从复制(Replication)是其最核心的高可用性和扩展性功能之一。它的原理是将一个 MySQL 实例(称为主库 Master)的数据变更,自动同步到另一个或多个 MySQL 实例(称为从库 Slave)的过程。下…

PostgreSQL GIN 索引揭秘

文章目录什么是GIN Index?示例场景GIN Index的原理GIN Index结构MetapageEntriesLeaf PagesEntry page 和 Leaf page 的关系Posting list 和posting tree待处理列表(Pending List)进阶解读GIN index索引结构总结什么是GIN Index? GIN (Generalized In…

开源多模态OpenFlamingo横空出世,基于Flamingo架构实现图像文本自由对话,重塑人机交互未来

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《GPT多模态大模型与AI Agent智能体》(跟我一起学人工智能)【陈敬雷编著】【清华大学出版社】 清华《GPT多模态大模型与AI Agent智能体》书籍配套视频课程【陈敬雷…

电子衍射模拟:基于GPU加速的MATLAB/Julia实现

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,注册即送-H卡级别算力,80G大显存,按量计费,灵活弹性,顶级配置,学生更享专属优惠。 引言:电子衍射模拟的重要性与计算挑战 电子…

easyExcel动态应用案例

代码链接&#xff1a;https://download.csdn.net/download/ly1h1/919402991.案例说明&#xff1a;1.1.导入功能导入数据实现转换成 List<List<String>> headers和 List<List<String>> datas&#xff0c;后续补充可以与数据模型注解结合&#xff0c;形…

【数据结构入门】排序算法(5):计数排序

目录 1. 比较排序和非比较排序 2. 计数排序的原理 2.1 计数排序的弊端 3.代码复现 3.1 代码分析 3.2 排序核心 3.3 时间、空间复杂度 1. 比较排序和非比较排序 比较排序是根据排序元素的具体数值比较来进行排序&#xff1b;非比较排序则相反&#xff0c;非比较排序例如&…

输入3.8V~32V 输出2A 的DCDC降压芯片SCT9320

同志们&#xff0c;今天来个降压芯片SCT9320。输入3.8V~32V&#xff0c;输出最高可以达到2A。0.8V的参考电压。500k的开关频率。一共八个引脚&#xff0c;两个NC&#xff08;为什么不做成六个引脚呢&#xff1f;&#xff09;。EN引脚悬空或者接到VIN都可以直接启动&#xff0c;…

C++类和对象详解(2);初识类的默认成员函数

1.类的默认成员函数默认成员函数就是用户没有显示实现&#xff0c;编译器会自动生成的成员函数称为默认成员函数。一个类我们不写的情况下编译器会默认生成以下的6个默认成员函数。&#xff08;1&#xff09;构造函数&#xff1a;主要完成初始化的工作&#xff08;2&#xff09…

PLC通信 Tpc客户端Socket

1.PLC通信 namespace _2.PLC通信 {public partial class Form1 : Form{public Form1(){InitializeComponent();}//连接//1.型号: 跟PLC沟通 使用哪个型号的PLC//2.IP 同上//3.机台号:同上//4.插槽号:同上Plc plc new Plc(CpuType.S71200, "192.168.25.80", 0, 1);pr…

Android 开发实战:从零到一集成 espeak-ng 实现中文离线 TTS(无需账号开箱即用)

简介 在移动应用开发中,语音合成(TTS)技术是提升用户体验的重要工具。然而,许多开发者在集成 TTS 时面临依赖网络、需注册账号、功能受限等问题。本文将带你从零开始,通过开源项目 espeak-ng,实现无需账号、开箱即用的中文离线语音播报。 文章将覆盖以下核心内容: esp…

直播APP集成美颜SDK详解:智能美妆功能的开发实战

在这个“颜值即正义”的时代&#xff0c;用户对直播APP的第一印象&#xff0c;往往来自主播的画面质量。高清的视频固然重要&#xff0c;但如果缺少自然美颜和智能美妆功能&#xff0c;观众体验就会大打折扣。于是&#xff0c;美颜SDK成了直播行业的“标配”。今天&#xff0c;…

C++内存管理:new与delete的深层解析

1. 引言在C的世界里&#xff0c;动态内存管理是一个核心话题。对于从C语言过渡到C的开发者来说&#xff0c;一个常见的困惑是&#xff1a;既然C语言的malloc和free依然可以在C中使用&#xff0c;为什么C还要引入new和delete这两个操作符&#xff1f;本文将深入探讨这两对内存管…

【AI开发】【前后端全栈】[特殊字符] AI 时代的快速开发思维

&#x1f680; AI 时代的快速开发思维 —— 以 Django Vue3 为例的前后端分离快捷开发流程 一、AI 时代的开发新思路 在 AI 的加持下&#xff0c;软件开发不再是“纯体力活”&#xff0c;而是 思维工具自动化 的协作。 过去&#xff1a;需求 → 设计 → 开发 → 测试 → 上…

Day24_【深度学习(3)—PyTorch使用—张量的创建和类型转换】

一、创建张量1.张量基本创建方式torch.tensor 根据指定数据创建张量 &#xff08;最重要&#xff09;torch.Tensor 根据形状创建张量, 其也可用来创建指定数据的张量torch.IntTensor、torch.FloatTensor、torch.DoubleTensor 创建指定类型的张量1.1 torch.tensor# 方式一&…