×

pyautogui locateOnScreen 图像识别 坐标 截图

获取截图在屏幕上的坐标

鹭岛小千 鹭岛小千 发表于2021-04-10 00:23:13 浏览1817 评论0

抢沙发发表评论

【需求描述】提供一个按钮的截图,如何确定它在电脑屏幕上的具体坐标呢?

3-1 示意图.png

【小千解析】依次调用pyautogui模块的locateOnScreen和center函数即可。

按钮截图文件button.png:

3-2 button.png

假设按钮截图保存在D盘根目录下,代码如下:

import pyautogui as ag
tup = ag.locateOnScreen('d:/button.png')
print(ag.center(tup))

locateOnScreen()方法返回一个元组:(截图左上角x坐标, 截图左上角y坐标, 截图宽度, 截图高度)。

center函数用于返回匹配截图中心点的(x,y)坐标。


【知识拓展】

1、pyautogui模块依赖pillow模块,不安装会提示如下:

pyscreeze.PyScreezeException: The Pillow package is required to use this function.

2、如果找不到匹配坐标,locateOnScreen()返回None。如果确定截图无误,结果依然为None,可以用键盘上的PrtScrn截屏,用系统自带的画图程序(Win+r,mspaint,回车)打开,框选目标区域后裁剪,另存为png格式图片再使用。

3-3 mspaint.png


打赏码.png


【参考资料】

图书《Python编程快速上手——让繁琐工作自动化》


群贤毕至

访客