跳转至

区域像素状态判断

类型 ID:region.pixel_state。本页对应开发候选源码,安装版本须先确认该节点可用。

该节点用于判断 UI 状态,不做 OCR 或图像模板匹配。每次取得一帧后,在同一帧上计算全部区域,再用 AND、OR、NOT 组合结果。适合颜色、亮度或饱和度变化明确的界面;阈值是否可靠仍需在目标画面上验证。

编辑与来源

双击节点打开编辑器,可导入底板或截取已填写的 ADB/桌面目标。在底板上拖动重画选中区域;也可输入归一化的左上角 X、Y 和宽高,范围为 0~1,矩形必须位于整幅图像内。支持最多 32 个区域,每区有稳定 ID 和可读名称。

底板 previewImage 仅用于编辑,不会自动变成运行输入。输入目标来自连线时,编辑器不会擅自运行上游节点取得截图,请导入已有截图。

方向与索引 含义
输入 0 执行
输入 1 ADB 地址字符串;未连接时使用配置中的地址
输入 2 静态图像;只支持一次判断
输出 0 综合结果等于 passWhen 时放行
输出 1 当前综合布尔结果

未连接静态图像时,按 ADB 或桌面目标获取实时画面。两类配置目标不能同时填写;都不填时使用默认主屏幕。静态图像不能配合持续等待,否则明确报错,不能用重复同一张图冒充多帧判断。

遮罩与指标

每区可导入独立静态黑白遮罩。遮罩按最近邻缩放至该区域,白色且不透明的像素参与统计,黑色和透明像素忽略。实现阈值为 RGB 三通道均不小于 128 且 alpha 不小于 128;没有有效像素时报告错误,不返回“假”。

所有指标及阈值使用 0~1。亮度使用 RGB 加权亮度,饱和度按 (max(R,G,B)-min(R,G,B))/max(R,G,B) 计算,黑色为 0。

指标 结果含义
meanBrightness 有效像素的平均亮度
meanSaturation 有效像素的平均饱和度
brightnessRatio 亮度位于 pixelMinpixelMax 的像素占比
saturationRatio 饱和度位于 pixelMinpixelMax 的像素占比
colorRatio RGB 与 targetColor 的最大通道差不超过 colorTolerance 的像素占比

每个区域的统计结果位于 minmax(包含边界)时,该区域条件为真。占比的分母是遮罩内有效像素数,不是整个画面。

逻辑与等待

逻辑树支持 leafandornot,最多 8 层、128 项。叶子引用区域 ID;NOT 恰好包含一个子项,AND/OR 至少包含一个。删除区域会清除对应逻辑引用,不会留下悬空 ID。

  • mode: once:采样一次,输出布尔值;仅在结果等于 passWhen 时发出执行信号。
  • mode: wait:持续取得新画面,等待结果等于 passWhen 且同时满足防抖帧数和防抖时长,再放行。
  • sampleIntervalMillis: 0:默认自动最快,处理串行且最多一帧在途,不另加固定 FPS 上限。实际速度取决于采集和计算耗时。
  • 重复的来源帧序号不累计防抖;不把同一帧读取多次视为持续达标。
  • stableFrames 默认 1,stableMillis 默认 0;不达标时两者重置。
  • timeoutMillis 默认 30000;取消、超时、目标失效或图像格式错误均以错误结束,不静默转成“假”。

实时采集复用客户端现有目标准备与帧服务,像素计算使用任务管理的常驻 worker。停止任务后应观察任务终止状态;不要把命令已返回等同于采集资源已经释放。

返回当前节点目录