YOLO目标检测过程中如何获取检测对象的边界框(bounding box)坐标
YOLO目标检测运行时获取并打印检测对象坐标操作方法
- 第一步:定位检测结果输出位置
打开你用来运行目标检测的Python文件,找到模型完成推理、输出检测结果的代码段。你使用的YOLO服饰检测项目的检测逻辑中,非极大值抑制处理后的pred变量就是存放所有检测框信息的核心变量。 - 第二步:添加坐标打印逻辑
在得到pred变量的代码后,插入以下代码段即可逐行打印每个检测到的目标的坐标信息:
# 遍历所有检测结果 for *xyxy, conf, cls in pred: # 提取坐标值并转为整数格式 x1, y1 = int(xyxy[0].item()), int(xyxy[1].item()) x2, y2 = int(xyxy[2].item()), int(xyxy[3].item()) # 打印目标信息,可根据需求调整输出内容 print(f"类别ID: {int(cls.item())} | 置信度: {conf.item():.2f} | 边界框: 左上({x1},{y1}) 右下({x2},{y2}) | 中心点: ({(x1+x2)//2}, {(y1+y2)//2})")
- 可选拓展:如果需要长期留存坐标数据,可以在打印的同时新增文件写入逻辑,将每一条坐标信息按规则存入本地txt或csv文件,方便后续分析使用。
内容的提问来源于stack exchange,提问作者Mohammad Fawaz
相关产品推荐
相关产品推荐

