当前位置: 首页 > news >正文

YOLO系列——实时屏幕检测

通过PIL的ImageGrab.grab可以截取屏幕,转换成BGR格式后就可以给YOLO进行检测,一旦屏幕上出现指定的内容,就会标记出来。

import cv2
from ultralytics import YOLO
from PIL import ImageGrab
import numpy as np
import cv2 as cvmodel = YOLO("../yolov8n.pt")
a = (100,200,800,1000)#None 全屏,[100,200,800,1000]
a=None
while 1:scrn = ImageGrab.grab(bbox=a)#把RGB->BGRscrn = np.array(scrn)scrn = cv.cvtColor(scrn,cv2.COLOR_RGB2BGR)#这下YOLO可以用了 GBRresults = model.predict(scrn)#results[0]保存了第0张图片的x,y,x,y坐标,conf每个目标的置信度,cls每个飙的泪飙# for box in results[0].boxes:#     print("坐标:",box.xyxy[0].tolist())#     print("置信度:",box.conf[0].item())#     print("类别ID:",box.cls[0].item())annotated_frame=results[0].plot()cv2.imshow('jian',annotated_frame) #窗口名jian,后面是检测到的帧信息if cv2.waitKey(1) &0xFF == ord('q'):breakcv2.destroyAllWindows()

屏幕一旦出现关注的目标就把屏幕保存,比如抓舞弊:

import cv2
from ultralytics import YOLO
from PIL import ImageGrab
import numpy as np
import cv2 as cvmodel = YOLO(r"D:\PyCharm\LearningYOLO\da_fa_yolo\runs\detect\train4\weights\best.pt")
a = (100,200,800,1000)#None 全屏,[100,200,800,1000]
a=None
while 1:scrn = ImageGrab.grab(bbox=a)#把RGB->BGRscrn1 = np.array(scrn)scrn1 = cv.cvtColor(scrn1,cv2.COLOR_RGB2BGR)#这下YOLO可以用了 GBRresults = model.predict(scrn)#results[0]保存了第0张图片的x,y,x,y坐标,conf每个目标的置信度,cls每个飙的泪飙# for box in results[0].boxes:#     print("坐标:",box.xyxy[0].tolist())#     print("置信度:",box.conf[0].item())#     print("类别ID:",box.cls[0].item())c=0t=500for box in results[0].boxes:if box.cls[0]== 0:print("找到了目标")# 保存截图scrn.save(fr"./t/{c}.png")# 发出蜂鸣winsound.Beep(1000,t) #蜂鸣的频率1000,维持时间msc+=1annotated_frame = results[0].plot()cv2.imshow('jian',annotated_frame)if cv2.waitKey(1)&0xFF==ord('q'):breakcv2.destroyAllWindows()

http://www.dtcms.com/a/394558.html

相关文章:

  • 牛客算法基础noob49 上三角矩阵判定
  • autosar 中OS模块理解
  • 通俗范畴论17.2 向量空间的对偶与双对偶
  • huggingface_hub 安装部署问题汇总
  • 在我的Java项目中为什么使用AllArgsConstructor注解注入的方式启动报错了:
  • π0:一个 VLA 流匹配模型用于通用机器人控制(又称 pi0)
  • Information theorem-Entropy
  • 编译原理实验报告——词法分析程序
  • 整体设计 完整的逻辑链条 之4 认知逻辑视角 —— 前序驱动的认知演进体系 之2
  • C/C++正则表达式PCRE2库
  • 基于python大数据的声乐信息分类评测系统
  • 永磁同步电机无速度算法--改进型超螺旋滑模观测器
  • Linux0.12的中断处理过程源码分析
  • 进程控制(Linux)
  • 【C++】——string类的使用(详细讲解)
  • 借助 Amazon ECS 全新的内置蓝绿部署功能,加速安全的软件发布进程
  • 【脑电分析系列】第24篇:运动想象BCI系统构建:CSP+LDA/SVM与深度学习方法的对比研究
  • 【论文速递】2025年第22周(May-25-31)(Robotics/Embodied AI/LLM)
  • MySQL 5.7 多实例部署完整指南(基于二进制包)
  • Git的使用——Git命令、密钥/私钥、文件推送/提交、分支增删改查、文件回滚、.gitignore文件忽略
  • [已更新]2025华为杯D题数学建模研赛D题研究生数学建模思路代码文章成品:低空湍流监测及最优航路规划
  • [C++类的默认成员函数——lesson5.构造函数析构函数]
  • 第二十七章 ESP32S3 INFRARED_TRANSMISSION 实验
  • ✅ Python车牌识别计费系统 PyQt5界面 YOLOv5+CRNN 深度学习 MySQL可视化 车牌检测(建议收藏)
  • 盛水最多的容器_优选算法(C++)双指针
  • QT-串口,完结!
  • Git常用命令合集
  • Qt(模态对话框的切换)
  • QT-模型视图结构
  • C语言 C语句