diff --git a/resource/tasks.json b/resource/tasks.json index d19c441361..a13a9ad2f6 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -8453,7 +8453,7 @@ "specificRect": [ 1175, 335, - 170, + 100, 60 ] }, @@ -8493,7 +8493,7 @@ "specificRect": [ 1175, 340, - 170, + 100, 60 ] }, @@ -8503,7 +8503,7 @@ "specificRect": [ 1175, 500, - 170, + 100, 60 ] }, @@ -8513,7 +8513,7 @@ "specificRect": [ 1175, 110, - 170, + 100, 60 ] }, @@ -8523,7 +8523,7 @@ "specificRect": [ 1175, 260, - 170, + 100, 60 ] }, @@ -8533,7 +8533,7 @@ "specificRect": [ 1175, 417, - 170, + 100, 60 ] }, @@ -8543,7 +8543,7 @@ "specificRect": [ 1175, 560, - 170, + 100, 60 ] }, @@ -10243,18 +10243,8 @@ }, "Sami@Roguelike@StageEncounterEnter": {}, "Sami@Roguelike@StageEncounterLeaveConfirm": {}, - "Sami@Roguelike@StageEncounterOptionFree": { - "maskRange": [ - 5, - 255 - ] - }, - "Sami@Roguelike@StageEncounterOptionLeave": { - "maskRange": [ - 5, - 255 - ] - }, + "Sami@Roguelike@StageEncounterOptionFree": {}, + "Sami@Roguelike@StageEncounterOptionLeave": {}, "Sami@Roguelike@StageEncounterOptionUnknown": { "templThreshold": 0.85 }, diff --git a/resource/template/Sami@Roguelike@StageEncounterOptionLeave.png b/resource/template/Sami@Roguelike@StageEncounterOptionLeave.png index e6f74a0fb4..8a8904abfe 100644 Binary files a/resource/template/Sami@Roguelike@StageEncounterOptionLeave.png and b/resource/template/Sami@Roguelike@StageEncounterOptionLeave.png differ diff --git a/src/MaaCore/Task/Interface/DebugTask.cpp b/src/MaaCore/Task/Interface/DebugTask.cpp index 241423bcd6..747a5ee717 100644 --- a/src/MaaCore/Task/Interface/DebugTask.cpp +++ b/src/MaaCore/Task/Interface/DebugTask.cpp @@ -10,11 +10,14 @@ #include "Vision/Battle/BattlefieldMatcher.h" #include "Vision/Miscellaneous/DepotImageAnalyzer.h" #include "Vision/Miscellaneous/StageDropsImageAnalyzer.h" +#include "Vision/Matcher.h" +#include "Config/TaskData.h" asst::DebugTask::DebugTask(const AsstCallback& callback, Assistant* inst) : InterfaceTask(callback, inst, TaskType) {} bool asst::DebugTask::run() { + test_match_template(); return true; } @@ -70,3 +73,20 @@ void asst::DebugTask::test_battle_image() analyzer.set_object_of_interest({ .deployment = true }); analyzer.analyze(); } + +void asst::DebugTask::test_match_template() +{ + cv::Mat image = asst::imread(utils::path("../../test/match_template/1.png")); + cv::Mat resized; + cv::resize(image, resized, cv::Size(1280, 720), 0, 0, cv::INTER_AREA); + Matcher match_analyzer(resized, Rect(0, 0, 1280, 720)); + const auto& task_ptr = Task.get("Sami@Roguelike@StageEncounterOptionLeave"); + const auto match_task_ptr = std::dynamic_pointer_cast(task_ptr); + match_analyzer.set_task_info(match_task_ptr); + match_analyzer.analyze(); + const auto& result_opt = match_analyzer.analyze(); + if (result_opt) { + const auto& result = result_opt.value().to_string(); + Log.info(__FUNCTION__, result); + } +} diff --git a/src/MaaCore/Task/Interface/DebugTask.h b/src/MaaCore/Task/Interface/DebugTask.h index 760d28a79e..9c4214de11 100644 --- a/src/MaaCore/Task/Interface/DebugTask.h +++ b/src/MaaCore/Task/Interface/DebugTask.h @@ -17,5 +17,6 @@ namespace asst void test_drops(); void test_skill_ready(); void test_battle_image(); + void test_match_template(); }; }