一种提升pyautogui屏幕图像定位准确度的方法

一种提升pyautogui屏幕图像定位准确度的方法,第1张

一种提升pyautogui屏幕图像定位准确度的方法 1

pyautogui可以根据绝对坐标来定位,也可以直接根据图片来定位。在实际使用过程中,可以目标区域的截图输入到pyautogui.locateonScreen()函数,则函数会输出图像在屏幕上的位置信息,如果当前屏幕上搜索不到输入的图像,则会返回None。

根据图像来定位本质上是根据像素点来匹配,函数并没有理解图像的意义。在进行中文图像的定位时,很容易出现无法定位,或者错误定位的问题。

2

这个时候就可以借助opencv的力量来提高识别率了,先使用pip install opencv-python命令安装opencv,然后就可以在pyautogui.locateonScreen()函数中加入confidence参数,也就是识别准确度,当confidence越小时,定位的精度就会越低,函数会忽略掉一些微小的差异,这样可以提高定位的效率,实现模糊定位的功能。

例如,我们要根据下面的截图来定位字体大小为小四的‘中国’两个字,


如果,两个字中间有一个,,那么函数就无法定位。如果把confidence设置为0.5,则又可以定位。

>>>pyautogui.locateOnScreen('zhongguo.png')
pyautogui.locateOnScreen('zhongguo.png', confidence=0.5)
Box(left=1326, top=319, width=47, height=23)

而将confidence设置为0.8,无法定位,设置为0.7,可以定位。所以要根据具体的识别目标来设置合适的confidence

>>>pyautogui.locateOnScreen('E:8-To do listPyautoimagezhongguo.png', confidence=0.8)
>>>pyautogui.locateOnScreen('E:8-To do listPyautoimagezhongguo.png', confidence=0.7)
Box(left=1330, top=319, width=47, height=23)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5635542.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存