MATLAB实现工业PCB电路板缺陷识别和检测

news2024/9/8 23:15:28

PCB(PrintedCircuitBoard印刷电路板)是电子产品中众多电子元器件的承载体,它为各电子元器件的秩序连接提供了可能,PCB已成为现代电子产品的核心部分。随着现代电子工业迅猛发展,电子技术不断革新,PCB密集度不断增大,层级越来越多,生产中因焊接缺陷的等各种原因,导致电路板的合格率降低影响整机质量的事故屡见不鲜。随着印刷电路板的精度、集成度、复杂度、以及数量的不断提高,PCB板的缺陷检测已成为整个电子行业中重要的检测内容。其中人工目测等传统的PCB缺陷检测技术因诸多弊端已经不能适应现代工业生产水平的要求,因此开发和应用新的检测方法已显得尤为重要。

根据PCB板缺陷产生的原因和目前惯用的缺陷检测方法及其不足,发展出了符合现代工业要求的PCB一般缺陷检测方法包括:自动光学检测技术(AOI)、机器视觉检测技术(MVI)、计算机视觉检测技术(AVI)。

PCB板检测的大概流程如下:首先存储一个标准PCB板图像作为良好板材的参考标准,然后将待检测的PCB板图像进行处理,比较与标准PCB图像的差异,根据差异的情况来判断缺陷类型。

拓展学习:LabVIEW实现PCB电路板元器件匹配定位(实战篇—7)

  • 图像预处理

对于标准PCB板的图像处理包括:灰度化,二值化。而对待检测图像的处理则包括:

灰度化,滤波,除去黑点(干扰点)等。二者最终都会得到各自的二值图像。

  • 图像匹配

图像匹配是对不同时间、不同传感器或者不同视角下的同一场景的两幅或者多幅图像进行配准的过程。常用的图像配准方法有基于特征的图像配准和基于互信息的配准。

互相关配准要求要求参考图像和待匹配图像在尺度和灰度值上相差不大。检测PCB板符合这一要求。该方法的主要思想是:利用待匹配图像上所选取的区域在参考模板进行遍历,计算每个位置的互相关系数,根据互相关的最大值来确定匹配的位置。

选择正确样本图和待检测图,如下图所示:

点击缺陷检测和缺陷标注完成对PCB板图像的检测,如下图所示:

当待测图像存在与标准图像存在角度差时,我们可以在进行互相关系数计算前,先进性旋转,求出在多个角度下的最大相关系数,则该相关系数时的角度即为两幅图像的角度差,对待测图像进行旋转,然后根据最大相关系数进行旋转后的待测图像与标准图像进行匹配。

项目资源下载请参见: MATLAB实现工业PCB电路板缺陷识别和检测【图像处理实战】

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S常见异常事件与解决方案

集群相关 Coredns容器或local-dns容器重启 集群中的coredns组件发生重启(重新创建),一般是由于coredns组件压力较大导致oom,请检查业务是否异常,是否存在应用容器无法解析域名的异常。 如果是local-dns重启,说明local-dns的性能…

fastai2 实现SSD

https://github.com/search?qfastaissd 有几个值得参考的代码,好好学习。 GitHub - Samjoel3101/SSD-Object-Detection: I am working on a SSD Object Detector using fastai and pytorch fastai2实现的SSD,终于找到了code。https://github.com/sidrav…

等保定级怎么做

Q25:现在还没做等保还来得及吗?有什么影响? 答:来得及。种一棵树,最好的时间是十年前,其次是现在。可先根据定级备案要求和流程,先向公安递交定级备案文件,测评与整改预算提上日程,在经费未落实前,可以先进行系统定级、差距分析、整改计划制订等工作。 根据《等保工…

LVGL移植——stm32f4

LVGL移植说明 移植LVGL版本:8.3.6 主控:STM32F407ZGT6 github链接:https://github.com/lvgl/lvgl.git 文章目录 LVGL移植说明STM32移植LVGL①需要的依赖文件②移植显示驱动文件③将文件加入工程当中④配置心跳④修改栈堆的空间⑤编译链接 STM…

02-权限提升-Win溢出漏洞及ATSCPS提权

权限提升-Win溢出漏洞及AT&SC&PS提权 思维导图 明确权限提升基础知识:权限划分 明确权限提升环境问题:web及本地 web提权:已有网站权限(可以操作网站内容,但无法操作服务器),想要获得…

【软考中级】2022下半年软件设计师综合知识真题与答案

1、以下关于R1SC(精简指令集计算机)特点的叙述中,错误的是()。 A.对存储器操作进行限制,使控制简单化 B.指令种类多,指令功能强 C.设置大量通用寄存器 D.选取使用频率较高的一些指令,提高执行速度 参考答案:B 2、…

Qt6之KDE框架

25年来,KDE社区一直在使用Qt开发各种自由软件产品。其中包括Plasma桌面环境,像Krita和Kdenlive这样的创意工具,像GCompris这样的教育应用程序,像Kontact这样的群件套件以及无数其他应用程序,实用程序和小部件。 Qt以其…

Shell+VCS学习3---VCS命令

1 VCS介绍 VCS的功能可以大致分为两个大类:编译和仿真。 VCS编译的过程,就是经过一系列的操作,将verilog代码转换为可执行文件(.svim),接下来就是用dve进行仿真过程生成.vpd波形文件。 VCS是编译型verilo…

C++---树形DP---树的最长路径(每日一道算法2023.5.4)

注意事项: 本题为"树与图的DFS深度优先遍历—树的重心"的近似题,同时涉及到 单链表模拟邻接表存储图 的操作,建议先理解那篇文章。 题目: 给定一棵树,树中包含 n 个结点(编号1~n)和 …

JavaScript:栈和对列

文章目录 栈和对列Js 有栈与队列吗20. 有效的括号 - 力扣(LeetCode)思路 1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)思路代码分析array.join() 操作打印const s of str 操作遍历 150. 逆波兰表达式求值 - 力扣&#xf…

(1)QT基础铺垫

目录 1.Qt特性 2. 新建项目 3. 工作目录与构建目录 4. 工作目录 4.1 .pro 项目配置文件 4.2 dialog.h 4.3 dialog.cpp 4.4 main.cpp 5. 帮助文档 6. 调试信息 1.Qt特性 Qt经常被当作是一个基于c语言的gui开发框架,但是这并不是qt的全部,除了开…

助力工业物联网,工业大数据之ODS层构建:申明分区代码及测试【十】

文章目录 知识点13:ODS层构建:申明分区代码及测试知识点14:ODS层与DWD层区别知识点15:DWD层构建:需求分析知识点16:DWD层构建:建库实现测试知识点17:DWD层构建:建表实现测…

Packet Tracer – 研究 VLAN 实施

Packet Tracer – 研究 VLAN 实施 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 S1 VLAN 99 172.17.99.31 255.255.255.0 不适用 S2 VLAN 99 172.17.99.32 255.255.255.0 不适用 S3 VLAN 99 172.17.99.33 255.255.255.0 不适用 PC1 NIC 172.17.10.2…

Linux部署Gitlab/上传项目

一、提前准备 1.1安装依赖工具 yum install -y curl policycoreutils-python openssh-serversystemctl start sshd systemctl enable sshd 1.2安装Postfix邮件服务器 #安装 postfix yum install -y postfix#启动 postfix 并设置为开机启动 systemctl enable postfix systemctl …

HashCode与String大家庭

当金钱站起来说话时,所有的真理都保持了沉默;金钱一旦作响,坏话随之戛然而止。 Hashcode的作用 java的集合有两类,一类是List,还有一类是Set 前者有序可重复,后者无序不重复。当我们在set中插入的时候怎…

Vue传参${id}变成$%7Bid%7D

发生缘由 外卖项目在Linux服务器上面运行发送请求乱码 运行环境 电脑系统:win10jdk版本:jdk-8SpringBoot版本:v2.4.5MP版本:3.4.2Vue版本:Vue.js v2.6.12Linux版本:Centos7 报错信息 // 修改页面反查详…

MES系统中的BOM为何如此重要?先进的BOM体系怎么构建?

其实不管有没有数字化,BOM都是制造企业的灵魂纽带,对于产品繁多、流程冗长的工业企业来说,如果BOM管理不规范,必然对生产效率和产品质量带来巨大的隐患,因此在工业企业的数字化转型之路中,建立科学规范的BO…

Blender 建模练习-锁链

目录 1.1.1 贝塞尔圆1.2 阵列修改器1.3 阵列修改器 物体偏移1.4 添加贝塞尔曲线1.5 曲线修改器 1. 本次练习主要使用到阵列修改器、贝塞尔曲线、空物体 1.1 贝塞尔圆 把贝塞尔圆进行缩放,然后在物体数据属性|几何数据|倒角|设置倒角深度为0.05 1.2 阵列修改器 …

【数据结构】二叉树(详细)

二叉树 1.树1.1定义1.2基本术语1.3树形结构和线性结构1.4树的存储结构1.4.1双亲表示法1.4.2孩子兄弟表示法 2.二叉树2.1定义2.2特殊二叉树2.3性质2.4存储结构2.4.1顺序存储2.4.2链式存储结构 3.二叉树的基本操作3.1前序遍历(先序遍历)3.2中序遍历3.3后序…

开放原子训练营(第三季)inBuilder低代码开发实验室---报销单录入系统

作为一名低代码初学者,我使用inBuilder系统设计了一款报销单录入系统,实现了报销单录入与显示报销单列表的功能(如图1与图2所示),并获得了很多开发心得。从inBuilder系统的优点、缺点以及开发过程三方面出发&#xff0…