介绍
本人机器学习小白,通过语言大模型+百度进行搜索,磕磕绊绊的实现了初步效果,能有一些锁头效果,但识别速度不是非常快,且没有做敌友区分,效果不是非常的理想,但在4399小游戏中爽一下还是可以的!。
思路
1.先通过yolov5实现对电脑屏幕的实时检测,只获取中心部分画面,减少其他人物的识别,提高识别速度
2.筛选只留下【person】的人物框
3.获取第一个框的坐标点,并计算出框的中上坐标点,以此粗略的当作人物的头部
4.操作鼠标定位的中心点
5.模拟鼠标左键点击,完成射击
代码
1.先下载github上yolov5的项目
git clone https://github.com/ultralytics/yolov5.git
2.在项目中添加test.py
import time
import cv2
import mediapipe as mp
import pyautogui
import pydirectinput
import numpy as np
import tkinter as tk
import torch
import warnings
warnings.filterwarnings("ignore", category=FutureWarning, module="torch.cuda.amp.autocast")
root = tk.Tk()
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
root.destroy()
# 获取屏幕的尺寸
crop_width = 500
crop_height = 500
start_x = (screen_width - crop_width) // 2
start_y = (screen_height - crop_height) // 2
# 加载预训练模型
model = torch.hub.load('./', 'custom', path='yolov5s.pt', source='local')
def readScreen():
# 初始化MediaPipe姿态检测对象
mp_pose = mp.solutions.pose
pose = mp_pose.Pose(static_image_mode=Fa