From 16cf3e26db765c8579e273bb1e5dc3f990b6ae83 Mon Sep 17 00:00:00 2001 From: MistEO Date: Thu, 9 Mar 2023 21:07:03 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Task/Interface/DebugTask.cpp | 41 ++++++++++++++++++------ src/MaaCore/Task/Interface/DebugTask.h | 4 +++ 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/src/MaaCore/Task/Interface/DebugTask.cpp b/src/MaaCore/Task/Interface/DebugTask.cpp index 4366172b52..6f343af8c3 100644 --- a/src/MaaCore/Task/Interface/DebugTask.cpp +++ b/src/MaaCore/Task/Interface/DebugTask.cpp @@ -4,21 +4,22 @@ #include "Utils/NoWarningCV.h" -// #include "Plugin/RoguelikeSkillSelectionTaskPlugin.h" - #include "Utils/ImageIo.hpp" #include "Utils/Logger.hpp" +#include "Vision/Miscellaneous/BattleSkillReadyImageAnalyzer.h" #include "Vision/Miscellaneous/DepotImageAnalyzer.h" #include "Vision/Miscellaneous/StageDropsImageAnalyzer.h" -asst::DebugTask::DebugTask(const AsstCallback& callback, Assistant* inst) : InterfaceTask(callback, inst, TaskType) -{ - ////auto task_ptr = std::make_shared(callback, inst, TaskType); - // auto task_ptr = std::make_shared(callback, inst, TaskType); - // m_subtasks.emplace_back(task_ptr); -} +asst::DebugTask::DebugTask(const AsstCallback& callback, Assistant* inst) : InterfaceTask(callback, inst, TaskType) {} bool asst::DebugTask::run() +{ + test_drops(); + + return true; +} + +void asst::DebugTask::test_drops() { size_t total = 0; size_t success = 0; @@ -34,5 +35,27 @@ bool asst::DebugTask::run() success += analyzer.analyze(); } Log.info(__FUNCTION__, success, "/", total); - return true; +} + +void asst::DebugTask::test_skill_ready() +{ + int total = 0; + int correct = 0; + for (const auto& entry : std::filesystem::directory_iterator(R"(../../test/skill_ready/y)")) { + cv::Mat image = imread(entry.path().string()); + BattleSkillReadyImageAnalyzer analyzer(image); + total++; + if (analyzer.analyze()) { + correct++; + } + } + for (const auto& entry : std::filesystem::directory_iterator(R"(../../test/skill_ready/n)")) { + cv::Mat image = imread(entry.path().string()); + BattleSkillReadyImageAnalyzer analyzer(image); + total++; + if (!analyzer.analyze()) { + correct++; + } + } + Log.info(__FUNCTION__, correct, "/", total, ",", double(correct) / total); } diff --git a/src/MaaCore/Task/Interface/DebugTask.h b/src/MaaCore/Task/Interface/DebugTask.h index ed1a5a9650..4d9e46c2fb 100644 --- a/src/MaaCore/Task/Interface/DebugTask.h +++ b/src/MaaCore/Task/Interface/DebugTask.h @@ -12,5 +12,9 @@ namespace asst virtual ~DebugTask() override = default; virtual bool run() override; + + private: + void test_drops(); + void test_skill_ready(); }; }