图像帧及指定图像区域捕获 - nanpuhaha/SerpentAI GitHub Wiki
在游戏代理的创建工作流程中,捕获游戏帧图像或游戏帧内的特定区域是一个很常见的任务。在本节中,我们将介绍一些常见的用法示例以及如何使用 Serpent.AI 框架来处理它们。
- 测量游戏屏幕区域
- 提取游戏精灵
- 测试图像处理代码
- 通过
serpent launch
命令启动游戏。(示例:serpent launch SuperHexagon
) - 手动进入你感兴趣的游戏界面。
- 运行
serpent capture frame <game_name> <interval>
命令。(示例:serpent capture frame SuperHexagon 1
)
被捕获的游戏帧图像将被保存到 datasets/collect_frames 路径下。
- 为游戏上下文分类构建数据集。
- 为其他机器学习训练任务构建数据集。
- 通过
serpent launch
命令启动游戏。(示例:serpent launch SuperHexagon
) - 手动进入你感兴趣的游戏界面。
- 运行
serpent capture context <game_name> <interval> <context_name>
命令。(示例:serpent capture context SuperHexagon 1 main_menu
)
被捕获的游戏帧图像将被保存到 _datasets/collect_frames_for_context/<context_name>_目录中。考虑到这些图像主要是用于图像分类机器学习任务,所以捕获的游戏帧图像被缩小到半宽和半高。
- 捕获矩形游戏精灵。
- 收集非矩形游戏精灵,准备将其与背景进行隔离。
- 收集文本图像样本以建立其 OCR 预设。
- 在你的游戏插件内至少定义一个屏幕区域。-
- 通过
serpent launch
命令启动游戏。(示例:serpent launch SuperHexagon
) - 手动进入你感兴趣的游戏界面。
- 运行
serpent capture region <game_name> <interval> <screen_region>
命令。(示例:serpent capture region SuperHexagon 1 MAIN_MENU_OPTIONS
)
被捕获的游戏帧图像将被保存到 datasets/collect_frames/<screen_region> 目录中。