【问题标题】:PyAutoGUI - LocateAllOnScreen - Why is confidence not working? [duplicate]PyAutoGUI - LocateAllOnScreen - 为什么信心不起作用? [复制]
【发布时间】:2020-06-26 09:47:23
【问题描述】:

我正在尝试为diep 制作一个瞄准机器人。我正在尝试定位屏幕上的所有敌人,但以 1 的置信度返回 None 并以 0.9999 的置信度返回屏幕上的每个位置。

我正在使用 PyCharm,当我运行代码时,它会返回屏幕上的每个位置,即使没有任何红色。然后,当我将置信度设置为 1 时,它甚至不会返回红色的位置。

我什至尝试打开文件并查看它是否可以找到颜色。没用,结果一样。

我的代码

# https://pyautogui.readthedocs.io/en/latest/screenshot.html
from pyautogui import locateAllOnScreen, moveTo

while True:
    """
    try:
        coords = list(locateAllOnScreen('enemycolordiep.png'))
    except 'ImageNotFoundException':
        coords = []
    """

    coords = locateAllOnScreen('enemycolordiep.png', confidence=X)
    if coords is None:
        coords = []

    else:
        coords = list(coords)

    print(coords)

    for coord in coords:
        centerCoord = (coord[0] + (coord[2] / 2), coord[1] + (coord[3] / 2))
        print(centerCoord)
        # moveTo(centerCoord[0], centerCoord[1], duration=0)

我希望在屏幕上显示红色位置,但这不起作用。我有pyautoguipyobjc-corepyobjc-framework-quartzPillowopencv-python,以及这些软件包所依赖的其他一些东西。我正在使用 MacOS Mojave。感谢您的帮助!

【问题讨论】:

  • 使用枕头:查看我的回答 here 以了解您如何测试特定像素的颜色值。顺便说一句..更新您的问题以包括您使用的枕头代码。可以在您的问题中发布为第二个脚本,称为“替代”或其他内容。
  • RGB 颜色匹配对图像定位有何帮助?
  • ...您说“红色的位置”或多或少是敌人。在《魔兽世界》中,它是一个黄色的圆形盾牌,因此请在屏幕输出中扫描这些形状,或使用 X 轴直方图得分,以 Y 作为强度。如果敌人可用的位置像素是红色 = 255,如果不是像素红色 = 0。瞧……你让你的敌人与平民分开。对于特定的圆形、矩形或正方形检测,请尝试使用 openCV (cv2),在所有其他情况下,具有小区域 (y1,y2;x1,x2) 的直方图将起作用。
  • 但是 PyAutoGUI 不是在后台使用 OpenCV 吗?我安装了它和枕头

标签: python python-3.x pyautogui


【解决方案1】:

尝试更新/安装 openCV。

查看类似问题的答案:Documentation says to use a confidence parameter, but it throws an error

【讨论】:

    猜你喜欢
    • 2019-01-29
    • 2023-03-12
    • 2016-01-24
    • 2013-03-05
    • 2012-10-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多