python - 如何使用 ImageGrab.grab().load() 函数或任何其他函数来获取像素更新?
问题描述
我一直在尝试检查屏幕上的像素是否正在变化。我需要做什么?
我上网很久了,没有成功。我已经对网上给出的代码进行了试验,发现我的代码只提供了代码运行时打开的屏幕上的数据。即,如果在代码运行时屏幕是白色的,它将从白屏读取像素,即使屏幕颜色已经改变。
from PIL import ImageGrab
px=ImageGrab.grab().load()
m=px[613,296]
print(m)
while 1:
if m!=px[613,296]:
m=px[613,296]
print(m)
我运行代码并开始播放视频,我预计值会不断变化,但我得到的只是(255,255,255)(空闲的白屏)我还尝试手动更改屏幕。
我尝试在没有控制台的情况下运行代码并在文本文件中打印没有 while 循环的输出,我得到了正确的值。但是我需要完成的任务需要多次运行代码以检查像素是否更新。我应该如何做到这一点?
解决方案
这对我有用:
#!/usr/bin/env python3
from PIL import ImageGrab
while True:
px=ImageGrab.grab().load()
m=px[613,296]
print(m)
我认为如果你只抓住一个像素会更快,但通过指定这样的边界框所以你只抓住一个像素:
#!/usr/bin/env python3
from PIL import ImageGrab
while True:
screen=ImageGrab.grab(bbox=(613,296,614,297))
px = screen.load()
m=px[0,0]
print(m,screen.size)
推荐阅读
- multipartform-data - K6 FormData 输出与常规 fromdata 不同
- powershell - Get-ChildItem : 未找到网络路径
- android-livedata - 使用 LiveData 观察 SDK 方法的结果
- python - 使用 Huggingface 从头开始训练语言模型时的问题
- google-api - 如何使用服务帐户而不使用客户端库从 Google Analytics Core Reporting API 获取信息
- image-processing - 如何从一个文件夹中批量将 2 个图像合并为 1 个?
- r - r magick:向图像添加文本会导致字体错误
- c# - Treeview,但项目数显示在文本后面
- r - R/graphics:在函数中绘制为 PNG
- mongodb - 使用 $geoNear 和 $sort 时聚合花费太多时间