You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么pyautogui会在指定搜索区域外识别到匹配图像?

pyautogui region参数匹配超出预期范围问题解答

核心原因

  • region参数格式使用错误
    pyautogui的region参数接收的四元组规则为(左上角x坐标, 左上角y坐标, 区域宽度, 区域高度),并非你理解的(左上角x, 左上角y, 右下角x, 右下角y)。
    按照你当前填写的region=(750, 25, 1200, 125)计算,实际搜索区域的右边界为750+1200=1950,下边界为25+125=150,你得到的匹配坐标(1649,99)完全在该错误区域范围内,属于正常识别结果。
    如果要限定搜索范围为左上(750,25)到右下(1200,125),正确的参数应该先计算宽高:
    宽度 = 1200 - 750 = 450
    高度 = 125 - 25 = 100
    替换为region=(750, 25, 450, 100)即可。

  • 系统显示缩放导致坐标不匹配
    如果修正region参数后仍然出现超出范围的匹配结果,大概率是系统开启了显示缩放(例如Windows的125%/150%缩放、macOS的Retina缩放)。pyautogui.displayMousePosition()返回的是系统逻辑坐标,而图像匹配使用的是屏幕物理像素坐标,缩放比例会导致两者错位。可将系统缩放调整为100%,或在代码中乘以对应缩放系数修正坐标。

  • 多屏拓展配置异常
    若使用多屏拓展显示且主屏不是最左侧屏幕,部分版本的pyautogui存在多屏坐标计算异常问题,也可能导致匹配坐标与预期范围不符。

内容的提问来源于stack exchange,提问作者user9686961

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:15:03