from dataclasses import dataclass from typing import List @dataclass class DetectionResult: bbox: List[int] # [x1, y1, x2, y2] class_id: int class_name: str confidence: float track_id: int @dataclass class DetectionResultList: boxes: [] # [x1, y1, x2, y2] clss: [] clss_name: [] confs: [] track_ids: [] def __iter__(self): """迭代返回每个检测结果的 (bbox, cls_id, cls_name, conf)""" for i in range(len(self.boxes)): yield ( self.boxes[i], self.clss[i], self.clss_name[i], self.confs[i], self.track_ids[i] )