53 lines
1.2 KiB
Markdown
53 lines
1.2 KiB
Markdown
|
# 视觉识别模块 (`src/vision`)
|
|||
|
|
|||
|
## 模块概述
|
|||
|
本模块实现了目标识别与跟踪功能,特别针对电力设备的检测和跟踪进行了优化。
|
|||
|
|
|||
|
## 类说明
|
|||
|
### `TargetTracker`
|
|||
|
目标跟踪器类,提供以下功能:
|
|||
|
|
|||
|
#### 方法
|
|||
|
- `__init__(camera_index=0)`
|
|||
|
初始化摄像头和跟踪参数
|
|||
|
|
|||
|
- `get_frame()`
|
|||
|
获取当前视频帧
|
|||
|
|
|||
|
- `detect_power_equipment(frame)`
|
|||
|
增强版电力设备检测算法,使用HSV颜色空间进行检测
|
|||
|
|
|||
|
- `start_tracking(frame, bbox)`
|
|||
|
开始跟踪指定区域
|
|||
|
|
|||
|
- `update_tracking()`
|
|||
|
更新跟踪结果
|
|||
|
|
|||
|
- `calibrate_hand_eye(arm_positions, image_points)`
|
|||
|
执行手眼标定,计算相机坐标系到机械臂坐标系的转换矩阵
|
|||
|
|
|||
|
- `get_camera_to_world_transform(arm_controller)`
|
|||
|
获取从相机坐标系到世界坐标系的转换
|
|||
|
|
|||
|
## 使用示例
|
|||
|
```python
|
|||
|
from src.vision.target_tracker import TargetTracker
|
|||
|
|
|||
|
# 创建目标追踪器
|
|||
|
tracker = TargetTracker()
|
|||
|
|
|||
|
# 获取当前帧
|
|||
|
frame = tracker.get_frame()
|
|||
|
|
|||
|
# 检测电力设备
|
|||
|
boxes = tracker.detect_power_equipment(frame)
|
|||
|
|
|||
|
# 开始跟踪第一个检测到的目标
|
|||
|
if boxes:
|
|||
|
tracker.start_tracking(frame, boxes[0])
|
|||
|
|
|||
|
# 更新跟踪结果
|
|||
|
success, bbox = tracker.update_tracking()
|
|||
|
|
|||
|
# 释放资源
|
|||
|
tracker.release()
|