尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

MaaNTE新版钓鱼控条算法:HSV双目标跟踪+预测脉冲的实时闭环控制实现详解

MaaNTE新版钓鱼控条算法:HSV双目标跟踪+预测脉冲的实时闭环控制实现详解 MaaNTE新版钓鱼控条算法HSV双目标跟踪预测脉冲的实时闭环控制实现详解【免费下载链接】MaaNTEMaaNTE. Nevertheless to Everless automatic assistant 异环小助手项目地址: https://gitcode.com/gh_mirrors/maa/MaaNTEMaaNTE 是《异环》Neverness to Everless的开源挂机助手「异环小助手」。本篇为你拆解它新版钓鱼控条算法的核心如何用一次 HSV 颜色转换同时跟踪「绿条」与「光标」两个目标再用预测脉冲实现毫秒级实时闭环控制。无需阅读大量代码就能理解这套系统为何能又快又稳地让光标咬住绿条。为什么旧版控条不够用旧版钓鱼 auto_fish.py 依赖模板匹配把绿条左右端点、滑块等做成固定模板图每帧去屏幕对应区域做匹配。这种方式有两个先天短板依赖固定外观模板一旦和 UI 有细微出入缩放、抗锯齿、换皮匹配概率就会跌破阈值而失效开环「按住」逻辑它用死区deadzone15持续按住 A/D 键本质是「偏差大就按住」缺乏对速度和惯性的预判容易冲过头overshoot。 简单理解旧版像「盯着差距再踩油门」新版像「预判刹车距离、提前松油门」。新版 auto_fish_withoutCV.py 彻底抛弃模板匹配改用颜色空间 数值预测从开环走向真正的实时闭环。核心一一次 HSV 转换同时追踪两个目标新版视觉层在 fish_vision.py。关键点是一次 HSV 转换、两路颜色掩码同时定位两个运动目标锁定小 ROI只裁剪控条所在的小区域CONTROL_ROI把计算量压到极小让每帧处理飞快转 HSVcv2.cvtColor(roi, BGR2HSV)一次完成两个目标共用同一张 HSV 图两路 inRange用两组颜色上下界分别生成绿条掩码与光标掩码两种取框策略绿条用「合并所有匹配点」_all_points_box——因为光标会覆盖绿条中间像素只取最大连通块会漏掉被遮住的部分光标用「最大连通块」_largest_component_box——光标是一整块取最大连通区域最稳。 这就是「双目标跟踪」同一帧、同一次颜色转换产出两个目标的实时坐标框省掉了一次昂贵的截图—转换开销。核心二EWMA 速度估计滤掉识别噪声颜色识别并非像素级精确直接逐帧算速度会剧烈抖动。新版在 fish_control.py 的estimate_error_velocity里用EWMA指数加权移动平均velocity 上一帧速度 α × (本帧原始速度 − 上一帧速度)α 越小越平滑更抗噪、但更滞后同时用max_velocity给速度设上下限防止单帧识别跳变把速度打到离谱值。光标速度、绿条速度都走这套平滑逻辑是后面「预测」能靠谱的根基。核心三预测时间窗 中心走廊这是整套算法最妙的地方。控制器不追单一中心点而是给绿条划出一条「中心走廊」predict_tracking_interval走廊 绿条中心 ± 可用宽度 ×center_band_ratio默认 40%光标只要落在走廊内就松键不操作交给下一帧判断只有当「预测后的光标」将要走出走廊才触发控制。关键在于预测光标用「当前位置 当前速度 × lookahead」推算未来位置绿条中心也用自己的速度 × lookahead 前移。两者用同一个预测时间窗lookahead_seconds这样绿条在移动时光标能提前跟随而不是追着尾巴跑。 一句话提前量 速度 × 预判时间。光标和绿条「一起快进」谁都不落在后面。核心四预测脉冲毫秒级闭环触发控制时新版不是「按住不放」而是发一个有时长上限的短脉冲tap_control_keypulse_ms clamp( pulse_min_ms 偏离距离 × pulse_ms_per_px, min, max )离得越远 → 脉冲越长上限pulse_max_ms默认 36ms离得越近 → 脉冲越短下限pulse_min_ms默认 18ms按 A 把光标往左推、按 D 往右推推完立刻松手下一帧重新观测。于是每一步都在下一帧的观测里「自我修正」串成一条完整的实时闭环截屏 → HSV 双目标检测 → 平滑速度估计 → 预测未来位置 → 判断是否走出走廊 → 发预测脉冲 → 松键 → 回到截屏这正是「闭环」比「开环按住」更稳的根本原因感知—预测—执行在毫秒尺度上持续滚动。主循环与容错设计主循环在 auto_fish_withoutCV.py控条之外还埋了几层兜底结束判定should_finish_control光标持续消失超过control_end_grace_ms认为进入结果阶段正常返回交由流水线处理钓获逃走回界面失手超时连续lost_timeout_ms识别不到就重置速度状态超过lost_abort_ms则交回 Pipeline 恢复绿条宽度事件确认宽度变化需连续width_confirm_frames帧确认才更新避免单帧误读。所有可调参数集中在 fish_params.py默认值如prediction_ms140、safe_margin6、center_band_ratio0.4都经过调校一般无需改动。新旧版本对比速览维度旧版新版视觉识别模板匹配HSV 颜色双目标抗 UI 变化弱强控制方式按住开环死区预测脉冲闭环速度处理无EWMA 平滑 预判移动绿条跟随追尾巴同窗预判提前跟代码入口auto_fish.pyauto_fish_withoutCV.py想自己上手试试想深入源码可从这几个文件入手均在agent/custom/action/AutoFish/下视觉层fish_vision.py控制层fish_control.py主循环auto_fish_withoutCV.py参数配置fish_params.py使用文档Fish.md⚠️ 提示钓鱼功能仅「自动买鱼饵」「自动卖鱼」会抢占鼠标被月卡打断的跨夜钓鱼无法直接处理可尝试设置定时任务继续钓鱼。【免费下载链接】MaaNTEMaaNTE. Nevertheless to Everless automatic assistant 异环小助手项目地址: https://gitcode.com/gh_mirrors/maa/MaaNTE创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表