关于yolov5的车辆检测代码
时间: 2025-01-04 21:23:49 浏览: 50
### YOLOv5 实现车辆检测
为了实现基于YOLOv5的车辆检测,可以按照以下方式编写Python脚本。该代码片段涵盖了从模型加载到执行预测的过程。
```python
import torch
from PIL import Image
import matplotlib.pyplot as plt
def load_model():
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # 加载预训练的小型YOLOv5模型[^1]
return model
def predict(image_path, model):
img = Image.open(image_path) # 打开图片文件
results = model(img) # 使用模型进行推理
df_results = results.pandas().xyxy[0] # 将结果转换为pandas DataFrame以便于查看和操作
filtered_df = df_results[df_results['name'] == 'car'] # 过滤只保留类别名为'car'的结果[^2]
for _, row in filtered_df.iterrows(): # 遍历每一辆车的信息并绘制边界框
xmin, ymin, xmax, ymax = int(row.xmin), int(row.ymin), int(row.xmax), int(row.ymax)
rect = plt.Rectangle((xmin, ymin), xmax-xmin, ymax-ymin, fill=False, color="red", linewidth=2)
plt.gca().add_patch(rect)
plt.imshow(img)
plt.show()
if __name__ == "__main__":
yolov5_model = load_model()
image_file = "path/to/your/image.jpg"
predict(image_file, yolov5_model)
```
这段代码首先通过`torch.hub`接口下载了一个轻量级版本(`yolov5s`)的YOLOv5模型,并定义了两个函数:一个是用于加载模型;另一个则是接收一张图片路径作为参数来进行目标检测预测。最后,在主程序部分调用了这两个函数来完成整个过程。
对于夜间条件下的车辆检测任务而言,上述方法同样适用,因为YOLO系列算法具备良好的泛化能力,能够适应多种环境变化。
阅读全文
相关推荐


















