yolov5输出结果可视化
时间: 2023-09-12 17:13:32 浏览: 233
你可以使用OpenCV库来可视化YOLOv5的输出结果。首先,将YOLOv5返回的边界框和类别标签提取出来。然后,使用OpenCV的绘制函数将边界框和标签绘制在图像上。以下是一个示例代码:
```python
import cv2
import torch
from utils.general import non_max_suppression
# 加载模型
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')
# 读取图像
img = cv2.imread('image.jpg')
# 推理
results = model(img)
# 非最大抑制
results = non_max_suppression(results.pred, 0.4, 0.5)
# 提取边界框和类别标签
boxes = results.xyxy[0][:, :4].cpu().numpy()
labels = results.xyxy[0][:, -1].cpu().numpy()
# 可视化
for box, label in zip(boxes, labels):
x_min, y_min, x_max, y_max = box.astype(int)
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), (255, 0, 0), 2)
cv2.putText(img, str(label), (x_min, y_min - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (255, 0, 0), 2)
# 显示图像
cv2.imshow('Output', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码使用了`ultralytics/yolov5`库来加载YOLOv5模型,并对图像进行推理。然后使用`non_max_suppression`函数进行非最大抑制,提取边界框和类别标签。最后,使用OpenCV的绘制函数将边界框和标签绘制在图像上,并显示结果图像。你只需要将代码中的`'image.jpg'`替换成你要处理的图像路径即可。
阅读全文