知道一张图是“选择技能”还不够。画面同时显示英雄身份、等级、属性和资源。选择技能之后数值可能改变;进入战场后还要区分自己和对方。读出数字、给数字找到字段、把字段绑定到正确英雄,是三个不同步骤。

现有 B023 主要处理选择卡的名称和图标。它尚未交付英雄攻击、防御、法力等字段的可靠提取与跨帧跟踪。本篇把这个缺口单独定义,避免场景分类完成以后,内部状态仍只有一个标签。

flowchart LR
 A[场景及可见性] --> B[英雄面板及归属]
 B --> C[字段图标与数字区域]
 C --> D[原文及数值观测]
 D --> E[时间更新与冲突]
 E --> F[原图对照审核]

图 1:每一步都应保留证据。此图描述目标流程,不表示当前已有字段识别准确率。

1. 场景 → 面板 → 对象 → 字段

层级 示例 必须区分
场景 技能选择、战场 当前画面与历史阶段
面板 选择过程的英雄卡、双方英雄边栏、英雄详情浮层 面板是否打开、是否被遮挡
对象 某个已识别英雄 玩家身份、队伍归属、界面左右位置
字段 等级、攻击、防御、法术相关属性、法力当前/上限 数字旁图标语义、基础值/显示总值/临时增益
观测 原文、解析值、矩形、时间、方法 本帧看到的数值与从历史保留的值

字段名应以当前版本游戏面板的实际含义为准。没有经过图标语义核对时,先记录“第 2 行左侧数值”,不要猜成攻击或法力。1+11/20 也不能共享一个无单位数字字段。

英雄归属不能永久写成“左边=我方”。应结合玩家栏、队伍颜色、英雄身份、面板标题和进入面板的已知上下文;证据不够时 owner=UNKNOWN。同一个英雄可能出现在选择候选、选中英雄与敌方详情中,需要对象角色而不只是名字。

2. 先看真实画面里有哪些信息

MAIN_SKILL_SELECTION 的原始完整界面,尚未标注属性字段
MAIN_SKILL_SELECTION · session01 frame000103。原始截图用于规划字段标注;本文没有给数字套上未经验证的属性名称。
HERO_INFO 的原始完整界面,尚未标注属性字段
HERO_INFO · session01 frame000311。原始截图用于规划字段标注;本文没有给数字套上未经验证的属性名称。
BATTLE_ACTIVE 的原始完整界面,尚未标注属性字段
BATTLE_ACTIVE · session01 frame000255。原始截图用于规划字段标注;本文没有给数字套上未经验证的属性名称。

技能页的英雄卡可用固定布局提取数值候选,但布局选择需要场景证据。战场侧栏可能只展示部分属性,详情面板才展示其余字段。缺少的字段应该记为未观测,不能从选择阶段的老值推断现在仍相同。

标题 OCR 通常识别中文名称;数值 OCR 还必须处理小数字、符号、分数、颜色变化和图标紧邻文字。可以比较整面板 OCR 与字段小裁图 OCR,输出 raw_text 后再做类型解析。一个高置信度的 4 仍可能来自错误的英雄、错误的行,或错误的字段图标。

3. 观测更新,不等于凭规则补全数值

下面是建议的记录结构。值用 null 表示尚未观测,不能把示例当成某张截图的实际预测。

{
  "entity_role": "selected_hero",
  "entity_id": null,
  "owner": "UNKNOWN",
  "field": "attack_displayed",
  "raw_text": null,
  "value": null,
  "box": null,
  "observed_at_seconds": null,
  "status": "NOT_OBSERVED",
  "source": "single_frame"
}

只有字段含义、归属与像素证据相容时才提交观测。翻页期间保留上一条观测的时间,但当前值标为不可见或待确认;不能把历史值复制进“本帧检测结果”。观察到新数字时先保存原文与来源,异常跳变可以触发重读或下一帧确认,不能为了符合模拟器预期而强行改成旧值。

升级、技能、装备或战斗效果可能伴随数值变化。系统可以记录“前后发生变化”,但仅凭画面时序不能证明某个动作是唯一原因。基础属性、当前显示总值和临时修正要分开;首次实现可以只提取屏幕显示值,不推算隐藏规则。

切出游戏、断线、暂停时停止正常字段提交,但继续观察恢复。返回时重新识别英雄与面板;历史数据带年龄并标为可能过期。阈值、过期时间和连续确认次数要从序列验证中选择,不能作为已经可靠的默认保证。

4. 先做一个面板,再扩展双方英雄

第一步从现有技能、英雄信息、排兵布阵和战斗关键帧准备字段框与名称草稿。优先人工确认图标语义、所属英雄、字段类型与实际文字。随后比较整面板 OCR、小区域 OCR、位置约束及两者组合,按字段报告精确匹配、漏检、错误归属和拒识。

第二步在连续窗口比较数值变化时间、错误更新、过期值被误用,以及遮挡后的恢复。必须按视频隔离训练/开发/测试,不能用相邻帧的高度重复性制造高分。

现在可以先完成已准备好的场景审核和生物/英雄/技能身份审核。字段编辑器尚未上线,因此此刻不要求用户去一个不存在的入口填写属性。字段工具应显示原图、字段框、原文、归属和前后帧对照,再请用户核对真正不确定的部分。

B025 的验收是“每个字段知道属于谁、何时看见、哪里读到,以及何时未知”。它不包含战场生物定位,也不把 OCR 置信分数当作完整状态正确的概率。