如果将训练好的模型实时检测我的屏幕,并且在我的屏幕上进行打框? #14322
JackMikeLi
started this conversation in
General
Replies: 3 comments 2 replies
-
@JackMikeLi 你好!感谢你的提问 😊 要实现实时检测屏幕并直接在屏幕上显示预测结果,你可以使用OpenCV的 import cv2
import numpy as np
from ultralytics import YOLO
from mss import mss
# 加载自定义训练的YOLO模型
model = YOLO("path/to/your/custom_model.pt")
# 初始化屏幕捕获
sct = mss()
# 定义屏幕捕获区域
monitor = {"top": 0, "left": 0, "width": 1920, "height": 1080}
while True:
# 捕获屏幕
img = np.array(sct.grab(monitor))
# 转换颜色格式,从BGRA到BGR
img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)
# 使用YOLO模型进行预测
results = model(img)
# 获取预测结果并绘制在图像上
annotated_img = results[0].plot()
# 显示带有预测框的屏幕内容
cv2.imshow("Screen Detection", annotated_img)
# 按下 'q' 键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
cv2.destroyAllWindows() 请确保你已经安装了 pip install mss 这个代码会捕获整个屏幕,并使用YOLO模型进行实时检测,然后在屏幕上显示带有预测框的结果。如果你有任何进一步的问题或需要更多帮助,请随时告诉我们! |
Beta Was this translation helpful? Give feedback.
0 replies
-
非常感谢您的回复
运行之后会循环弹出如下图的窗口,这与我实际需求不符,再次请问您有何种办法能解决这类问题?非常感谢
~hero
***@***.***
…------------------ 原始邮件 ------------------
发件人: "ultralytics/ultralytics" ***@***.***>;
发送时间: 2024年7月10日(星期三) 晚上6:59
***@***.***>;
***@***.******@***.***>;
主题: Re: [ultralytics/ultralytics] 如果将训练好的模型实时检测我的屏幕,并且在我的屏幕上进行打框? (Discussion #14322)
@JackMikeLi 你好!感谢你的提问 😊
要实现实时检测屏幕并直接在屏幕上显示预测结果,你可以使用OpenCV的cv2.imshow函数来显示带有预测框的屏幕内容。以下是一个示例代码,展示如何使用YOLO模型对屏幕进行实时检测并显示结果:
import cv2 import numpy as np from ultralytics import YOLO from mss import mss # 加载自定义训练的YOLO模型 model = YOLO("path/to/your/custom_model.pt") # 初始化屏幕捕获 sct = mss() # 定义屏幕捕获区域 monitor = {"top": 0, "left": 0, "width": 1920, "height": 1080} while True: # 捕获屏幕 img = np.array(sct.grab(monitor)) # 转换颜色格式,从BGRA到BGR img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR) # 使用YOLO模型进行预测 results = model(img) # 获取预测结果并绘制在图像上 annotated_img = results[0].plot() # 显示带有预测框的屏幕内容 cv2.imshow("Screen Detection", annotated_img) # 按下 'q' 键退出 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放资源 cv2.destroyAllWindows()
请确保你已经安装了mss库,可以通过以下命令安装:
pip install mss
这个代码会捕获整个屏幕,并使用YOLO模型进行实时检测,然后在屏幕上显示带有预测框的结果。如果你有任何进一步的问题或需要更多帮助,请随时告诉我们!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
1 reply
-
非常感谢您的回复,问题已经解决,再次感谢您!
~hero
***@***.***
…------------------ 原始邮件 ------------------
发件人: "ultralytics/ultralytics" ***@***.***>;
发送时间: 2024年7月11日(星期四) 凌晨2:15
***@***.***>;
***@***.******@***.***>;
主题: Re: [ultralytics/ultralytics] 如果将训练好的模型实时检测我的屏幕,并且在我的屏幕上进行打框? (Discussion #14322)
你好 @JackMikeLi,
感谢你的反馈!要实现实时检测屏幕并直接在屏幕上显示预测结果,你可以使用OpenCV的cv2.imshow函数来显示带有预测框的屏幕内容。以下是一个示例代码,展示如何使用YOLO模型对屏幕进行实时检测并显示结果:
import cv2 import numpy as np from ultralytics import YOLO from mss import mss # 加载自定义训练的YOLO模型 model = YOLO("path/to/your/custom_model.pt") # 初始化屏幕捕获 sct = mss() # 定义屏幕捕获区域 monitor = {"top": 0, "left": 0, "width": 1920, "height": 1080} while True: # 捕获屏幕 img = np.array(sct.grab(monitor)) # 转换颜色格式,从BGRA到BGR img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR) # 使用YOLO模型进行预测 results = model(img) # 获取预测结果并绘制在图像上 annotated_img = results[0].plot() # 显示带有预测框的屏幕内容 cv2.imshow("Screen Detection", annotated_img) # 按下 'q' 键退出 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放资源 cv2.destroyAllWindows()
请确保你已经安装了mss库,可以通过以下命令安装:
pip install mss
这个代码会捕获整个屏幕,并使用YOLO模型进行实时检测,然后在屏幕上显示带有预测框的结果。如果你有任何进一步的问题或需要更多帮助,请随时告诉我们!
另外,如果你遇到任何问题,请提供一个最小可复现的示例代码,这将有助于我们更快地诊断和解决问题。你可以参考这个链接获取更多信息:https://docs.ultralytics.com/help/minimum_reproducible_example
希望这能帮助到你!😊
— Ultralytics Team
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
在使用自定义训练集得到的模型后,在我尝试将他实时检测自己的屏幕并进行打框标注时,由于代码会另外生成一个窗口test显示大框信息,然而我想让打框的预测结果直接显示在我的屏幕上,我想知道如何调整代码以以让模型对我的屏幕进行预测打框?
任何回复和反馈都是十分感激的!!!
Beta Was this translation helpful? Give feedback.
All reactions