gpt4 book ai didi

python - 如何在Python中尽快获取像素的颜色?

转载 作者:行者123 更新时间:2023-12-03 08:51:18 26 4
gpt4 key购买 nike

我在 ubuntu 上,我想每 0.1 秒检查一次屏幕上特定像素的颜色。我怎样才能做到这一点?

我了解 PIL,但这需要每 0.1 秒一次完整的屏幕截图,仅针对一个像素。

然后我使用ctypes.windll找到了这个方法:Faster method of reading screen pixel in Python than PIL?

但这行不通,因为我不在 Windows 上。还有其他想法吗?

编辑:感谢 b_c 解决了

from Xlib import display, X
from PIL import Image #PIL


def getColor(x,y):
W, H = 1, 1
dsp = display.Display()
root = dsp.screen().root
raw = root.get_image(x, y, W, H, X.ZPixmap, 0xffffffff)
image = Image.frombytes("RGB", (W, H), raw.data, "raw", "BGRX")
print image.getpixel((0, 0))
time.sleep(0.01)

最佳答案

PIL 和其他类似程序通常允许您指定一个边界框来抓取较小的数量

PyAutoGui 允许您获取更小的部分

如此处引用 https://pyautogui.readthedocs.io/en/latest/screenshot.html代码如

pyautogui.screenshot(region=(0,0, 300, 400))

可能有用

https://pillow.readthedocs.io/en/stable/reference/Image.html

也很有用,bbox 允许您仅观察一小部分区域。

关于python - 如何在Python中尽快获取像素的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58757752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com