# [项目实战] 做了一个实时缺陷检测工具,普通摄像头就能用,免费分享
·
[项目实战] 做了一个实时缺陷检测工具,普通摄像头就能用,免费分享
1. 前言
大家好,我是一名即将毕业的应届生。之前在工厂流水线实习时,看到质检工人每天拿着手电筒反复检查产品外观,眼睛累、漏检率高、招工难……这些痛点让我萌生了一个想法:能不能用计算机视觉做一个实时缺陷检测工具,让普通摄像头就能自动检测出产品上的划痕、污点、错位等缺陷?
经过一段时间的开发,我基于 Python + OpenCV 做了一个无需训练、无需缺陷样本的实时检测程序。现在把它打包成 exe 免费分享出来,希望能帮到有类似需求的朋友。
2. 工具特点
- ✅ 实时视频检测:插上摄像头即可开始检测,缺陷用红框实时标出。
- ✅ 产品移动自动跟随:利用特征点匹配,当产品移动时,红框会跟随缺陷一起移动。
- ✅ 鼠标框选检测区域(ROI):可手动框出产品所在区域,背景变化完全不影响检测。
- ✅ 阈值可动态调节:按 T/G 键调节差分阈值(灵敏度),按 A/Z 键调节面积阈值(过滤小噪点),实时生效。
- ✅ 保存缺陷图片:发现缺陷时,按 S 键即可保存当前画面(带红框),方便记录。
- ✅ 无需 Python 环境:已打包成 exe,任何 Windows 电脑双击就能运行。
3. 原理简介
本工具采用经典的差影法,核心流程如下:
- 捕获良品模板:按空格键记录当前产品画面作为标准模板。
- 特征提取与匹配:使用 ORB 算法提取模板和实时画面的特征点,计算单应性矩阵,从而将模板对齐到当前产品位置(即使产品移动也能准确跟踪)。
- 差分检测:将对齐后的模板与当前画面做像素差,通过差分阈值提取变化区域。
- 形态学去噪:利用开闭运算去除微小噪点。
- 缺陷筛选:根据面积阈值过滤掉不关心的细小变化,留下的区域即认为是缺陷。
不需要深度学习、不需要大量缺陷图片,一张良品图就够。
4. 效果截图

5. 适用场景
- 注塑件、灯罩、手机壳等外观缺陷检测(如边缘翘起、划痕、脏污)
- 包装印刷、标签错位检测
- 任何需要实时监控产品质量的工位
6. 下载链接
百度网盘:https://pan.baidu.com/s/1XF_oK1Hn0ww0SDchnCg6Og` 提取码:1234
7. 使用说明
- 下载压缩包后解压,双击运行
鹰眼检测.exe。 - 将产品置于摄像头前,用鼠标左键在画面中拖拽出一个蓝色矩形框,将产品完整框住(只检测框内区域)。
- 确保产品表面干净,按空格键捕获良品模板,画面左上角会显示“模板已捕获”。
- 移动产品,观察红框是否自动跟随缺陷。
- 如果误报过多(好产品被检):
- 按 T 键增加差分阈值(更不敏感)
- 按 A 键增加面积阈值(过滤小噪点)
- 如果漏报(缺陷未检出):
- 按 G 键减少差分阈值
- 按 Z 键减少面积阈值
- 需要保存缺陷图片时,按 S 键即可保存(图片保存在程序同目录)。
- 按 C 键可在轮廓显示和矩形框显示之间切换。
- 按 R 键清除 ROI,重新画框。
- 按 Q 键或直接点击窗口 X 退出程序。
8. 常见问题
- 摄像头画面打不开:检查摄像头是否被其他软件占用(如微信、浏览器),或尝试更换 USB 接口。
- 红框不跟随产品移动:产品表面可能过于光滑,缺乏纹理特征。可在产品上增加一些人工标记(如贴二维码、画十字),或调整光照增加对比度。
- 大量误报:可能是 ROI 框得太大,包含了背景。请重新画框,只框产品区域,并按 T/A 适当提高阈值。
- 程序无响应:按 Ctrl+Shift+Esc 打开任务管理器,结束
鹰眼检测.exe进程,然后重新运行。
9. 关于我
一名普通应届生,蹲过工厂,知道人工质检的痛点。欢迎技术交流,如果有兴趣合作或试用,可以通过论坛私信联系我。希望这个工具能真正帮到有需要的人!
#本工具个人学习免费,商业方面如有需求,欢迎私信咨询。#
“本工具适用于产品正面外观检测,底部及复杂曲面建议配合人工复核。”
如果觉得有用,欢迎点赞、收藏、分享!
更多推荐
所有评论(0)