YOLO DEMO

如果你想快速尝试 可以直接下载github的项目 另外 也有备份存在

Github地址: 点击此处进入 蓝奏云地址: 点击此处进入


下方将会提供三种不同的的调用YOLO V8官方的模型yolov8s.pt

1. 处理视频

运行前提:

  • a. 请完成ppt已描述过的步骤

  • b. 需要你将项目文件夹内添加一个任意的视屏 并改名为"test.mp4"

Code:

import cv2
from ultralytics import YOLO

model = YOLO('yolov8s.pt')
cap = cv2.VideoCapture('test.mp4')
out = cv2.VideoWriter('output_video.mp4', cv2.VideoWriter_fourcc(*'mp4v'), cap.get(cv2.CAP_PROP_FPS),
                      (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))))

while cap.isOpened():
    ret, frame = cap.read()
    if not ret: break
    results = model(frame)
    out.write(results[0].plot())

cap.release()
out.release()

2. 处理照片

运行前提:

  • a. 请完成ppt已描述过的步骤

  • b. 需要你将项目文件夹内添加一个任意的图片文件 并改名为"test.png"

Code:

from ultralytics import YOLO
import cv2

# 加载 YOLOv8 模型
model = YOLO('yolov8s.pt')

# 读取图片
img = cv2.imread('test.png')

# 使用 YOLOv8 进行目标检测
results = model(img)

# 在图片上绘制边框
annotated_img = results[0].plot()

# 保存带有边框的图片
cv2.imwrite('result.png', annotated_img)

print("处理完成,结果保存在 result.png")

3. 处理摄像头人脸

运行前提:

  • a. 请完成ppt已描述过的步骤

Code:

import cv2
from ultralytics import YOLO

# 加载 YOLOv8 模型
model = YOLO('yolov8s.pt')

# 打开系统摄像头(0 表示默认摄像头)
cap = cv2.VideoCapture(0)

# 检查摄像头是否成功打开
if not cap.isOpened():
    print("无法打开摄像头")
    exit()

while True:
    # 从摄像头读取一帧
    ret, frame = cap.read()

    if not ret:
        print("无法读取摄像头画面")
        break

    # 使用 YOLOv8 进行目标检测
    results = model(frame)

    # 获取检测结果并在帧上绘制边框
    annotated_frame = results[0].plot()

    # 显示处理后的帧
    cv2.imshow('YOLOv8 Detection', annotated_frame)

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

# 释放摄像头资源并关闭窗口
cap.release()
cv2.destroyAllWindows()

Last updated