摘要:针对工业生产中螺丝质量检测效率低、人工测量误差大的问题,本文设计并实现了一种基于计算机视觉的螺丝尺寸智能测量与质量检测系统。
项目概览
项目简介
该系统采用经典图像处理算法,无需深度学习模型,通过图像预处理、边缘检测、轮廓提取和最小外接矩形拟合等技术,实现对螺丝长度和宽度的自动化精确测量。系统集成了相机标定模块,可将像素坐标转换为实际毫米尺寸,支持 M6×25、M8×10、M8×16 等多种规格螺丝的批量检测。
基于 PyQt5 框架开发的图形用户界面提供了实时检测预览、进度监控、参数配置和统计分析等功能,支持生成包含测量数据、标注图像和质量控制图表的完整检测报告。实验结果表明,系统测量精度可达 ±1.0mm,单张图片处理时间约 2-3 秒,能够有效提高螺丝质量检测的自动化水平和检测效率,具有良好的实用价值和推广前景。
系统架构
本系统采用模块化分层架构设计,由数据采集层、图像处理层、业务逻辑层和用户交互层四部分组成。数据采集层负责图像输入和批量管理;图像处理层基于 OpenCV 实现灰度转换、高斯滤波、Canny边缘检测、轮廓提取和最小外接矩形拟合等经典算法,完成螺丝的精确定位与尺寸测量;业务逻辑层通过相机标定模块实现像素到毫米的坐标转换,并根据预设公差标准进行质量判定,支持多规格螺丝的自动识别和分类统计;用户交互层采用 PyQt5 框架构建现代化图形界面,集成实时预览、多线程后台处理、参数可视化配置和统计报表生成功能,确保系统高效运行的同时提供良好的用户体验。整体架构遵循低耦合高内聚原则,各模块通过 JSON 配置文件和标准接口实现灵活组合与扩展。

图1 系统架构图
技术创新
创新点1:基于经典算法的轻量化测量方案
不同于现有深度学习方法依赖大量标注数据和 GPU 算力,本系统创新性地采用经典计算机视觉算法链(Canny边缘检测 + 轮廓分析 + 旋转矩形拟合)实现高精度尺寸测量。通过优化参数配置和自适应阈值策略,在保证测量精度的前提下,实现了无需训练、即插即用的轻量化部署方案,大幅降低了工业应用的技术门槛和硬件成本。
创新点2:混合型号批次的智能识别与分类统计
针对实际生产中常见的混合型号批次检测需求,本系统创新性地设计了基于配置文件的多规格自适应判定机制。系统通过统一的测量流程获取螺丝尺寸后,自动匹配预设的多种规格标准(M6×25、M8×10、M8×16等),实现单次批量检测中不同型号螺丝的智能识别和分类统计。在结果展示上,采用彩色编码和分组图表直观呈现各型号的合格率和趋势分析,突破了传统单一型号检测的局限性。
创新点3:一体化工业应用解决方案与智能参数管理
本系统突破传统学术研究止步于算法验证的局限,创新性地构建了从图像采集、实时检测、质量判定到报告生成的完整闭环工业应用方案。首创了图形化参数配置系统,将相机标定系数、图像处理参数、质量公差标准等关键参数通过 JSON 配置文件统一管理,并提供可视化编辑界面,使非专业人员也能根据实际场景快速调整优化。同时集成了 CSV 数据导出、PNG 统计图生成和标注图像存档功能,形成完整的质量追溯体系。
快速开始
安装依赖后(pip install opencv-python numpy PyQt5 pandas matplotlib),运行 python screw_qc_gui.py 启动图形界面,选择包含螺丝图片的文件夹和对应型号,点击”开始检测”即可自动完成批量测量并生成包含 CSV 数据、标注图像和统计图表的完整质量检测报告。
环境要求
本系统基于 Python 3.7+ 开发,依赖 OpenCV、NumPy、PyQt5、Pandas 和 Matplotlib 等开源库,支持 Windows、Linux 和 macOS 操作系统,无需 GPU,普通 CPU(2核以上)和 4GB 内存即可流畅运行。
运行展示
运行gui.py

图2 系统主界

图3 检测结果:M6X25

图4 检测结果:M6X25-CSV报告

图5 检测结果:M6X25质量统计图

图6 检测结果:M8X10

图7 检测结果:M8X10-CSV报告

图8 检测结果:M8X10质量统计图

图9 检测结果:M8X16

图10 检测结果:M8X16-CSV报告

图11 检测结果:M8X16质量统计图
项目资源
配套文档
点击查看:基于计算机视觉的螺丝尺寸智能测量与质量检测系统 注意:收费提供!
配套文件
包括完整的项目源代码、演示视频、运行截图,开箱即用。

项目信息
作者信息
作者:Bob (张家梁)
项目编号:IP-33-P
原创声明:本项目为原创作品
联系方式

开源协议
本项目采用AGPL-3.0开源协议,允许个人和组织自由使用、修改和分发代码,但基于本项目的衍生作品必须同样开源,且用于提供网络服务时需向用户提供完整源代码。本项目仅供学习研究使用,作者不对使用本项目产生的任何后果承担责任,使用者应遵守当地法律法规,合理合法使用本项目。如本项目对您的研究或工作有所帮助,欢迎引用并注明出处。


评论(1)