原神位置检测【OpenCV 特征匹配】

如题所述

第1个回答  2022-07-29
OpenCV版本是3.4.2
Python版本是3.6
pyautogui版本是0.9.51
显示器为1920x1080
(其他像素当然能用,需要自己改)

本项目实现了原神游戏中实时位置检测,将会在控制台返回人物所在的位置的(x,y)坐标,对应大地图上的像素点坐标。

1.使用OpenCV里面的Flann图片特征匹配,实现用右上角的小地图去匹配保存在本地的大地图

2.大地图匹非常耗时[将近5秒],而且吃CPU,所以大地图匹配一次后下次只匹配当前位置的大地图的一个小区域,可以看到第一次很慢,之后就快的多了

2.使用一个小地图模板来实现检测当前是否是在游戏中,避免没有检测到地图也硬要去匹配地图,造成计算资源浪费

1.可以不用截屏,obs采集屏幕,启用虚拟摄像头,opencv捕捉这个虚拟摄像头,可以有很好的防检测能力,就是会有不小的延迟
2.截屏也可以全图截屏,然后模板匹配后进行剪裁再规定此后的截屏大小,其实也不错,实现起来不费劲,但就是懒啊.....

这个只是检测,是第一步,获得位置后就能做导航,安卓端或者web端,想想一下在手机上可以跟百度地图一样显示当前位置,显示资源位置,规划导航路线,自己录制锄地路线,还是很有意思的,也许有空会做?(lazy)

https://darksuger.lanzous.com/i3omghbfhlg