[项目实战] 做了一个实时缺陷检测工具,普通摄像头就能用,免费分享

1. 前言

大家好,我是一名即将毕业的应届生。之前在工厂流水线实习时,看到质检工人每天拿着手电筒反复检查产品外观,眼睛累、漏检率高、招工难……这些痛点让我萌生了一个想法:能不能用计算机视觉做一个实时缺陷检测工具,让普通摄像头就能自动检测出产品上的划痕、污点、错位等缺陷?

经过一段时间的开发,我基于 Python + OpenCV 做了一个无需训练、无需缺陷样本的实时检测程序。现在把它打包成 exe 免费分享出来,希望能帮到有类似需求的朋友。

2. 工具特点

  • 实时视频检测:插上摄像头即可开始检测,缺陷用红框实时标出。
  • 产品移动自动跟随:利用特征点匹配,当产品移动时,红框会跟随缺陷一起移动。
  • 鼠标框选检测区域(ROI):可手动框出产品所在区域,背景变化完全不影响检测。
  • 阈值可动态调节:按 T/G 键调节差分阈值(灵敏度),按 A/Z 键调节面积阈值(过滤小噪点),实时生效。
  • 保存缺陷图片:发现缺陷时,按 S 键即可保存当前画面(带红框),方便记录。
  • 无需 Python 环境:已打包成 exe,任何 Windows 电脑双击就能运行。

3. 原理简介

本工具采用经典的差影法,核心流程如下:

  1. 捕获良品模板:按空格键记录当前产品画面作为标准模板。
  2. 特征提取与匹配:使用 ORB 算法提取模板和实时画面的特征点,计算单应性矩阵,从而将模板对齐到当前产品位置(即使产品移动也能准确跟踪)。
  3. 差分检测:将对齐后的模板与当前画面做像素差,通过差分阈值提取变化区域。
  4. 形态学去噪:利用开闭运算去除微小噪点。
  5. 缺陷筛选:根据面积阈值过滤掉不关心的细小变化,留下的区域即认为是缺陷。

不需要深度学习、不需要大量缺陷图片,一张良品图就够。

4. 效果截图

在这里插入图片描述

5. 适用场景

  • 注塑件、灯罩、手机壳等外观缺陷检测(如边缘翘起、划痕、脏污)
  • 包装印刷、标签错位检测
  • 任何需要实时监控产品质量的工位

6. 下载链接

百度网盘:https://pan.baidu.com/s/1XF_oK1Hn0ww0SDchnCg6Og` 提取码:1234

7. 使用说明

  1. 下载压缩包后解压,双击运行 鹰眼检测.exe
  2. 将产品置于摄像头前,用鼠标左键在画面中拖拽出一个蓝色矩形框,将产品完整框住(只检测框内区域)。
  3. 确保产品表面干净,按空格键捕获良品模板,画面左上角会显示“模板已捕获”。
  4. 移动产品,观察红框是否自动跟随缺陷。
  5. 如果误报过多(好产品被检):
    • T 键增加差分阈值(更不敏感)
    • A 键增加面积阈值(过滤小噪点)
  6. 如果漏报(缺陷未检出):
    • G 键减少差分阈值
    • Z 键减少面积阈值
  7. 需要保存缺陷图片时,按 S 键即可保存(图片保存在程序同目录)。
  8. C 键可在轮廓显示和矩形框显示之间切换。
  9. R 键清除 ROI,重新画框。
  10. Q 键或直接点击窗口 X 退出程序。

8. 常见问题

  • 摄像头画面打不开:检查摄像头是否被其他软件占用(如微信、浏览器),或尝试更换 USB 接口。
  • 红框不跟随产品移动:产品表面可能过于光滑,缺乏纹理特征。可在产品上增加一些人工标记(如贴二维码、画十字),或调整光照增加对比度。
  • 大量误报:可能是 ROI 框得太大,包含了背景。请重新画框,只框产品区域,并按 T/A 适当提高阈值。
  • 程序无响应:按 Ctrl+Shift+Esc 打开任务管理器,结束 鹰眼检测.exe 进程,然后重新运行。

9. 关于我

一名普通应届生,蹲过工厂,知道人工质检的痛点。欢迎技术交流,如果有兴趣合作或试用,可以通过论坛私信联系我。希望这个工具能真正帮到有需要的人!

#本工具个人学习免费,商业方面如有需求,欢迎私信咨询。#

“本工具适用于产品正面外观检测,底部及复杂曲面建议配合人工复核。”

如果觉得有用,欢迎点赞、收藏、分享!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐