yolo --- 目标检测(detection)结果的使用

 在 YOLOv11 中,使用 predict 函数进行目标检测后,返回的结果通常是一个包含检测结果的对象,而不是简单的列表。这个对象通常是一个 Results 类的实例,包含了丰富的信息,方便进一步处理和分析。

import cv2
from ultralytics import YOLO
 
# 加载模型
model = YOLO('yolov11n.pt')
 
# 进行预测
results = model.predict('path/to/image.jpg')
 
# 提取检测结果
for result in results:
    boxes = result.boxes.xyxy  # 边界框坐标
    scores = result.boxes.conf  # 置信度分数
    classes = result.boxes.cls  # 类别索引
    
    # 如果有类别名称,可以通过类别索引获取
    class_names = [model.names[int(cls)] for cls in classes]
    
    # 打印检测结果
    for box, score, class_name in zip(boxes, scores, class_names):
        print(f"Class: {class_name}, Score: {score:.2f}, Box: {box}")
        
    # 可视化检测结果,图像数据格式是BGR
    annotated_img = result.plot()
    
    # 显示图像
    cv2.imshow('Detected Image', annotated_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

 

posted @ 2024-11-20 23:07  流水灯  阅读(1376)  评论(0)    收藏  举报