python - 实时获取特定像素的 RGB 值
问题描述
如何使用 python 实时获取屏幕上像素的 RGB 值?我试过使用
from PIL import ImageGrab as ig
while(True):
screen = ig.grab()
g = (screen.getpixel((358, 402)))
print(g)
获得价值,但有明显的滞后。
有没有另一种方法可以在没有屏幕捕获的情况下做到这一点?因为我认为这是滞后的原因。有没有办法大大加快这个过程?
是否可以将 ig.grab() 限制为 358、402 并从那里获取值?
解决方案
以下更改将加速 15%
pixel = (358, 402)
pixel_boundary = (pixel + (pixel[0]+1, pixel[1]+1))
g = ig.grab(pixel_boundary)
return g.getpixel((0,0))
运行:
建议:每个循环 383 毫秒 ± 5.1 毫秒(平均值 ± 标准偏差。7 次运行,每个循环 1 个)
原始:每个循环 450 毫秒 ± 5.31 毫秒(平均值 ± 标准偏差。7 次运行,每个循环 1 个)
推荐阅读
- amazon-web-services - S3 - 上传 - 如何生成一个预签名的 url,让每个人都可以读取对象?
- python - 编写 Python pip-able 包:如何访问包中的文件?
- c++ - C++ 线程安全类,未按预期工作
- c# - UWP TreeView 排序导致随机事件
- javascript - mongodb findOne() 没有返回值 nodejs
- android - 我可以在不下载 android studio 的情况下使用颤振吗?
- r - 无法使用 RDCOMClient 从 Outlook 获取俄语主题
- asp.net-core - Where to storage private images in ASP .NET Core
- sql - 在同一个表中查找从先前保存中删除的行的保存 ID
- rtf - 如何使用 RTF 在 BI Publisher 中根据特定单词过滤值