From ca41f51adbb5e0dbcdbe016123ba35b6219e7cc2 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sun, 9 Apr 2023 17:25:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E8=81=8C=E4=B8=9A=E8=AF=86=E5=88=AB=E9=94=99?= =?UTF-8?q?=E8=AF=AF=EF=BC=8C=E5=B9=B6=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=85=9C=E5=BA=95=E6=8E=AA=E6=96=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/4222 --- resource/tasks.json | 2 +- src/MaaCore/Task/Experiment/CombatRecordRecognitionTask.cpp | 5 ++--- src/MaaCore/Vision/Battle/BattleImageAnalyzer.cpp | 6 ++++++ src/MaaCore/Vision/BestMatchImageAnalyzer.cpp | 2 ++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 354c72e577..fb12cbdd8b 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -6499,7 +6499,7 @@ }, "BattleOperRole": { "template": "empty.png", - "templThreshold": 0.75 + "templThreshold": 0.6 }, "BattleOperRoleCaster": {}, "BattleOperRoleMedic": {}, diff --git a/src/MaaCore/Task/Experiment/CombatRecordRecognitionTask.cpp b/src/MaaCore/Task/Experiment/CombatRecordRecognitionTask.cpp index ce8d15557b..6911517ee8 100644 --- a/src/MaaCore/Task/Experiment/CombatRecordRecognitionTask.cpp +++ b/src/MaaCore/Task/Experiment/CombatRecordRecognitionTask.cpp @@ -705,8 +705,7 @@ bool asst::CombatRecordRecognitionTask::process_changes(ClipInfo& clip, ClipInfo Log.info("deployed", deployed); if (deployed.empty()) { - Log.warn("Unknown dployed"); - return false; + Log.warn("Unknown dployed, will use pre tails_page's name", pre_clip_ptr->ends_oper_name); } auto deployed_iter = deployed.begin(); @@ -714,7 +713,7 @@ bool asst::CombatRecordRecognitionTask::process_changes(ClipInfo& clip, ClipInfo if (!oper.new_here) { continue; } - std::string name = deployed_iter == deployed.end() ? "UnkownDeployed" : *(deployed_iter++); + std::string name = deployed_iter == deployed.end() ? pre_clip_ptr->ends_oper_name : *(deployed_iter++); static const std::unordered_map DirectionNames = { { battle::DeployDirection::Right, "Right" }, { battle::DeployDirection::Down, "Down" }, diff --git a/src/MaaCore/Vision/Battle/BattleImageAnalyzer.cpp b/src/MaaCore/Vision/Battle/BattleImageAnalyzer.cpp index a488f39d48..bf17cb65bd 100644 --- a/src/MaaCore/Vision/Battle/BattleImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Battle/BattleImageAnalyzer.cpp @@ -124,7 +124,10 @@ bool asst::BattleImageAnalyzer::opers_analyze() MultiMatchImageAnalyzer flags_analyzer(m_image); const auto& flag_task_ptr = Task.get("BattleOpersFlag"); flags_analyzer.set_task_info(flag_task_ptr); + +#ifndef ASST_DEBUG flags_analyzer.set_log_tracing(false); +#endif // if (m_target & Target::OperSeleted) { // // 更大的范围,能把被点击的升起来的干员也识别出来 // // 但是可能造成误识别 @@ -204,7 +207,9 @@ asst::battle::Role asst::BattleImageAnalyzer::oper_role_analyze(const Rect& roi) static const std::string TaskName = "BattleOperRole"; static const std::string Ext = ".png"; BestMatchImageAnalyzer role_analyzer(m_image); +#ifndef ASST_DEBUG role_analyzer.set_log_tracing(false); +#endif // !ASST_DEBUG role_analyzer.set_task_info(TaskName); role_analyzer.set_roi(roi); @@ -212,6 +217,7 @@ asst::battle::Role asst::BattleImageAnalyzer::oper_role_analyze(const Rect& roi) role_analyzer.append_templ(TaskName + role_name + Ext); } if (!role_analyzer.analyze()) { + Log.warn(__FUNCTION__, "unknown role"); return battle::Role::Unknown; } diff --git a/src/MaaCore/Vision/BestMatchImageAnalyzer.cpp b/src/MaaCore/Vision/BestMatchImageAnalyzer.cpp index e14480f104..05d20560fe 100644 --- a/src/MaaCore/Vision/BestMatchImageAnalyzer.cpp +++ b/src/MaaCore/Vision/BestMatchImageAnalyzer.cpp @@ -9,7 +9,9 @@ bool asst::BestMatchImageAnalyzer::analyze() { +#ifndef ASST_DEBUG MatchImageAnalyzer::set_log_tracing(false); +#endif set_use_cache(false); MatchRect best_matched;