新笔记本用PyAutoGUI遇ImageNotFoundException,图片存在仍报错求助
解决PyAutoGUI更换新笔记本后图像识别失败的问题
针对你遇到的ImageNotFoundException,可以按以下步骤排查解决:
1. 处理高DPI屏幕缩放问题
新笔记本通常默认开启高DPI缩放(比如125%/150%),这会导致PyAutoGUI的截图尺寸和实际显示的图像尺寸不匹配,从而无法识别。
- 临时测试:打开Windows设置→系统→显示,把“缩放”改为100%,重启后运行测试脚本。
- 代码适配:如果不想修改系统设置,可以在脚本开头添加以下代码开启DPI感知:
import ctypes ctypes.windll.shcore.SetProcessDpiAwareness(2) # 开启Per-Monitor DPI感知 from pyautogui import * a = locateOnScreen("E:/Mark 7/Test.png") # 后续代码...
2. 降低图像匹配精度要求
新屏幕的色彩、亮度差异可能导致严格匹配失败,可通过confidence参数降低匹配阈值(需要先安装opencv-python):
- 先安装依赖:
pip install opencv-python
- 修改代码:
from pyautogui import * a = locateOnScreen("E:/Mark 7/Test.png", confidence=0.8) # 0.8为匹配度,可根据情况调整 print(a) if a is not None: print("Got Image") else: print("Oops!")
3. 验证图片文件有效性
- 确认图片未损坏:用系统自带的图片查看器打开
Test.png,确保能正常显示。 - 尝试使用相对路径:把
Test.png放到脚本所在的E:/Mark 7/目录下,改用相对路径测试:
a = locateOnScreen("Test.png")
4. 检查权限与版本兼容性
- 右键以管理员身份运行Python脚本,排除文件访问权限问题。
- 尝试切换PyAutoGUI版本:如果新电脑安装的是最新版,可降级到稳定版本测试:
pip install pyautogui==0.9.54
内容的提问来源于stack exchange,提问作者Jarvis Lars
相关产品推荐
相关产品推荐

