如何让程序使用 pyautogui 找到图像?
how to make the program find an image with pyautogui?
在下面的代码中,如您所见,我正在尝试在屏幕中查找带有 .png 的图像(我没有添加,因为我认为这不是问题所在),但事实并非如此找到任何东西
import pyautogui as pt
from time import sleep
class Clicker:
def __init__(self, target_png, speed):
self.target_png = target_png
self.speed = speed
pt.FAILSAFE = True
def nav_to_image(self):
try:
position = pt.locateOnScreen(self.target_png, confidence=.8)
pt.moveTo(position[0] + 15, position[1] + 15, duration=self.speed)
pt.doubleClick()
except:
print('No img found')
return 0
if __name__=='__main__':
sleep(1)
clicker = Clicker('accetta.png', speed=.001)
end = 0
while True:
sleep(1)
if clicker.nav_to_image() == 00:
end += 1
if end > 5:
break
我看到你的置信度设置为 80%。当您不寻找完全匹配时,这有点棘手。您是否使用不需要信心工作的图像测试了代码?
有时色调会有所不同。尝试 locateOnScreen(image, grayscale=False) 看看是否有区别。
如果您同时包含您要查找的图像和屏幕截图的副本以重现错误,将会有所帮助。
在下面的代码中,如您所见,我正在尝试在屏幕中查找带有 .png 的图像(我没有添加,因为我认为这不是问题所在),但事实并非如此找到任何东西
import pyautogui as pt
from time import sleep
class Clicker:
def __init__(self, target_png, speed):
self.target_png = target_png
self.speed = speed
pt.FAILSAFE = True
def nav_to_image(self):
try:
position = pt.locateOnScreen(self.target_png, confidence=.8)
pt.moveTo(position[0] + 15, position[1] + 15, duration=self.speed)
pt.doubleClick()
except:
print('No img found')
return 0
if __name__=='__main__':
sleep(1)
clicker = Clicker('accetta.png', speed=.001)
end = 0
while True:
sleep(1)
if clicker.nav_to_image() == 00:
end += 1
if end > 5:
break
我看到你的置信度设置为 80%。当您不寻找完全匹配时,这有点棘手。您是否使用不需要信心工作的图像测试了代码?
有时色调会有所不同。尝试 locateOnScreen(image, grayscale=False) 看看是否有区别。
如果您同时包含您要查找的图像和屏幕截图的副本以重现错误,将会有所帮助。