| .. | ||
| config copy.yaml | ||
| README.md | ||
| roi_filter.py | ||
| test_roi_logic.py | ||
| test_roi_rtsp.py | ||
| validate_roi_setup.py | ||
ROI区域过滤验证工具
项目结构
ROI/
├── roi_filter.py # ROI过滤核心模块
├── validate_roi_setup.py # ROI设置验证工具
├── test_roi_logic.py # ROI逻辑测试
├── test_roi_rtsp.py # RTSP流测试(含GUI)
└── README.md # 本说明文档
验证结果
✅ ROI设置验证成功!
- 配置文件加载: 正常
- ROI区域定义: 正常 (2个区域)
- 坐标过滤功能: 正常
- RTSP流测试: 正常
ROI区域配置
当前配置了以下ROI区域:
-
control_lever_area (控制摇杆区域)
- 坐标范围: (0.10, 0.70) -> (0.30, 0.90)
- 状态: 启用
-
valve_area (阀门区域)
- 坐标范围: (0.70, 0.60) -> (0.80, 0.80)
- 状态: 启用
使用方法
1. 验证ROI设置
python validate_roi_setup.py
2. 在d8_5.py中集成ROI过滤
from ROI.roi_filter import ROIManager
# 初始化ROI管理器
roi_manager = ROIManager("../config.yaml")
# 在检测循环中应用过滤
filtered_detections = roi_manager.filter_detections(detections, frame_width, frame_height)
3. 修改ROI配置
编辑项目根目录下的 config.yaml 文件,修改 roi_filter 部分:
roi_filter:
enabled: true
regions:
- name: "区域名称"
x_min: 0.1 # X坐标最小值 (0-1)
x_max: 0.3 # X坐标最大值 (0-1)
y_min: 0.7 # Y坐标最小值 (0-1)
y_max: 0.9 # Y坐标最大值 (0-1)
description: "区域描述"
enabled: true # 是否启用
验证说明
- 红色矩形框表示ROI区域
- 在ROI区域内的检测目标将被过滤掉
- 可通过修改配置文件动态调整ROI区域