你还在纯手工玩打地鼠么,快来看看这个AI自动打地鼠吧!手残党的福音!

简介: 你还在纯手工玩打地鼠么,快来看看这个AI自动打地鼠吧!手残党的福音!

项目需求


  刚完成了AI自瞄“辅助”,趁着这会激情还在,做个简易版本的AI打地鼠游戏“辅助”。现在需要完成的任务有如下:


  1. 获取网页端小游戏的视频图像画面;


  1. 通过视频画面中的信息获取地鼠的头像;


  1. 能够自动移动鼠标至地鼠头像的位置并点击三次(防止没打上);




功能拆解


   使用可以完成屏幕截图,通过截图输入到检测地鼠目标检测中去,检测输出矩形框的中心点坐标并指定三次点击鼠标左键,至此基本完成AI打地鼠的基础功能。


  考虑到不同版本的打地鼠游戏画面不一样,出现地鼠的机制也不同,我们这次先做一个“丐版”的 打地鼠,后期再进行升级改造。这个“丐版”的基础配置如下:


1.可以打开全屏进行打地鼠游戏;


2.每次只出现一只地鼠且每次出现地鼠的样子不大变;


3.每只地鼠钻出来时间大概1s即可


  上面对游戏配置进行了一定的规划,鉴于上述的规定我们可以迅速制定检测地鼠的位置的代码。由于每次只出一只地鼠且地鼠的样子基本保持一致,我们可以使用OpenCv中的模板匹配法进行做地鼠的检测,这样可以避免过多的导入其他的依赖,同时也增强了代码的适配性,便于后期的封装打包。对模板匹配检测出地鼠的位置后计算中心点坐标,我们依然采用pymouse进行鼠标坐标点控制移动,这样也节省了开发时间。




验证调试


  获取地鼠的样本图,这里我们仅取一只即可,程序主题可分三部分:


  1. 获取当前界面截屏图像;


  1. 完成图像的模板匹配判断是否含有目标,对有目标的输出中心点坐标并点击3次


  1. 构建Ture循环,串联截屏图像与模版匹配


代码:


import pyautogui
import cv2
import numpy as np
from pymouse import PyMouse
def GetImages():
    img = pyautogui.screenshot()  # 分别代表:左上角坐标,宽高
    Images = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
    return Images
def TemplateMatching(Screenshot, Hamster):
    h, w = Hamster.shape[:2]  # 获取模板的宽高
    result = cv2.matchTemplate(Screenshot, Hamster, 0)  # 匹配模板
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)  # 获得匹配图最大阻值最小值的位置
    if min_val < 20000000.0:
        left_top = min_loc  # 左上角的位置就是最小值
        x = (left_top[0] + 0.5 * w) + 644
        y = (left_top[1] + 0.5 * h) + 351
        x, y = int(x), int(y)
        print(x, y)
        m = PyMouse()
        m.click(x, y)  # 移动并且在(x,y)位置左击
        m.click(x, y)  # 移动并且在(x,y)位置左击
        m.click(x, y)  # 移动并且在(x,y)位置左击
if __name__ == "__main__":
    while 1:
        Hamster = cv2.imread("Hamster.jpg")
        HamsterImg = cv2.cvtColor(Hamster, cv2.COLOR_RGB2BGR)
        Screenshot = GetImages()
        TemplateMatching(Screenshot, HamsterImg)



相关文章
|
机器学习/深度学习 人工智能 API
LabVIEW AI开发者福音:LabVIEW OpenVINO AI加速工具包,不来看看?
LabVIEW AI开发者福音:LabVIEW OpenVINO AI加速工具包,不来看看?
847 1
LabVIEW AI开发者福音:LabVIEW OpenVINO AI加速工具包,不来看看?
|
12月前
|
人工智能 程序员 API
Motia:程序员福音!AI智能体三语言混编,零基础秒级部署
Motia 是一款专为软件工程师设计的 AI Agent 开发框架,支持多种编程语言,提供零基础设施部署、模块化设计和内置可观测性功能,帮助开发者快速构建和部署智能体。
1102 15
Motia:程序员福音!AI智能体三语言混编,零基础秒级部署
|
10月前
|
数据采集 机器学习/深度学习 人工智能
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
1158 0
|
11月前
|
人工智能 计算机视觉
漫画师福音!开源AI神器让线稿着色快如闪电!MagicColor:港科大开源多实例线稿着色框架,一键生成动画级彩图
MagicColor是香港科技大学推出的多实例线稿着色框架,基于扩散模型和自监督训练策略,实现单次前向传播完成多实例精准着色,大幅提升动画制作和数字艺术创作效率。
956 20
漫画师福音!开源AI神器让线稿着色快如闪电!MagicColor:港科大开源多实例线稿着色框架,一键生成动画级彩图
|
人工智能 API 开发者
无需邀请码!MetaGPT 开源AI助手 OpenManus,实时反馈+模块化设计,开发者福音
OpenManus 是 MetaGPT 团队推出的开源 AI Agent 复刻版,支持多种语言模型和工具链,能够执行代码、处理文件、搜索网络信息等复杂任务,具备实时反馈机制和灵活的配置选项。
785 17
无需邀请码!MetaGPT 开源AI助手 OpenManus,实时反馈+模块化设计,开发者福音
|
人工智能 并行计算 语音技术
Open-LLM-VTuber:宅男福音!开源AI老婆离线版上线,实时语音+Live2D互动还会脸红心跳
Open-LLM-VTuber 是一个开源的跨平台语音交互 AI 伴侣项目,支持实时语音对话、视觉感知和生动的 Live2D 动态形象,完全离线运行,保护用户隐私。
1680 10
Open-LLM-VTuber:宅男福音!开源AI老婆离线版上线,实时语音+Live2D互动还会脸红心跳
|
人工智能 开发者 芯片
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
使用AI大语言模型编写 单片机程序. 使用的是 OpenAI公司发布的 ChatGPT .在ChatGPT上有别人训练好的 单片机工程师 with Keil uVision 5 - C Code Explainer模型, 可以上传电路图改模型可以通过这个用户所给的电路图进行编程.
4496 0
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
|
人工智能
AI一键换衣,阿里Outfit Anyone来了,电商人的福音!
【2月更文挑战第18天】AI一键换衣,阿里Outfit Anyone来了,电商人的福音!
2724 2
AI一键换衣,阿里Outfit Anyone来了,电商人的福音!
|
人工智能 黑灰产治理 开发者
虚拟模特,一键生成高颜值AI模特!活动震撼来袭,快来生成你的高颜值模特大片!
体验”通义万相-虚拟模特“,晒出属于你的高颜值AI模特大片,在活动页面提交作品以及使用反馈,即有机会获得反馈奖哦!
1708 11
虚拟模特,一键生成高颜值AI模特!活动震撼来袭,快来生成你的高颜值模特大片!