图像帧及指定图像区域捕获 - nanpuhaha/SerpentAI GitHub Wiki

在游戏代理的创建工作流程中,捕获游戏帧图像或游戏帧内的特定区域是一个很常见的任务。在本节中,我们将介绍一些常见的用法示例以及如何使用 Serpent.AI 框架来处理它们。

完整游戏图像帧的捕获

应用示例

  • 测量游戏屏幕区域
  • 提取游戏精灵
  • 测试图像处理代码

如何玩转

  1. 通过 serpent launch 命令启动游戏。(示例: serpent launch SuperHexagon)
  2. 手动进入你感兴趣的游戏界面。
  3. 运行 serpent capture frame <game_name> <interval> 命令。(示例: serpent capture frame SuperHexagon 1)

被捕获的游戏帧图像将被保存到 datasets/collect_frames 路径下。

捕获带标签的完整图像帧

应用示例

  • 为游戏上下文分类构建数据集。
  • 为其他机器学习训练任务构建数据集。

如何玩转

  1. 通过 serpent launch 命令启动游戏。(示例: serpent launch SuperHexagon)
  2. 手动进入你感兴趣的游戏界面。
  3. 运行 serpent capture context <game_name> <interval> <context_name> 命令。(示例: serpent capture context SuperHexagon 1 main_menu)

被捕获的游戏帧图像将被保存到 _datasets/collect_frames_for_context/<context_name>_目录中。考虑到这些图像主要是用于图像分类机器学习任务,所以捕获的游戏帧图像被缩小到半宽和半高。

图像帧内区域图像捕获

应用示例

  • 捕获矩形游戏精灵。
  • 收集非矩形游戏精灵,准备将其与背景进行隔离。
  • 收集文本图像样本以建立其 OCR 预设。

如何玩转

  1. 在你的游戏插件内至少定义一个屏幕区域。-
  2. 通过 serpent launch 命令启动游戏。(示例: serpent launch SuperHexagon)
  3. 手动进入你感兴趣的游戏界面。
  4. 运行 serpent capture region <game_name> <interval> <screen_region> 命令。(示例: serpent capture region SuperHexagon 1 MAIN_MENU_OPTIONS)

被捕获的游戏帧图像将被保存到 datasets/collect_frames/<screen_region> 目录中。

⚠️ **GitHub.com Fallback** ⚠️