Go to file
2026-02-21 23:42:50 +08:00
.gitignore init commit 2026-02-21 23:42:50 +08:00
arbitrator.py init commit 2026-02-21 23:42:50 +08:00
auto_exposure.py init commit 2026-02-21 23:42:50 +08:00
camera_control.py init commit 2026-02-21 23:42:50 +08:00
camera_hik.py init commit 2026-02-21 23:42:50 +08:00
camera.py init commit 2026-02-21 23:42:50 +08:00
config_panel.py init commit 2026-02-21 23:42:50 +08:00
detector.py init commit 2026-02-21 23:42:50 +08:00
dot_matrix_detector.py init commit 2026-02-21 23:42:50 +08:00
main.py init commit 2026-02-21 23:42:50 +08:00
README.md init commit 2026-02-21 23:42:50 +08:00
utils.py init commit 2026-02-21 23:42:50 +08:00
verify_camera.py init commit 2026-02-21 23:42:50 +08:00

海康工业相机激光检测系统

项目概述

本项目是一个基于海康工业相机MV-CS016-10UC的激光检测系统主要用于检测绿色激光点和点阵灯盘。系统采用多线程架构集成了相机管理、参数配置、检测算法和可视化界面能够实时识别和跟踪激光目标。 本项目使用Trae的SOLO模式生成

系统功能

核心功能

  1. 双模式激光检测

    • 模式A单点/稀疏光点检测(适用于绿色激光笔)
    • 模式B点阵灯盘检测适用于LED阵列
    • 智能仲裁:自动选择最优检测模式
  2. 相机管理

    • 设备枚举和选择
    • 相机参数控制(曝光时间、增益、帧率)
    • 图像采集和显示
    • 异常处理和重连机制
  3. 参数配置

    • 实时参数调节界面
    • HSV颜色空间配置
    • 形态学操作参数设置
    • ROI感兴趣区域设置
  4. 性能优化

    • 自动曝光调节
    • 交替帧策略
    • 多线程架构
  5. 可视化界面

    • 实时检测结果显示
    • 双模检测状态条
    • 操作日志记录
    • 用户交互警告

技术特点

  • 海康MVS SDK集成完整的SDK初始化、设备管理和参数控制
  • OpenCV图像处理:高效的图像采集、转换和显示
  • 多线程架构:实时图像采集和处理
  • 智能算法基于HSV颜色空间和形态学操作的目标检测
  • 用户友好:直观的参数调节界面和实时状态显示

安装和配置

1. 硬件要求

  • 海康工业相机推荐MV-CS016-10UC
  • 计算机Windows 10/1164位
  • USB 3.0或GigE网络接口

2. 软件要求

  • Python 3.7+
  • 海康MVS SDK
  • OpenCV
  • NumPy
  • TkinterPython标准库

3. SDK安装

  1. 下载MVS SDK

  2. 安装SDK

    • 运行安装程序,按照默认设置安装
    • 安装路径建议使用默认路径
  3. 配置环境变量

    • 将SDK安装目录下的bin文件夹添加到系统PATH环境变量
    • 例如C:\Program Files\MVS\Runtime\bin\win64_x64
  4. 配置Python环境

    • 复制SDK安装目录下的Python绑定文件
    • C:\Program Files\MVS\Development\Samples\Python\MvImport
    • 到:项目目录\Python\MvImport

4. 依赖安装

pip install opencv-python
pip install numpy

使用指南

主程序

功能:双模式激光检测系统的主程序,集成了相机管理、参数配置、检测算法和可视化界面。

运行方式

python main.py

操作流程

  1. 启动程序后,系统会枚举连接的相机设备
  2. 输入要打开的相机索引
  3. 程序会自动初始化相机并开始取流
  4. 同时启动参数控制面板
  5. 系统会自动检测激光目标并显示结果
  6. Q 键退出显示窗口
  7. Ctrl+C 退出程序

参数控制

  • 曝光时间:控制相机曝光时长(微秒)
  • 增益控制相机信号增益dB
  • 帧率控制相机采集帧率fps
  • ROI设置感兴趣区域提高处理速度
  • HSV调节颜色检测范围
  • 形态学:设置形态学操作参数
  • 几何参数:设置目标检测的几何条件

相机测试程序

功能:用于测试相机基本功能的验证程序,包括设备枚举、图像采集和显示。

运行方式

python verify_camera.py

操作流程

  1. 启动程序后,系统会枚举连接的相机设备
  2. 输入要打开的相机索引
  3. 程序会打开相机并开始取流
  4. 显示相机采集的实时图像
  5. Q 键退出显示窗口
  6. Ctrl+C 退出程序

用途

  • 验证相机连接是否正常
  • 测试相机基本功能
  • 检查图像质量
  • 排查相机相关问题

相机控制程序

功能:用于相机参数调节的独立控制界面程序。

运行方式

python camera_control.py

操作流程

  1. 启动程序后,系统会自动初始化相机
  2. 点击 "初始化相机" 按钮枚举设备
  3. 点击 "打开相机" 按钮打开选中的设备
  4. 点击 "开始取流" 按钮开始采集图像
  5. 使用滑块调节曝光时间、增益和帧率
  6. 点击 "停止取流" 按钮停止采集
  7. 点击 "关闭相机" 按钮关闭设备

用途

  • 快速调节相机参数
  • 测试不同参数组合的效果
  • 监控相机状态

代码结构

Dart/
├── main.py              # 主程序:双模式激光检测系统
├── camera.py            # 相机管理模块
├── camera_control.py    # 相机控制界面
├── camera_hik.py        # 海康相机实现
├── verify_camera.py     # 相机验证程序
├── detector.py          # 单点光斑检测器
├── dot_matrix_detector.py # 点阵灯盘检测器
├── arbitrator.py        # 模式仲裁器
├── config_panel.py      # 参数控制面板
├── auto_exposure.py     # 自动曝光调节
├── utils.py             # 工具函数
├── Python/
│   └── MvImport/        # 海康MVS SDK Python绑定
└── README.md            # 项目说明文档

核心文件说明

文件 主要功能 说明
main.py 双模式激光检测系统 集成所有模块,实现完整的检测流程
camera.py 相机管理 完整的相机管理功能和控制界面
verify_camera.py 相机验证 用于测试相机基本功能的独立程序
detector.py 单点光斑检测 基于HSV颜色空间的激光点检测
dot_matrix_detector.py 点阵灯盘检测 基于形态学操作的LED阵列检测
arbitrator.py 模式仲裁 智能选择最优检测模式
config_panel.py 参数配置 实时参数调节界面

常见问题和解决方案

1. 相机连接问题

问题:未找到设备 解决方案

  • 检查相机是否正确连接
  • 检查USB/GigE接口是否正常
  • 检查MVS SDK是否正确安装
  • 检查设备管理器中是否识别到相机

问题相机无法打开错误码2147483648 解决方案

  • 关闭其他可能占用相机的程序
  • 重启计算机
  • 重新安装MVS SDK
  • 检查相机驱动是否正确安装

2. 图像采集问题

问题:获取图像失败 解决方案

  • 检查相机连接
  • 检查相机是否被其他程序占用
  • 重启相机
  • 调整相机参数

问题:图像显示异常 解决方案

  • 检查像素格式设置
  • 调整曝光时间和增益
  • 检查OpenCV安装

3. 检测算法问题

问题:激光点检测不到 解决方案

  • 调整HSV颜色范围
  • 调整曝光时间和增益
  • 检查激光光源是否正常
  • 调整形态学操作参数

问题:误检测较多 解决方案

  • 缩小HSV颜色范围
  • 增加形态学操作的开运算
  • 调整几何参数阈值
  • 设置ROI减小检测范围

4. 性能问题

问题:帧率过低 解决方案

  • 增大ROI范围
  • 降低图像分辨率
  • 启用交替帧策略
  • 关闭不必要的显示窗口

问题:程序卡顿 解决方案

  • 减少同时显示的窗口数量
  • 降低处理复杂度
  • 检查计算机性能

系统要求

硬件要求

  • CPUIntel Core i5或更高
  • 内存8GB或更高
  • 存储10GB可用空间
  • 接口USB 3.0或GigE网络接口

软件要求

  • 操作系统Windows 10/11 64位
  • Python3.7或更高版本
  • 海康MVS SDK最新版本
  • OpenCV4.0或更高版本
  • NumPy1.18或更高版本

许可证

本项目仅供学习和研究使用,未经授权不得用于商业用途。

联系方式

如有问题或建议,请联系项目维护人员。


注意使用本系统前请确保已经正确安装和配置海康MVS SDK并且相机已经正确连接到计算机。