Python 中最快的在线游戏截图方法
Fastest method to screenshot online game in Python
我目前正在尝试构建一个可以玩在线游戏的 ANN "Helicopter Game"(如果您不熟悉,请参见下图)仅使用屏幕截图的像素进行训练。
我已经在 OpenAI Universe 中构建了类似的模型,但希望尝试直接在在线游戏上进行训练,而不是使用模拟器。
我尝试的第一件事是使用Selenium 屏幕截图方法以每秒10 帧的速度捕获100 个屏幕截图。
for i in range(100):
driver.save_screenshot(r'C:\Users\MyName\Desktop\Screenshots\shot'+str(i)+'.png')
time.sleep(0.1)
但 Selenium 似乎无法处理那种速度,它每秒只能捕获大约 2 或 3 个屏幕截图,即使我取消了时间延迟,而且这是在进行任何预处理之前图片的数量。
有谁知道比我尝试用 Selenium 完成的方法更快的方法吗?
您可以尝试 MSS module, and more precisely to that example 只捕获屏幕的相关部分。
该模块可以与 PIL、Numpy 和 OpenCV 一起用于其他工作,只需查看文档':)
我目前正在尝试构建一个可以玩在线游戏的 ANN "Helicopter Game"(如果您不熟悉,请参见下图)仅使用屏幕截图的像素进行训练。
我已经在 OpenAI Universe 中构建了类似的模型,但希望尝试直接在在线游戏上进行训练,而不是使用模拟器。
我尝试的第一件事是使用Selenium 屏幕截图方法以每秒10 帧的速度捕获100 个屏幕截图。
for i in range(100):
driver.save_screenshot(r'C:\Users\MyName\Desktop\Screenshots\shot'+str(i)+'.png')
time.sleep(0.1)
但 Selenium 似乎无法处理那种速度,它每秒只能捕获大约 2 或 3 个屏幕截图,即使我取消了时间延迟,而且这是在进行任何预处理之前图片的数量。
有谁知道比我尝试用 Selenium 完成的方法更快的方法吗?
您可以尝试 MSS module, and more precisely to that example 只捕获屏幕的相关部分。
该模块可以与 PIL、Numpy 和 OpenCV 一起用于其他工作,只需查看文档':)