网站首页 > 技术文章 正文
Python语言简洁、易读,可扩展,开源代码库极其丰富,适用领域相当广泛(WEB,桌面,视觉,AI,数据分析等等),正因为这些优点让Python如日中天。opencv-python实现了图像处理和计算机视觉方面的很多通用算法。这次利用opencv实现找茬游戏的外挂。去掉异常处理语句(增加稳定性)只有13行代码,实现过程比较简单。
先上效果图:
python,opencv及ide(pycharm community)如何安装自行百度。
实现过程:
- 利用win32gui获取找茬游戏的窗口句柄
- 利用win32gui找出窗口在屏幕的位置
- 利用PIL.ImageGrab包对窗口位置进行截图
- 将图像分割出两幅原始图
- 将两幅图像相减得到差异图像
- 二值化差异图像
- 对二值化图像查找轮廓
- 将轮廓绘制到其中一个原图
- 将原图显示出来
import win32gui,cv2,numpy;from PIL import ImageGrab
while(True):
try:
pos = list(win32gui.GetWindowRect(win32gui.FindWindow(0, '大家来找茬'))) # 获取程序窗口位置
p=[(int(i / 2) * 2) for i in pos] # 位置规整为偶数
roi=numpy.array(ImageGrab.grab((p[0] + 3, p[1] + 198, p[2] - 3, p[3] - 92))) #对窗口截图
w, h, d = roi.shape #获取长宽高
img1 = roi[0:w, 0:int(h / 2), :] #第一幅图
img0 = roi[0:w, int(h / 2):h, :] #第二幅图
gray = cv2.cvtColor(cv2.absdiff(img0, img1), cv2.COLOR_BGR2GRAY) #两图差异
ret, thresh = cv2.threshold(gray, 22, 255, 0) #二值化差异
contours, hierarchy = cv2.findContours(cv2.bitwise_not(thresh), cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE) # 寻找轮廓
cv2.drawContours(img0, contours, -1, (0, 255, 0), 1) #将轮廓绘制在第一幅图上
cv2.imshow('EasyFind', cv2.cvtColor(img0, cv2.COLOR_BGR2RGB)) #,通道转换,显示结果
except:pass
cv2.waitKey(2) #键盘输入
本次实验对象是QQ游戏平台中美女找茬。不同找茬游戏对应的窗口名称和大小不同,两幅原图对应的窗口位置也不相同,但只需要对第4行和第6行稍作修改,就能实现他找茬游戏的外挂。
当然借助PyMouse等程序包还能模拟鼠标点击动作,实现自动找茬,具体怎么实现自行研究了。
本程序以学习交流为目的。
猜你喜欢
- 2024-10-12 智能监测:皮带输送系统堵料问题的解决方案
- 2024-10-12 Python-OpenCV 10. 图像边缘算法 opencv边缘识别
- 2024-10-12 Net AI学习笔记系列第五章 net教程
- 2024-10-12 深度学习和神经网络——图像读取和显示
- 2024-10-12 「深度学习」手把手教你用PythonOpenCV物体识别-识别水果
- 2024-10-12 python代码实现OpenCV 轮廓近似原理
- 2024-10-12 OpenCV找出图片中的圆并标注圆心 opencv检测圆代码
- 2024-10-12 分享3个干货满满的Python实战项目,点赞收藏
- 2024-10-12 OpenCV(28)——凸包 opencv轮廓凹凸
- 2024-10-12 基于OpenCV实战:动态物体检测 opencv动态阈值
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)