电路板缺陷检测系统(YOLOv11)-python

项目描述
电路板缺陷检测系统(YOLOv11)。通过PyQt5框架进行开发

项目功能
1. 上传图像
功能:导入本地存储的PCB图像文件

支持格式:JPG/JPEG/PNG/BMP等常见图像格式

操作流程:

点击”上传图像”按钮

从文件对话框中选择目标图像

系统自动显示预览图像

技术实现:通过OpenCV的imread()读取图像并转换为RGB格式显示

2. 检测缺陷
功能:对已加载的图像执行缺陷检测

核心参数:

置信度阈值(0.01-1.0可调)

默认阈值0.25(通过界面滑块调整)

检测流程:

图像送入YOLOv11模型推理

输出包含以下信息的检测结果:

缺陷类别(如missing/short/open)

置信度分数

边界框坐标

可视化效果:

红色框:元器件缺失

蓝色框:短路缺陷

绿色框:开路缺陷

每个检测框显示类别和置信度标签

3. 保存结果
功能:存储检测结果和报告

输出内容:

图像文件:标注检测框的结果图(JPG/PNG)

文本报告:包含以下信息的TXT文件:

电路板缺陷检测结果报告
图像文件: example.jpg
检测时间: 2023-08-20 14:30:00

检测到 3 个缺陷:

缺陷 1:
类型: missing_component
置信度: 0.92
位置: (120, 85) 到 (150, 115)

存储路径:用户自定义选择目录

4. 开启摄像头
功能:启动摄像头实时检测

技术特性:

使用OpenCV的VideoCapture接口

默认摄像头索引为0

实时显示检测帧率(FPS)

工作流程:

初始化视频采集线程

逐帧进行缺陷检测

实时显示检测结果

性能优化:

动态调整处理频率防止帧堆积

检测与显示分离的多线程架构

5. 加载视频
功能:处理视频文件中的PCB缺陷

支持格式:MP4/AVI/MOV/WMV等

特殊处理:

视频结束时自动循环播放

保持原始视频宽高比

文件选择:通过标准文件对话框选取

6. 停止检测
功能:终止视频/摄像头检测

执行操作:

释放视频采集资源

停止检测线程

重置界面状态

安全机制:

线程安全退出

防止资源未释放

保留最后一帧检测结果

 

运行环境
开发环境 pycharm
运行环境 py3.8

项目技术
前端技术:

PyQt5构建界面

后端技术:

电路板缺陷检测系统(YOLOv11)

启动:gui.py

性能优化:

模型预加载减少等待时间

注支持树莓派4B 树莓派5
以上系统源码经过技术整理与调试,确保能正常运行

提供最优质的资源集合

立即查看 了解详情