- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在学习这个与屏幕交互的教程,但它是针对 Windows 操作系统完成的,因为 ImageGrab 在 linux 中不可用
import numpy as np
from PIL import ImageGrab
import cv2
import time
def screen_record():
last_time = time.time()
while(True):
# 800x600 windowed mode
printscreen = np.array(ImageGrab.grab(bbox=(0,40,800,640)))
print('loop took {} seconds'.format(time.time()-last_time))
last_time = time.time()
cv2.imshow('window',cv2.cvtColor(printscreen, cv2.COLOR_BGR2RGB))
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
是否有 ImageGrab 的替代方案或切换操作系统更好?
最佳答案
使用 pyscreenshot图书馆。它是 Linux 系统的 ImageGrab 替代品。
import pyscreenshot as ImageGrab
im = ImageGrab.grab()
im2 = np.asanyarray(im)
希望这适用于您的代码。
关于python - Linux 中的 ImageGrab 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43520757/
我想使用 PHP 在我的本地 Vista 计算机上抓取屏幕截图。对于初学者来说,我只想设置标准示例: $browser = new COM("InternetExplorer.Application"
我正在使用 PIL 中的 ImageGrab 来获取屏幕上特定像素的 RGB 值。我无法理解在哪里设置 x 和 y 坐标以获取像素。这是到目前为止的模式代码: from PIL import Imag
我目前正在创建一个 PianoTiles AI,它必须从 ImageGrab 中找到所有黑色像素。我已经获得了图像抓取的所有位置,但是我需要找出其中是否有黑色像素,如果有,它们在哪里,以便我的人工智能
当我运行以下代码时,它会打开一个具有适当尺寸的新窗口并正确显示屏幕...但它会不断在顶部和内部打开新的和新的窗口。 import numpy as np from PIL import ImageGr
我正在 try catch 游戏的像素来编写机器人脚本。我有一个简单的功能: def printPixel(): while True: flags, hcursor, (x,y) = w
所以我需要每秒获取一堆屏幕截图,例如 5 个。我正在使用它来为游戏编写机器人程序。然而 imagegrab 方法大约需要 0.3 秒,这对我来说太慢了。即使在指定了 bbox 值之后,它仍然需要 0.
这个问题在这里已经有了答案: Python Imaging Library fails to grab whole screen (2 个答案) 关闭 4 年前。 我试图使用 PIL.ImageGr
我获得了使用 pillow ImageGrab 在 python 中录制屏幕的代码,这在我的 python 3.5 版本中无法正常工作。视频帧的大小不断减小。 import numpy as np f
我花了一个小时研究这个简单的主题,但我遇到的所有答案都非常复杂,作为 Python 新手,我无法将它们中的任何一个合并到我的程序中。 我正在尝试让人工智能玩浏览器版本的钢琴 block 游戏。截至目前
我想知道如何从 Pillow 5.0.0 保存 ImageGrab(), 我使用Pycharm,我的代码是: from PIL import ImageGrab, Image m1 = ImageGr
我正在学习这个与屏幕交互的教程,但它是针对 Windows 操作系统完成的,因为 ImageGrab 在 linux 中不可用 import numpy as np from PIL import I
如标题所说,我很好奇是否有一种方法可以配置 ImageGrab.grab() 模块以抓取例如右侧屏幕,而不是多显示器设置中的左侧屏幕。 最佳答案 不幸的是,由于 PIL 获取显示设备尺寸的方式,这是不
我正在尝试使用此代码捕获全屏 (1920 x 1080)。不过,保存的图像只有 1536 x 864。 解决方案:正如 Mark 在下面指出的那样,Windows 具有缩放功能,可以通过“控制面板”>
如何以特定方式使用 ImageGrab.grab()) 来捕获所选窗口而不是整个屏幕或边界框? 为了更好地理解,我目前使用下面的这一行,它基本上捕获了给定的边界框: screen =
我设置了一个 VirtualBox 来使用两个显示器。我尝试在第二台显示器上截取一个窗口的屏幕截图: import ImageGrab im = ImageGrab.grab(windowrect)
我一直在尝试检查屏幕上的像素是否正在变化。我需要做什么? 我上网冲浪了很长时间,但没有成功。我对网上给出的代码进行了实验,发现我的代码仅从运行代码时打开的屏幕提供数据。即,如果代码运行时屏幕是白色的,
我想在我的应用程序中使用 imageGrab。我的笔记本电脑是装有 OSX 的 macbook。 当我使用 Pillow 时出现此错误: ImportError: ImageGrab is Windo
我正在用 python 制作一个屏幕捕获程序。我当前的问题是 PIL.ImageGrab.grab() 给我的输出与 2 秒后的输出相同。例如,因为我想我不清楚,在下面的程序中,几乎所有图像都是相同的
我正在用 python 制作一个机器人。我想将特定像素的颜色与另一种颜色(83、83、83)进行比较。 我尝试与带有单引号和双引号的字符串进行比较。它不起作用,所以我认为它可能是一个数组。 这是我的机
我有以下功能: def take_screenshot(x1, y1, x2, y2): img = ImageGrab.grab(bbox=(x1, y1, x2, y2)) ret
我是一名优秀的程序员,十分优秀!