一、前言
如何部署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模型烧录到单片机中并成功调用、返回,才算真正学会部署。