首页 > 解决方案 > 如何用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

这就是结果(里面的嵌套图像..): 在此处输入图像描述

那么..我在代码中哪里错了?

标签: pythonpython-imaging-librarypython-3.5cv2

解决方案


您正在捕获也显示输出的屏幕部分。如果您不想查看输出,请删除cv2.imshow('window', cv2.cvtColor(screen, cv2.COLOR_BGR2RGB)). 否则将输出屏幕移出捕获窗口。参考这个。这家伙(Sentdex)使用类似的方法来捕获屏幕来创建一个神经网络来玩 GTA5(很久以后)。


推荐阅读