AI质检分析配置:用Python脚本实现图片缺陷检测

AI质检分析配置的核心是让服务器能自动识别产品图片中的缺陷。
如果缺陷类型是划痕、污点、缺角这类视觉特征明显的表面问题,用Python配合OpenCV做阈值分割就能跑通。
本文从零开始,在Linux服务器上完成环境准备、脚本编写和阈值调整,最后用样本图片验证结果。

环境准备:安装Python和图像处理库

先确认服务器系统版本和Python版本。
以Ubuntu 20.04/22.04为例,执行:

python3 --version

如果版本低于3.8,建议用apt安装新版Python。
接着安装OpenCV和scikit-image,这两个库分别负责图像读取和轮廓分析:

sudo apt update
sudo apt install -y python3-pip python3-opencv
pip3 install scikit-image numpy

安装完成后,用一行命令验证OpenCV是否可用:

python3 -c "import cv2; print(cv2.__version__)"

能输出版本号即表示环境正常。
如果提示ModuleNotFoundError,检查pip3是否指向Python 3,或者用python3 -m pip install重新安装。

编写缺陷检测脚本

在/opt/quality-check/目录下创建detect.py。
脚本逻辑是:读取图片,转灰度,用高斯模糊降噪,再用自适应阈值提取缺陷区域,最后根据轮廓面积判断是否合格。

import cv2
import numpy as np

# 读取图片并转为灰度图
image = cv2.imread('/opt/quality-check/sample.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 高斯模糊降噪
blurred = cv2.GaussianBlur(gray, (5, 5), 0)

# 自适应阈值:适合光照不均匀的场景
thresh = cv2.adaptiveThreshold(blurred, 255,
    cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)

# 查找轮廓
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 面积阈值,单位是像素,需根据图片分辨率调整
min_area = 50
defects = [c for c in contours if cv2.contourArea(c) > min_area]

if defects:
    print(f"检测到 {len(defects)} 处缺陷")
    for c in defects:
        x, y, w, h = cv2.boundingRect(c)
        cv2.rectangle(image, (x, y), (x+w, y+h), (0, 0, 255), 2)
    cv2.imwrite('/opt/quality-check/result.jpg', image)
else:
    print("未检测到明显缺陷")

保存后运行:

python3 /opt/quality-check/detect.py

脚本会输出缺陷数量,并把标注后的图片保存为result.jpg。
打开图片检查红框位置是否准确,这就是最直接的验证方式。

调整阈值:让检测结果贴合实际产品

min_area和自适应阈值的blockSize、C值是最关键的三个参数。min_area太小会把噪点当缺陷,
太大会漏掉小划痕;blockSize必须是奇数,
代表局部邻域大小;C值越大,
判定为缺陷的条件越严格。

建议用同一批样本图做对照:先固定blockSize=11、C=2,只调min_area,从20、50、100逐步试,观察误报和漏报的变化。
如果图片分辨率是1920x1080,缺陷实际大小约2毫米,min_area可以先从30起步。

避坑提醒:不要用手机拍摄的压缩图片做基准,JPEG压缩会产生块状伪影,干扰阈值分割。
尽量用工业相机或原始BMP/PNG图片。
另外,脚本中读取路径不要写死,可以用sys.argv传入参数,方便批量处理。

批量处理与结果核验

单张图片验证通过后,用for循环遍历目录:

for img in /opt/quality-check/batch/*.jpg; do
  python3 /opt/quality-check/detect.py "$img"
done

需要把脚本中的路径改成接收命令行参数。
批量跑完后,抽查10到20张结果图,重点看两类错误:把正常纹理标成缺陷(误报),或者漏掉明显划痕(漏报)。
如果误报多,调大min_area或增大C值;
如果漏报多,调小min_area或减小C值。

常见报错error: (-215:Assertion failed) !
_src.empty()
通常表示图片路径错误或文件损坏,先用ls -l确认文件存在且大小正常。

适用边界与后续扩展

基于阈值的缺陷检测适合背景干净、缺陷与背景对比明显的场景,比如白色塑料件上的黑点。
如果产品表面有复杂纹理、反光或缺陷类型多变,就需要引入深度学习模型,比如用YOLO训练缺陷检测数据集。
配置AI质检分析时,先明确缺陷类型和拍摄条件,再决定用轻量脚本还是模型方案,能少走很多弯路。

如果需要在宝塔面板中管理脚本定时执行,
可以创建Shell计划任务,
命令填入python3 /opt/quality-check/detect.py,
执行周期按产线节拍设置,
并在日志中检查每次运行输出。

分享到:
上一篇
AI工单系统配置:零基础完成分类与自动回复
下一篇
AI知识库配置:让文档问答系统跑起来的关键步骤
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意