如何让YoloV5通过屏幕截图进行检测?

我正在使用以下代码实时从一个打开的应用程序中截取屏幕截图。我该如何运行detect.py,使其仅检测我截取的屏幕内容?谢谢。

我的屏幕截图代码

import cv2 as cvimport numpy as npimport numpy as npimport cv2from mss import mssfrom PIL import Imagebounding_box = {'top': 340, 'left': 800, 'width': 350, 'height': 400}sct = mss()while True:    sct_img = sct.grab(bounding_box)    scr_img = np.array(sct_img)    #cv2.imshow('screen', scr_img) # display screen in box    cv.imshow('Testing', scr_img)    if (cv2.waitKey(1) & 0xFF) == ord('q'):        cv2.destroyAllWindows()        break

YoloV5 detect.py

目前它只能检测图像而不是我的实时屏幕截图

# PyTorch Hubimport torch# Modelmodel = torch.hub.load('ultralytics/yolov5', 'yolov5s')# Imagesdir = 'https://ultralytics.com/images/'imgs = [dir + f for f in ('zidane.jpg', 'bus.jpg')]  # batch of images# Inferenceresults = model(imgs)results.print()  # or .show(), .save()

预期结果:

enter image description here


回答:

只需将屏幕截图传递给模型:

import cv2 as cvimport numpy as npimport numpy as npimport cv2from mss import mssfrom PIL import Image# PyTorch Hubimport torch# Modelmodel = torch.hub.load('ultralytics/yolov5', 'yolov5s')bounding_box = {'top': 340, 'left': 800, 'width': 350, 'height': 400}sct = mss()while True:    sct_img = sct.grab(bounding_box)    scr_img = np.array(sct_img)    #cv2.imshow('screen', scr_img) # display screen in box    scr_img = model(scr_img)    cv.imshow('Testing', scr_img)    if (cv2.waitKey(1) & 0xFF) == ord('q'):        cv2.destroyAllWindows()        break

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注