我只需要在屏幕的一小部分检测颜色(红色)(我可以找出坐标)。 (python)

问题描述 投票:1回答:2

我和我的一些朋友过去几周一直在研究程序,这基本上是我们无法弄清的最后一件事。我们只需要在屏幕的一小部分检测颜色(红色)即可(我可以找出坐标)。它必须每3-5秒检查一次并返回true或其他内容,因为如果这样做,我要么需要关闭窗口,关闭计算机,要么停止运行脚本的其余部分。

python rgb color-detection
2个回答
0
投票

在很大程度上取决于您希望程序执行的操作...

OpenCV可能是最通用的选择。

如果要自动执行任务,则可以使用PyAutoGui。它包括用于控制鼠标和键盘的实用程序。

如果只想知道某个位置/坐标处的像素颜色,那么Pillow可能是最简单的方法。


0
投票

您可以使用pyautogui截屏,并使用Pillow处理图像。对于您的目的而言,这种方法可能会显得有些过激,但在其他方法上却可能是十全十美的,尤其是当您想在特定时刻从屏幕上获取其他信息时。

示例代码以截取屏幕截图并获取该像素的颜色。

from PIL import Image
import pyautogui
myScreenshot = pyautogui.screenshot()
myScreenshot.save(r'C:\Users\matthew.gaiser\PycharmProjects\stackoverflow37\screenshot.png')
image = Image.open(r'C:\Users\matthew.gaiser\PycharmProjects\stackoverflow37\screenshot.png')
picture = image.load()
print(picture[20,40])

只需从特定位置抓取像素后删除图像即可。

© www.soinside.com 2019 - 2024. All rights reserved.