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

实用指南:YOLO系列——实时屏幕检测

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

import cv2
from ultralytics import YOLO
from PIL import ImageGrab
import numpy as np
import cv2 as cv
model = 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'):break
cv2.destroyAllWindows()

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

import cv2
from ultralytics import YOLO
from PIL import ImageGrab
import numpy as np
import cv2 as cv
model = 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'):break
cv2.destroyAllWindows()

http://www.jsqmd.com/news/21471/

相关文章:

  • 信号(Signal)、信号量(Semaphore)
  • 在 macOS 中遇到 brew 命令不存在的问题
  • 在线聊天室
  • 2025 年亚克力大型鱼缸厂家联系方式推荐:江苏金穗的全产业链服务与定制化技术优势解析
  • 2025 年海洋水族馆厂家联系方式推荐:江苏金穗亚克力定制服务与工程案例,泳池 / 鱼缸项目解决方案
  • 例3.3】三个数 ------信息奥赛高级题库
  • 详细介绍:Go 和云原生 的现状和发展前景
  • Socket 编程 TCP(准备阶段) - 指南
  • 2025 年亚克力板材厂家联系方式推荐:江苏金穗技术工艺与工程案例解析,泳池 / 鱼缸 / 海洋馆解决方案
  • 2025 年 亚克力透明泳池厂家联系方式推荐:江苏金穗的技术积淀与工程服务优势解析
  • 2025山东单招综评培训机构推荐榜:济南易升教育五星领跑,小班培养 + 高上岸率适配升学需求
  • 实用指南:npm 包构建与发布
  • 2025修护/二硫化硒去屑/香氛/控油蓬松/洗发水品牌推荐榜:MASIL 玛丝兰(西安悦己容)五星领衔,这些专研洗护品牌值得关注
  • 2025年Q345B/20G/5310/无缝钢管 高压/5310高压/6479高压合金管推荐榜:天津大无缝五星领跑,这些品质流通企业适配工业需求
  • 2025年保险法律服务律所推荐:拒赔点外险保险律师聚焦专业与实战能力的权威之选
  • vue3+vite学习日记之配置全新项目
  • 2025 全案/VI/品牌设计公司服务商推荐:意识形体(上海意感)五星领跑,这些专注视觉价值的公司值得选
  • 2025 年水泥房厂家联系方式推荐,内蒙古蒙营新型建材提供预制水泥房及配套产品专业解决方案
  • 一网统管,智慧赋能:国标GB28181算法算力平台EasyGBS构建城市交通可视、巡检与指挥新范式
  • YouTube数据抓取漏洞利用与概念验证解析
  • 2025 年检查井厂家联系方式推荐,内蒙古蒙营新型建材提供专业检查井解决方案与可靠产品供应
  • oracle 控制文件
  • iOS 26 查看电池容量与健康状态 多工具组合的工程实践
  • 完整教程:数据类型和变量1
  • 2025年苏州中式秀禾服婚纱照公司权威推荐榜单:海边婚纱照/园林婚纱照/旅拍婚纱照源头公司精选
  • mssqsl靶机的sa权限sql注入-cnblog
  • 国产9GHz宽带巴伦HT-BAL-0009SMG实测反馈——pin-to-pin替代海外料,EVM直接降4个点
  • Python---合成视频不能正常播放的原因
  • ARM GNU 汇编中 .section 的起始终止 - ENGINEER
  • Java使用Selenium自动化测试网盘链接是否失效