简单说:OCR 识别 = "告诉我上面写了什么";OCR 比对 = "上面写的是不是 XXX"。
OCR 比对节点也支持"比对成功后点击",和图像查找的点击逻辑类似。
OCR 准确率受多种因素影响,按优先级排查:
Windows 版使用系统内置的 Windows OCR 引擎,无需额外安装。如果系统语言包缺失,需要在 Windows 设置 → 时间和语言 → 语言 中添加对应语言。
"期望文本"只在 OCR 比对节点中使用。它的意思是"你期望屏幕上显示的文字是什么"。
引擎识别出屏幕文字后,会和期望文本做比较:
举例:期望文本填"确定",屏幕上按钮写的也是"确定" → 成功,可以继续执行点击操作。
如果留空,则不做比对,只要识别到任何文字就算成功。
不需要。MacroAI Windows 版使用系统内置的 Windows OCR 引擎(Windows.Media.Ocr),Windows 10/11 自带,零安装。
但如果你需要识别中文,确保系统已安装中文语言包:
英文是默认自带的,一般不需要额外操作。
支持的语言取决于系统已安装的语言包。最常用的是中文简体和英文,此外还支持中文繁体、日文、韩文等(取决于系统语言包)。
在 OCR 节点配置中,有"语言"下拉框可以选择识别语言。
注意:语言选错会导致识别率大幅下降。比如用英文模式识别中文,结果会是乱码或空。
如果下拉框中没有你需要的语言,需要先在操作系统中安装对应的语言包。
容差(tolerance)控制颜色匹配的宽松程度。因为屏幕上的颜色可能因为光照、抗锯齿、半透明叠加等原因和你预期的不完全一致。
建议:从 30 开始试,如果匹配不到就逐步加大,如果出现误匹配就缩小。
用取色模式(point)+ 条件判断:
color)color_is 函数判断:color_is(color, "red", 30) — 判断是否红色,容差 30也可以用 RGB 值精确判断:color_is(color, {r=200, g=30, b=30}, 40)
如果你不是要判断"一个点",而是要"在一大片区域里找红色在哪",那应该用搜索模式。
颜色检测返回多种格式的颜色描述,方便不同场景使用:
大多数情况下用 color_is() 函数判断即可,不需要自己解析这些值。