7.8 KiB
7.8 KiB
海康工业相机激光检测系统
项目概述
本项目是一个基于海康工业相机(MV-CS016-10UC)的激光检测系统,主要用于检测绿色激光点和点阵灯盘。系统采用多线程架构,集成了相机管理、参数配置、检测算法和可视化界面,能够实时识别和跟踪激光目标。 本项目使用Trae的SOLO模式生成
系统功能
核心功能
-
双模式激光检测
- 模式A:单点/稀疏光点检测(适用于绿色激光笔)
- 模式B:点阵灯盘检测(适用于LED阵列)
- 智能仲裁:自动选择最优检测模式
-
相机管理
- 设备枚举和选择
- 相机参数控制(曝光时间、增益、帧率)
- 图像采集和显示
- 异常处理和重连机制
-
参数配置
- 实时参数调节界面
- HSV颜色空间配置
- 形态学操作参数设置
- ROI(感兴趣区域)设置
-
性能优化
- 自动曝光调节
- 交替帧策略
- 多线程架构
-
可视化界面
- 实时检测结果显示
- 双模检测状态条
- 操作日志记录
- 用户交互警告
技术特点
- 海康MVS SDK集成:完整的SDK初始化、设备管理和参数控制
- OpenCV图像处理:高效的图像采集、转换和显示
- 多线程架构:实时图像采集和处理
- 智能算法:基于HSV颜色空间和形态学操作的目标检测
- 用户友好:直观的参数调节界面和实时状态显示
安装和配置
1. 硬件要求
- 海康工业相机(推荐:MV-CS016-10UC)
- 计算机(Windows 10/11,64位)
- USB 3.0或GigE网络接口
2. 软件要求
- Python 3.7+
- 海康MVS SDK
- OpenCV
- NumPy
- Tkinter(Python标准库)
3. SDK安装
-
下载MVS SDK
- 访问海康官网:https://www.hikvision.com/cn/
- 搜索 "MVS SDK" 或 "机器视觉 SDK"
- 下载对应操作系统的最新版本
-
安装SDK
- 运行安装程序,按照默认设置安装
- 安装路径建议使用默认路径
-
配置环境变量
- 将SDK安装目录下的bin文件夹添加到系统PATH环境变量
- 例如:C:\Program Files\MVS\Runtime\bin\win64_x64
-
配置Python环境
- 复制SDK安装目录下的Python绑定文件
- 从:C:\Program Files\MVS\Development\Samples\Python\MvImport
- 到:项目目录\Python\MvImport
4. 依赖安装
pip install opencv-python
pip install numpy
使用指南
主程序
功能:双模式激光检测系统的主程序,集成了相机管理、参数配置、检测算法和可视化界面。
运行方式:
python main.py
操作流程:
- 启动程序后,系统会枚举连接的相机设备
- 输入要打开的相机索引
- 程序会自动初始化相机并开始取流
- 同时启动参数控制面板
- 系统会自动检测激光目标并显示结果
- 按
Q键退出显示窗口 - 按
Ctrl+C退出程序
参数控制:
- 曝光时间:控制相机曝光时长(微秒)
- 增益:控制相机信号增益(dB)
- 帧率:控制相机采集帧率(fps)
- ROI:设置感兴趣区域,提高处理速度
- HSV:调节颜色检测范围
- 形态学:设置形态学操作参数
- 几何参数:设置目标检测的几何条件
相机测试程序
功能:用于测试相机基本功能的验证程序,包括设备枚举、图像采集和显示。
运行方式:
python verify_camera.py
操作流程:
- 启动程序后,系统会枚举连接的相机设备
- 输入要打开的相机索引
- 程序会打开相机并开始取流
- 显示相机采集的实时图像
- 按
Q键退出显示窗口 - 按
Ctrl+C退出程序
用途:
- 验证相机连接是否正常
- 测试相机基本功能
- 检查图像质量
- 排查相机相关问题
相机控制程序
功能:用于相机参数调节的独立控制界面程序。
运行方式:
python camera_control.py
操作流程:
- 启动程序后,系统会自动初始化相机
- 点击 "初始化相机" 按钮枚举设备
- 点击 "打开相机" 按钮打开选中的设备
- 点击 "开始取流" 按钮开始采集图像
- 使用滑块调节曝光时间、增益和帧率
- 点击 "停止取流" 按钮停止采集
- 点击 "关闭相机" 按钮关闭设备
用途:
- 快速调节相机参数
- 测试不同参数组合的效果
- 监控相机状态
代码结构
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范围
- 降低图像分辨率
- 启用交替帧策略
- 关闭不必要的显示窗口
问题:程序卡顿 解决方案:
- 减少同时显示的窗口数量
- 降低处理复杂度
- 检查计算机性能
系统要求
硬件要求
- CPU:Intel Core i5或更高
- 内存:8GB或更高
- 存储:10GB可用空间
- 接口:USB 3.0或GigE网络接口
软件要求
- 操作系统:Windows 10/11 64位
- Python:3.7或更高版本
- 海康MVS SDK:最新版本
- OpenCV:4.0或更高版本
- NumPy:1.18或更高版本
许可证
本项目仅供学习和研究使用,未经授权不得用于商业用途。
联系方式
如有问题或建议,请联系项目维护人员。
注意:使用本系统前,请确保已经正确安装和配置海康MVS SDK,并且相机已经正确连接到计算机。