应用篇#1:YOLOv8模型在Windows电脑摄像头上的部署

一、前言

如何部署YOLOv8模型在摄像头上是完成模型应用必须解决的问题,通过使用"cv2"这个库,可以完成对电脑摄像头的调用(本人Windows联想),实时检测并输出图像。

二、代码实现与解读

python 复制代码
import warnings
import cv2
from ultralytics import YOLO

# 忽略警告
warnings.filterwarnings('ignore')

# 初始化 YOLO 模型
model = YOLO('yolov8n.pt')  # 替换为你自己的模型路径

# 打开摄像头
cap = cv2.VideoCapture(0)  # 0表示默认摄像头,若有多个摄像头可更改为其他编号

if not cap.isOpened():
    print("无法打开摄像头")
    exit()

while True:
    # 捕获每一帧
    ret, frame = cap.read()
    if not ret:
        print("无法获取摄像头帧")
        break

    # 使用 YOLO 模型进行预测
    results = model(frame)

    # 获取检测结果(results 是一个列表,取第一个元素)
    result = results[0]

    # 渲染检测结果
    frame = result.plot()  # 绘制检测框

    # 显示摄像头画面和检测结果
    cv2.imshow('YOLOv8 Detection', frame)

    # 按 'q' 键退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放资源
cap.release()
cv2.destroyAllWindows()

三、小结

除了电脑摄像头以外的其他摄像头也可以调用。此后修改"model=......"的内容就可以修改模型为自己训练的或者其他模型了。

本地部署是最简单的一种,也是真正学会部署前的基础的基础。此后还需要学习在一些单片机等算力、存储空间有限的平台部署,可能需要进行量化等操作。只有将YOLO模型烧录到单片机中并成功调用、返回,才算真正学会部署。