pyautogui.locateAllOnScreen 找不到图片

pyautogui.locateAllOnScreen can't locate the image

我正在构建一个机器人 a 来玩以下名为 Sushi Go Round 的游戏。我正在使用函数 locateAllOnScreen 来定位订单。

代码如下:

import pyautogui

onigiri = pyautogui.locateAllOnScreen('onigiri.png')

print(onigiri)

onigiri.png 是从第三个客户那里裁剪出来的。 locateAllOnScreen 只能定位到第三个客户的订单,而不能定位到第四个客户的订单,即使他们的图像(订单)完全相同。

  1. 为什么即使图片相同,函数也没有定位到所有图片?

  2. 或者图片真的不同?

我很沮丧。请帮忙。非常感谢!

回转寿司

onigiri.png

对于我们(人类)来说,图像看起来是一样的,但对于计算机来说,即使单个像素不同,它们也是不同的。

如果我使用 confidence=0.9 那么它会找到两个项目。

import pyautogui

onigiri = pyautogui.locateAllOnScreen('onigiri.png', confidence=0.9)

for item in onigiri:
    print(item)

结果:

Box(left=849, top=400, width=55, height=53)
Box(left=988, top=400, width=55, height=53)

文档Screenshot:

The optional "confidence" keyword argument specifies the accuracy with 
which the function should locate the image on screen. This is helpful 
in case the function is not able to locate an image due to negligible 
pixel differences:

对于其他用户:

Programming a Bot to Play the "Sushi Go Round" Flash Game - The Invent with Python Blog