22 lines
626 B
Python
22 lines
626 B
Python
import numpy as np
|
|
from datetime import datetime
|
|
from typing import List
|
|
from dataclasses import dataclass
|
|
|
|
@dataclass
|
|
class DetectionResult:
|
|
"""检测结果数据类"""
|
|
boxes: np.ndarray
|
|
confidences: np.ndarray
|
|
class_ids: np.ndarray
|
|
class_names: List[str]
|
|
timestamp: datetime
|
|
|
|
@dataclass
|
|
class AlarmConfig:
|
|
"""告警配置"""
|
|
target_classes: List[str] # 目标类别
|
|
confidence_threshold: float = 0.5 # 置信度阈值
|
|
alarm_duration: int = 10 # 告警录制时长(秒)
|
|
cooldown_duration: int = 30 # 告警冷却时间(秒)
|
|
save_path: str = "./alarm_videos" # 保存路径 |