from ultralytics import YOLO
model_path = r'/home/zhangh/project1/workproject/YOLOv8/ultralytics/runs/train/2024723_yolov8n5/weights/best.pt'
img_path = r'worker_data/images/val/%E9%93%B2%E6%96%97%E5%9D%90%E4%BA%BA%E5%89%AA%E8%BE%91%E7%89%88_2.mp4#t=383.jpg'
model = YOLO(model=model_path)
results = model.predict(source=img_path)
# 把tensor转为numpy格式
boxes = results[0].boxes.cpu().numpy()
# 输出模型中有哪些类别
print(results[0].names)
# 访问 boxes 属性,它包含了检测到的边界框,对应的类别得分,及对应的类别
loc, scores, classes =[], [], []
# # 遍历每个检测结果
for box in boxes:
loc.append(box.xyxy[0].tolist())
scores.append(float(box.conf))
classes.append(results[0].names[int(box.cls)])
print(loc)
print(scores)
print(classes)
对于YOLOv8推理得到的Results是一个长度为1的列表,里面包含许多预测属性。其中和预测框相关的包含着result[0].boxes里面,遍历这个tensor即可获得所有预测框相关的信息,包括坐标、类别、置信度等信息。