新手求助:如何实现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
相关产品推荐
相关产品推荐

