你还在纯手工玩打地鼠么,快来看看这个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加速工具包,不来看看?
339 1
LabVIEW AI开发者福音:LabVIEW OpenVINO AI加速工具包,不来看看?
|
1月前
|
人工智能 Serverless API
电销行业的福音|AI大模型助力客户对话分析
本文介绍了如何利用AI大模型助力电销行业的客户对话分析,通过对象存储、智能对话分析技术和通义千问大模型,实现从客户语音和聊天互动中识别意图、发现服务质量问题,提升用户体验。方案部署简单,按量计费,帮助企业快速从海量对话数据中提取有价值的信息。
|
4月前
|
人工智能 开发者 芯片
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
使用AI大语言模型编写 单片机程序. 使用的是 OpenAI公司发布的 ChatGPT .在ChatGPT上有别人训练好的 单片机工程师 with Keil uVision 5 - C Code Explainer模型, 可以上传电路图改模型可以通过这个用户所给的电路图进行编程.
421 0
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
|
7月前
|
人工智能
AI一键换衣,阿里Outfit Anyone来了,电商人的福音!
【2月更文挑战第18天】AI一键换衣,阿里Outfit Anyone来了,电商人的福音!
1277 2
AI一键换衣,阿里Outfit Anyone来了,电商人的福音!
|
7月前
|
人工智能 黑灰产治理 开发者
虚拟模特,一键生成高颜值AI模特!活动震撼来袭,快来生成你的高颜值模特大片!
体验”通义万相-虚拟模特“,晒出属于你的高颜值AI模特大片,在活动页面提交作品以及使用反馈,即有机会获得反馈奖哦!
684 10
虚拟模特,一键生成高颜值AI模特!活动震撼来袭,快来生成你的高颜值模特大片!
|
7月前
|
人工智能 安全 IDE
不会写代码同学的福音——AI 代码生成器Amazon CodeWhisperer(通过注释写代码)
不会写代码同学的福音——AI 代码生成器Amazon CodeWhisperer(通过注释写代码)
108 0
|
人工智能 达摩院 语音技术
用1张图像生成数字人,快来制作你的AI视频吧~
最近魔搭上线了一项新能力——仅需输入单张人像照片,利用文字或语音驱动即可秒级生成数字人AI视频!这让小编的短视频UP梦又重新启航燃起了希望!它完全解救了社恐星人,图生视频能力替你说话、唱歌、讲段子、吟诗....无需再对着摄像头NG,一整个绝绝子叠buff!
用1张图像生成数字人,快来制作你的AI视频吧~
|
人工智能 Kubernetes Cloud Native
火热开营丨快来报名云原生 AI 工程化实践训练营-探索系列
火热开营丨快来报名云原生 AI 工程化实践训练营-探索系列
|
人工智能 Serverless 云计算
快来解锁你家萌宠专属 AI 形象!
快来解锁你家萌宠专属 AI 形象!
|
机器学习/深度学习 人工智能 自然语言处理
你给文字描述,AI艺术作画,精美无比!附源码,快来试试!
Disco Diffusion 是一款AI数字艺术创作的工具,将给出的 Prompts 文字信息变成图像信息,可以在 Google Drive 直接运行,也可以部署到本地,是 Dall-E2 和 MidJourney 的完美免费替代!
2680 2
你给文字描述,AI艺术作画,精美无比!附源码,快来试试!