gpt4 book ai didi

python - 使用 PIL(Python 图像库)检测屏幕上的图像

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:39 24 4
gpt4 key购买 nike

我想了解如何在 Python 2.7 中使用 PIL 在整个屏幕上搜索特定图像并单击它。我一直在四处寻找,但未能找到解决方案。我想创建一个中间有一个按钮的小型 GUI,单击该按钮时将在整个屏幕上搜索预定义图像。找到图像后,程序将单击图像的中心并结束。简而言之,该程序将检测用户屏幕上是否存在图像并单击它。

我确实在 Sikuli 上找到了一个有趣的部分,但这对我没有帮助,因为它无法导出到 .exe。

该程序每次搜索时很可能会在同一个位置查找图像,但我不想对位置进行硬编码,因为它有可能移动,我不希望那样稍后会成为一个问题。

我需要的是用于搜索屏幕上的图像并将数据线发送回变量的代码方法。

图片说明/示例: Image

步枪引用图: Image2

最佳答案

PIL 是这项工作的错误工具。相反,您应该研究 openCV(开源计算机视觉),它具有出色的 python 绑定(bind)。这是一个示例的链接(在 C 中,但应该很容易用 python 绑定(bind)重做)它可以满足您的需求,甚至可以旋转、缩放图像等。

http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html http://docs.opencv.org/doc/tutorials/features2d/detection_of_planar_objects/detection_of_planar_objects.html

编辑:

我假设您使用的是 Windows,因为您的示例图像看起来像 window.在这种情况下,您可以使用:

from PIL import ImageGrab
pil_img = ImageGrab.grab()
opencv_img = numpy.array(pil_img)

然后使用opencv对图像进行处理,找到你要找的子图像。

如果你想做这个跨平台,那么你将需要使用wxWidgets来做screengrab:https://stackoverflow.com/a/10089645/455532

关于python - 使用 PIL(Python 图像库)检测屏幕上的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27343997/

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