yolov8车辆目标检测代码和讲解
时间: 2025-06-20 14:49:58 浏览: 11
### 使用YOLOv8进行车辆目标检测
为了实现基于YOLOv8的车辆目标检测,需先准备好环境并加载预训练模型。确保已安装`ultralytics`库和`opencv-python`,这可以通过pip命令完成:
```bash
pip install ultralytics opencv-python
```
之后,可编写Python脚本来执行车辆检测任务。
#### 加载预训练模型
通过Ultralytics提供的API轻松加载YOLOv8模型。对于车辆检测来说,通常选择较小规模但高效的模型如`yolov8n.pt`来减少计算开销,同时保持良好的精度[^4]。
```python
from ultralytics import YOLO
model = YOLO('yolov8n.pt') # Load model
```
#### 执行预测
一旦模型被成功加载,就可以利用它来进行实时或批量图片上的对象检测操作。下面的例子展示了如何对单张图像实施推理过程,并过滤出类别为汽车的结果。
```python
import cv2
def detect_vehicles(image_path, conf_threshold=0.5):
results = model.predict(source=image_path)
img = cv2.imread(image_path)
for r in results:
boxes = r.boxes.cpu().numpy()
for box in boxes:
cls_id = int(box.cls[0])
score = float(box.conf[0])
if score >= conf_threshold and cls_id == 2: # Class ID '2' corresponds to car according to COCO dataset.
x1, y1, x2, y2 = map(int, box.xyxy[0])
label = f'{score:.2f}'
cv2.rectangle(img, (x1, y1), (x2, y2), color=(0, 255, 0), thickness=2)
cv2.putText(img, label, (x1, y1 - 10), fontFace=cv2.FONT_HERSHEY_SIMPLEX,
fontScale=0.9, color=(0, 255, 0), thickness=2)
return img
detected_image = detect_vehicles('path/to/your/image.jpg')
cv2.imshow('Detected Vehicles', detected_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码不仅实现了基本的对象检测逻辑,还特别针对车辆进行了筛选处理,只保留那些置信度超过设定阈值且属于COCO数据集中定义的“car”类别的边界框。
阅读全文
相关推荐


















