# CapGuardVision **Repository Path**: wangzhen92/capguard-vision ## Basic Information - **Project Name**: CapGuardVision - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-30 - **Last Updated**: 2026-08-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CapGuard Vision 瓶盖视觉检测系统,用于保健品瓶盖盖牢状态、防盗环/下方圆弧缝隙异常的视觉检测,并预留瓶子液面检测能力。 ## 当前框架 - Qt 5.15 + C++17 + CMake + OpenCV 4.10 - 主界面:实时监控、算法本地测试、系统设置 - 实时监控:固定 5 相机左右布局 —— 左侧 4 个「瓶盖检测」窗口竖排,右侧 1 个「瓶子液面检测」窗口;布局比例固定,画面按比例缩放不挤压、不变形 - 相机接口:当前为模拟相机流(固定 5 台),后续可替换为 MindVision SDK 采集 - 本地测试:支持切换相机、切换算法(瓶盖脱落检测 / 瓶子液面检测),分相机设置 ROI 与算法参数并保存到本地,启动时自动加载 ## 配置文件 全局配置由单例 `AppConfig`(对齐 `YsVison/SysEnv` 风格)统一管理,持久化到应用目录下: ```text configs/camera_settings.ini ``` - 每台相机一个分组 `[Camera_1] ... [Camera_5]` - 字段包含:`name`、`serialNumber`(SN 配对)、`algorithm`(0=瓶盖 / 1=液面)、`roi_x/y/w/h`、瓶盖参数 `cap_*`、液面参数 `liquid_*` - 可在「系统设置」页编辑并保存 SN 配对,也可直接编辑该 ini 文件修改配对 - 默认相机 1~4 绑定瓶盖检测算法,相机 5 绑定液面检测算法 ## 构建 本机 Qt / OpenCV 路径示例: ```powershell cmake -S . -B build -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH=C:/Qt/5.15.1/msvc2019_64 cmake --build build --config Debug ``` Debug 可执行文件输出到: ```text Bin/x64/Debug/CapGuardVision.exe ``` ## 后续接入点 - `Camera/CameraManager`:替换模拟帧为 MindVision 工业相机采集(按 `AppConfig` 的 SN 配对绑定实机) - `Vision/CapInspectionAlgorithm`:瓶盖脱落 / 暗缝检测算法,参数已由 `CapInspectionParams` 外部化 - `Vision/LiquidLevelAlgorithm`:瓶子液面检测已实现——背光成像下按每张图自身亮度分布做 3 聚类自适应求阈值(无需人工设亮/暗阈值),取「暗瓶盖→亮空气段→灰色液体主体→暗瓶底」结构中的最长液体主体区段,测量液面到瓶底的液柱高度;高度超出 `liquid_minLiquidHeight ~ liquid_maxLiquidHeight` 区间或未检出均判 NG - `Forms/SystemSettingsForm`:仅保留相机 SN 序列号配对(相机触发/曝光等由相机自带软件设置)