Python 游戏辅助基础之 Aircv
Python 游戏辅助基础之 Aircv
- Aircv的安装
- Aircv的学习之路
- 读取图片
- 显示图片
- 使用像素匹配查找图片
- 特征点的数量
- 使用特征点匹配查找图片
- 查找图片
- 获取图像亮度
- 小结
Aircv的安装
Aircv
是基于OpenCV
的所以需要安装OpenCV
和numpy
- 通过
pip
安装就好了 pip install numpy
pip install opencv-contrib-python
pip install aircv
Aircv的学习之路
在网上找了一下 没有发现什么太详细的文档
不太清楚
aircv
具体都有些什么功能然后无意间按下了
CTRL
点了一下import
后面的aircv
发现居然是开源的
可以研究一波啊
大致浏览了一下 就两个
import
import cv2 import numpy as np
然后下面有个
DEBUG = False
应该是是否开启调试模式 不用管他接下来是
12
个def
其中有个main
不算一共是11
个函数还有
2
个注释掉的def
先不看接下来好好研究研究这
11
个def
吧
读取图片
def imread(filename):im = cv2.imread(filename)if im is None:raise RuntimeError("file: '%s' not exists" % filename)return im
可以看出只是调用了
OpenCV
中的imread
读取图片并返回
显示图片
def show(img):cv2.imshow('image', img)cv2.waitKey(0)cv2.destroyAllWindows()
可以看出调用了
OpenCV
的imshow
显示图片 并等待按键后消失
调用一下康康
import aircvdef main():bmp = aircv.imread("./image/bmp.png")aircv.show(bmp)if __name__ == '__main__':main()
可以看出弹出来一个窗口显示了图片
使用像素匹配查找图片
有
2
个函数find_all_template
和find_template
通过名字就能看出来 这是找全部和找第一个
def find_all_template(im_source, im_search, threshold=0.5, maxcnt=0, rgb=False, bgremove=False):# ...
可以看出一共有
6
个参数这些参数都是干啥的呢
前
2
个没有默认值 必须有滴在注释里找到了
3
个Args:im_source(string): 图像、素材im_search(string): 需要查找的图片threshold: 阈值,当相识度小于该阈值的时候,就忽略掉
第一个
im_source
是一个字符串 ? ? ? 但刘叔觉得这不应该是字符串因为代码里面没有任何
imread
的操作 而且下面的mian()
方法里也只传入imread
的返回值im_source
传入的是原图像im_search
传入的是需要查找的图片threshold
是阈值 也就是相似度 相似度超过这个值才可以至于
maxcnt
看看代码中这个东西干啥了if maxcnt and len(result) >= maxcnt:break
哦 原来是最大的结果数量啊
maxcnt
最大结果数量 默认为0
不限接下来看看
rgb
很明显是个bool
型的 默认是False
if rgb:s_bgr = cv2.split(im_search) # Blue Green Redi_bgr = cv2.split(im_source)weight = (0.3, 0.3, 0.4)resbgr = [0, 0, 0]for i in range(3): # bgrresbgr[i] = cv2.matchTemplate(i_bgr[i], s_bgr[i], method)res = resbgr[0]*weight[0] + resbgr[1]*weight[1] + resbgr[2]*weight[2] else:s_gray = cv2.cvtColor(im_search, cv2.COLOR_BGR2GRAY)i_gray = cv2.cvtColor(im_source, cv2.COLOR_BGR2GRAY)# 边界提取(来实现背景去除的功能)if bgremove:s_gray = cv2.Canny(s_gray, 100, 200)i_gray = cv2.Canny(i_gray, 100, 200)res = cv2.matchTemplate(i_gray, s_gray, method)
看看 干啥了 如果
rgb
为True
则进行RGB
三通道的拆分如果
rgb
为False
则进行灰度处理并且我们发现了最后一个参数
bgremove
哦 看注释和参数名的意思 是负责去除背景的
rgb
是否使用RGB
通道拆分对图片进行处理bgremove
在rgb
为False
的情况下 是否进行背景去除调用一下康康
import aircvdef main():bmp = aircv.imread("./image/bmp.png")tim = aircv.imread("./image/tim.png")print(aircv.find_template(bmp, tim))if __name__ == '__main__':main()
{‘result’: (34.5, 130.5), ‘rectangle’: ((23, 115), (23, 146), (46, 115), (46, 146)), ‘confidence’: 1.0}
结果很详细 我很满意
特征点的数量
def sift_count(img):sift = _sift_instance()kp, des = sift.detectAndCompute(img, None)return len(kp)
嗯 就是统计图中包含的特征点的数量
使用特征点匹配查找图片
有
2
个函数find_all_sift
和find_sift
def find_all_sift(im_source, im_search, min_match_count=4, maxcnt=0):# ...
可以看出有
4
个参数注释里是这么写的
Args:im_source(string): 图像、素材im_search(string): 需要查找的图片threshold: 阈值,当相识度小于该阈值的时候,就忽略掉maxcnt: 限制匹配的数量
看完这个注释我就很懵
threshold
这个东西在哪呢有点粗心大意啊
康康
min_match_count
这个东西是干啥的吧if len(kp_sch) < min_match_count:return None
哦 原来是最少特征数量啊
和之前一样 就是实现方法不一样 就不贴代码了
查找图片
- 有
2
个函数 find_all
和find
- 就是先使用
Template
后使用Sift
获取图像亮度
def brightness(im):im_hsv = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)h, s, v = cv2.split(im_hsv) height, weight = v.shape[:2]total_bright = 0for i in v:total_bright = total_bright+sum(i)return float(total_bright)/(height*weight)
传入一个图片 返回一个亮度
小结
Aircv
就是基于OpenCV
写了一个找图的函数- 可以看出找的速度很快 找的也很准确
- 可以当做辅助脚本的找图工具
Python 游戏辅助基础之 Aircv相关推荐
- Python 游戏辅助基础之 AutoPy
Python 游戏辅助基础之 AutoPy AutoPy 的安装 AutoPy 的6个功能模块 alert 模块 bitmap 模块 color 模块 key 模块 mouse 模块 screen 模 ...
- Python游戏辅助基础之AutoPy
Python游戏辅助基础之AutoPy AutoPy的安装 AutoPy的6个功能模块 alert模块 bitmap模块 color模块 key模块 mouse模块 screen模块 小结 AutoP ...
- python 游戏辅助脚本_python版微信跳一跳游戏辅助
本文实例为大家分享了微信跳一跳游戏辅助python代码,供大家参考,具体内容如下 import os import PIL import numpy import matplotlib matplot ...
- python 游戏辅助lol_绝地助手_(Python基础教程之八)Python中的list操作
服务器软件大扫盲彩虹六号辅助有序 索引(索引从0最先) 易变的 异构的(列表中的项目不必是统一类型) 写为方括号之间的逗号分开值列表 listOfSubjects = ['physics', 'che ...
- python游戏-零基础python教程-用Python设计你的第一个小游戏
学以致用,今天给大家分享零基础Python设计你的第一个小游戏,既然要学习Python就要让它来实现我们想做的东西,这次咱就用Python来做个简单小游戏,在实践中不断成长.刚学习Python的小伙伴 ...
- python游戏辅助lol_Python爬虫实战,60行代码爬取英雄联盟全英雄全皮肤,找寻曾今那些被删除的绝版皮肤...
学了一周多的爬虫课后终于按捺不住了,小编决定自己手动编写爬虫程序,刚好LJ在鼓励学员分享成果,优秀作品有奖励,就把自己用Python编程爬取各大游戏高清壁纸的过程整理了出来进行投稿,与大家一起分享. ...
- python游戏辅助lol_Python数据分析实战--英雄联盟游戏数据分析
3.31更新了下路组合的对线情况 最近疫情原因一直呆在家里,本人也是LOL资深玩家了,从S3就开始接触LOL了,中间S8.S9的时候没有怎么玩,现在又玩回来了,LOL玩多了,突然就想能不能对英雄联盟的 ...
- python 游戏辅助lol_一个基于python的自动玩游戏辅助
文章目录 一.背景 场景分析 二.方案选择 方案对比: 三.设计思路 四.代码撸起来 五.工具效果 我的心得 一.背景 业余时间我会玩一玩游戏,然而并不是所有所有的游戏内容都会让我一直保持着兴趣.一段 ...
- python 游戏辅助lol_用Python爬取英雄联盟(lol)全部皮肤
小三:"怎么了小二?一副无精打采的样子!" 小二:"唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中很多皮肤都需要花钱买,但是我钱不够呀..." 小三 ...
- python游戏辅助lol_用Python编写代码分析《英雄联盟》游戏胜利的最重要因素
介绍 在过去的几年里,电子竞技社区发展迅速,曾经只是休闲娱乐的电子竞技产业,到2022年有望创造18亿美元的收入.虽然在这个生态系统中有很多电子游戏,但很少有游戏像<英雄联盟>那样成为社区 ...
最新文章
- 快速删除c/c++语言中的注释
- 使用友盟的社会化组件,发新浪微博的 error:redirect_uri_mismatch的解决方法
- homework-03
- linux中的size_t和ssize_t区别
- 为什么单击用户账户没有反应_为什么您的网站没有流量?是因为用户搜不到你!...
- 设计一个可扩展的用户登录系统
- onpagefinished等了很久才执行_今天自律了吗?停课不停锻炼 才是战疫正确姿势
- Oracle工具使用(export,import,sqlldr中文帮助及实例))
- arcgis字段计算器--随机数
- 计算机无法启动windows无线服务,win10无线服务无法启动怎么解决
- 二进制部署Kubernetes-v1.14.1集群
- html+css的响应式个人简历
- 小米2s自带rec刷root_关于vivo手机的root
- Apizza-绑定数据模型
- 刷穿剑指offer-Day11-链表I 基础介绍
- 牛逼!这届WWDC依旧展现了那个让你无法复制的苹果!
- 机电团队怎么使用软件系统快速实施 部署
- IEtester 中文官方网站 raquo; IETester 最新版下载 V0.4.6 支持WIN7 支持IE9 马上下载
- # CF #808 Div.2(A - C)
- Maven 编译时缺少依赖,java: 程序包org.apache.http不存在