首页 > 代码库 > GTA5自动驾驶一 截取游戏窗口

GTA5自动驾驶一 截取游戏窗口

截取游戏窗口使用PIL库内的ImageGrab

ImageGrab模块用于将当前屏幕的内容或者剪贴板上的内容拷贝到PIL图像内存里面,我们暂定使用一个800*640的窗口,虽然不是很好看,但足够我们进行图像处理了,代码如下:

 1 #! usr/bin/python
 2 #coding=utf-8
 3 
 4 import numpy as np
 5 from PIL import ImageGrab
 6 import cv2
 7 import time
 8 
 9 def screen_record():
10     last_time = time.time()
11     while(True):
12         printScreen = np.array(ImageGrab.grab(bbox=(0,40,800,640)))
13         print(loop took {} seconds.format(time.time()-last_time))
14         last_time = time.time()
15         cv2.imshow(window,cv2.cvtColor(printScreen,cv2.COLOR_BGR2RGB))
16 
17         if cv2.waitKey(25) & 0xFF == ord(q):
18             cv2.destroyAllWindows()
19             break
20 
21 if __name__ == "__main__":
22     screen_record()

以上代码基本上可以实现11~12帧/秒的抓取速率

GTA5自动驾驶一 截取游戏窗口