python - 如何用python正确捕获我的屏幕?
问题描述
我尝试使用 python 捕获我的屏幕并查看我的屏幕中的任何移动。屏幕始终被捕获并更新。这是我的代码:
import numpy as np
import cv2
from PIL import ImageGrab
while(True):
screen = np.array(ImageGrab.grab(bbox=(0,40,800,640)))
cv2.imshow('window', cv2.cvtColor(screen, cv2.COLOR_BGR2RGB))
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
那么..我在代码中哪里错了?
解决方案
您正在捕获也显示输出的屏幕部分。如果您不想查看输出,请删除cv2.imshow('window', cv2.cvtColor(screen, cv2.COLOR_BGR2RGB))
. 否则将输出屏幕移出捕获窗口。参考这个。这家伙(Sentdex)使用类似的方法来捕获屏幕来创建一个神经网络来玩 GTA5(很久以后)。
推荐阅读
- sql-server - 在 SQL 中将 CHAR 转换为 NUMERIC
- c# - GenericHost 应用程序中的 IApplicationBuilder(asp.net core) 等价物是什么?
- sql-server-2008 - 当 SQL Server 中的列数据类型为数字时,为空或空值时获取 0,否则为 max(id)
- apache-nifi - 将avro转换为json时出现NiFi异常
- php - 如何在 laravel 中配置 html 模板
- firebase - Firebase 托管多站点、1 个域、2 个子域
- docker - crontab 中的自定义 shell 脚本
- powershell - OctoPosh 函数适用于文字,但不适用于参数 (string+num)
- ios - Swift:创建用于对数组项进行分组的算法
- c# - 阻止 AspNetCore 正确启动/停止的 BackgroundService 实现