PyAutoGUI ImageNotFoundException求助:项目目录有图片仍无法识别
解决PyAutoGUI ImageNotFoundException的方案
确认图片路径有效性
你代码中定义了join_path但未实际使用,相对路径可能因工作目录变化导致失效,建议改用绝对路径:# 生成joiner.png的绝对路径 join_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'joiner.png') # 使用绝对路径进行识别 someonejoined = pyautogui.locateOnScreen(join_path, grayscale=False, confidence=0.8)可以先打印
print(join_path)确认路径是否指向正确的图片文件。调整识别参数降低阈值
0.8的confidence阈值较高,屏幕中的目标可能因颜色偏差、轻微缩放无法匹配:- 尝试降低
confidence至0.6~0.7; - 开启
grayscale=True,忽略颜色差异提升识别成功率:someonejoined = pyautogui.locateOnScreen(join_path, grayscale=True, confidence=0.6)
- 尝试降低
检查屏幕显示匹配度
- 确保目标图片处于屏幕可见区域,未被其他窗口遮挡;
- 确认系统显示缩放比例为100%,缩放会导致截图与实际屏幕元素尺寸不匹配;
- 检查
joiner.png的分辨率是否与当前屏幕分辨率一致,分辨率差异会直接导致识别失败。
重新截取目标图片
使用PyAutoGUI自带的截图工具生成匹配度更高的样本:# 截取当前屏幕并保存为新样本 pyautogui.screenshot('new_joiner.png')替换代码中的图片路径为这个新截图,避免手动截图的误差。
内容的提问来源于stack exchange,提问作者Kronches
相关产品推荐
相关产品推荐

