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

新手求助:如何实现Python持续检测特定图像的脚本

解决持续检测特定图像的问题

嘿,作为Python新手遇到这个问题太正常啦!你的代码只执行一次检测就结束,核心原因是没有让程序重复执行检测逻辑——完全不需要线程知识,用最简单的循环就能实现持续检测的需求。

核心思路:用循环重复执行检测

我们只需要把你的图像搜索代码放进一个循环里,让它不断重复运行。同时记得加一点延迟,避免程序把CPU资源占满。

修改后的完整代码

from python_imagesearch.imagesearch import imagesearch
import time

# 无限循环实现持续检测
while True:
    pos = imagesearch("./hi.png")
    if pos[0] != -1:
        print(f"找到绿色平台!位置:({pos[0]}, {pos[1]})")
    # 可选:如果不需要未找到时的提示,直接删掉下面的else块即可
    # else:
    #     print("未找到目标图像")
    
    # 每次检测后暂停0.1秒,平衡响应速度和CPU占用,可根据需求调整数值
    time.sleep(0.1)

关键部分说明

  • while True:创建一个无限循环,让检测逻辑一直重复执行
  • time.sleep(0.1):每次检测后让程序短暂休息,避免CPU使用率过高。你可以按需调整这个数值——想更快响应就设成0.05,想更省资源就设成0.2
  • 只有当目标图像出现时才打印位置,避免无意义的重复输出,让结果更清晰

如何停止程序

因为是无限循环,你可以按下键盘的Ctrl + C来中断程序,这会触发Python的KeyboardInterrupt异常,让程序安全退出。

如果想要更优雅的退出方式(比如按特定按键停止),可以额外安装keyboard模块,加个退出判断:

from python_imagesearch.imagesearch import imagesearch
import time
import keyboard

while True:
    pos = imagesearch("./hi.png")
    if pos[0] != -1:
        print(f"找到绿色平台!位置:({pos[0]}, {pos[1]})")
    
    time.sleep(0.1)
    
    # 按下q键时退出循环
    if keyboard.is_pressed('q'):
        print("程序已停止")
        break

需要先执行pip install keyboard安装这个模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 19:07:54