You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Python PIL与ImageGrab.grab的人物检测功能集成问询

整合人物检测与框选到你的实时屏幕循环中

嘿,我来帮你把人物检测和框选功能无缝整合到你的现有循环里!咱们用YOLOv8来做实时检测——它速度快、准确率够,特别适合这种屏幕捕获的实时场景。

第一步:准备依赖

先安装需要的库:

pip install ultralytics numpy opencv-python pillow

第二步:修改你的代码

我会把检测和框选逻辑直接嵌入到你的循环里,关键是要在循环外提前加载模型(避免每次循环都重新加载拖慢速度),然后在每帧里运行检测并绘制框选。

修改后的完整代码如下:

import cv2
import numpy as np
from PIL import ImageGrab
import time
from ultralytics import YOLO

# 提前加载YOLO模型(nano版本,速度快适合实时)
model = YOLO('yolov8n.pt')
last_time = time.time()

while(True):
    # 捕获屏幕区域
    screen = np.array(ImageGrab.grab(bbox=(0,40, 1680, 1050)))
    # 将RGB格式的屏幕帧转为OpenCV的BGR格式(可选,YOLO也支持RGB)
    screen_bgr = cv2.cvtColor(screen, cv2.COLOR_RGB2BGR)
    
    # 运行人物检测(只检测人,类别ID是0)
    results = model(screen_bgr, classes=[0])
    
    # 在帧上绘制检测框和标签
    annotated_frame = results[0].plot()
    
    # 打印循环耗时
    print('Loop took {} seconds'.format(time.time()-last_time))
    last_time = time.time()
    
    # 显示带框选的画面
    cv2.imshow('Detected People', annotated_frame)
    
    # 按q退出
    if cv2.waitKey(25) & 0xFF == ord('q'):
        cv2.destroyAllWindows()
        break

关键细节解释

  • 模型加载:把YOLO('yolov8n.pt')放在循环外,这样只加载一次,大幅提升速度。如果需要更高准确率,可以换成yolov8s.pt(small版本),但速度会稍慢。
  • 类别过滤:classes=[0]指定只检测“人”这个类别(YOLO的类别ID里0对应person),避免检测其他无关物体。
  • 帧格式转换:ImageGrab捕获的是RGB格式,OpenCV默认用BGR,所以转一下格式可以让YOLO的检测结果和OpenCV显示的颜色一致。
  • 框选绘制:results[0].plot()是YOLO内置的方法,自动帮你画出检测框、类别标签和置信度,不用自己手动写绘制逻辑,非常方便。

自定义调整方向

如果你想自己手动绘制框选(比如改框的颜色、粗细),可以替换annotated_frame = results[0].plot()为这段代码:

annotated_frame = screen_bgr.copy()
for result in results[0].boxes:
    # 获取框的坐标、置信度和类别
    x1, y1, x2, y2 = map(int, result.xyxy[0])
    conf = result.conf[0]
    cls = result.cls[0]
    
    # 绘制矩形框
    cv2.rectangle(annotated_frame, (x1, y1), (x2, y2), (0, 255, 0), 2)
    # 绘制标签
    label = f'Person {conf:.2f}'
    cv2.putText(annotated_frame, label, (x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0,255,0), 2)

这样你就能完全自定义框的样式啦!

内容的提问来源于stack exchange,提问作者Jennifer Miller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:36:31