# 开局托儿所_游戏辅助 **Repository Path**: ishyj/GameOfNursery ## Basic Information - **Project Name**: 开局托儿所_游戏辅助 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-22 - **Last Updated**: 2024-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 原理 - 首先使用截图截取数字矩阵区域,然后通过HSV颜色提取到16\*10个数字小框,后续再通过模板匹配识别数字。最后进行排序在reshap为(16,10),然后找chatgpt写一个优先使用数量多的框凑10。 # 使用 - 首先使用get_mouse_pos.py获取ROI区域的左上角坐标和右下角坐标(注意坐标应该偏内测一点,不要定位到小程序外面了)。获取到坐标后,将坐标填入main.py中的`capture_screen(leftup=(1075, 85),rightdown=(1519, 879))`中 ![assert/img.png](assert/img.png) - 等待游戏界面出现,然后执行main.py脚本。该脚本会截图识别计算,用plt画出示意图。当鼠左键点击plt图时,会关闭计算下一次的框选方法并显示。 # 问题 - 统一尺寸:不同设备截图的分辨率可能不同,导致模板匹配可能不成功,所以需要原图像和模板resize到统一尺寸;目前使用的原图形尺寸:1080\*1440 - 模板数字的宽度不一样,但是高度一样,可以裁剪时用正方形框选,高度为数字的高度,可以保证模板尺寸的一致性 # TODO - 本任务的特殊性在于数字图片二值化和灰度话没有区别,可以让数字图片模板和滑动区域(先整体二值化,方便计算)都二值化,模板数字区域为1,非数字区域为-1,然后乘加操作,匹配的乘积全为1,不匹配的则部分为1,其余为-1结果就更小,所以这种特色模板匹配更适合本任务 - 计算和为10的框的算法目前是遍历找到符合条件的框个数最多的。实际上不一定是全局最优(每走一步需要考虑后面是否产生更高的分数),但这不是我的强项了,应该挺难的