图像识别节点(ImageRecognition)
图像识别节点用于在屏幕上定位按钮、图标、文本区域等视觉元素。它会根据预置模板截图进行匹配,并把坐标写入上下文,供后续的 MouseMove、MouseClick 或子流水线使用。
配置字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | ✔️ | 节点名称,如 find-submit |
params | ImageRecognitionParams | ✔️ | 识别参数,见下表 |
retry | number | ✔️ | 失败后重试次数,可设 -1 表示无限重试 |
interval | number | ✔️ | 重试间隔(毫秒) |
conditions | Conditions | 执行条件,支持 exist/not_exist/condition 组合 | |
err_return | boolean | 失败后是否立即终止,默认 true |
ImageRecognitionParams
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
images | string[] | ✔️ | 模板截图列表,可按优先级排序 |
optimization | ImageOptimization | 图像优化配置,见下表 |
ImageOptimization
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
resize | number | 1.0 | 匹配前的缩放比例,用于适配不同分辨率 |
imread_type | string | GRAYSCALE | OpenCV 读取模式,可选 COLOR / GRAYSCALE |
YAML 示例
- action_type: ImageRecognition
name: find-submit
retry: -1
interval: 500
params:
images:
- submit.png
- submit-alt.png
optimization:
resize: 0.8
imread_type: COLOR
err_return: true当 retry 设置为 -1 时,该节点会一直匹配 submit.png 和 submit-alt.png,直到找到其中一个为止,并把坐标写入 find-submit.submit.png 等变量中。
输出结果
- 每张命中的图片会在上下文生成三个变量:
{node-name}.{image-name}.x:匹配到的 X 坐标{node-name}.{image-name}.y:匹配到的 Y 坐标{node-name}.{image-name}:布尔值,匹配成功即为true
例如节点名 find-submit、图片名 submit.png,将得到以下变量:
find-submit.submit.png.x
find-submit.submit.png.y
find-submit.submit.png = true后续的 MouseMove、MouseClick 或条件判断可以直接引用这些变量来移动、点击或判断元素是否存在。
使用建议
- 将截图裁剪得越紧越好,避免无关背景干扰匹配。
- 多分辨率/主题下的按钮可放在
images数组中,按优先级依次匹配。 retry = -1适合等待界面加载;若只需尝试有限次数可设置具体数字,防止卡住流水线。- 匹配成功后记得在下游节点的
conditions.exist中引用,确保只在元素存在时继续执行。
最后更新于: