From c52c3eb2e71ed907f043f1f293d51f164f322061 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 24 May 2022 01:13:21 +0800 Subject: [PATCH] =?UTF-8?q?chore.=E6=95=B4=E7=90=86=E5=B9=B2=E5=91=98?= =?UTF-8?q?=E5=90=8D=E6=9B=BF=E6=8D=A2=E7=9A=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 132 +++++++++--------- src/MeoAssistant/BattleFormationTask.cpp | 2 +- src/MeoAssistant/BattleProcessTask.cpp | 4 +- .../RoguelikeBattleTaskPlugin.cpp | 2 +- .../RoguelikeRecruitTaskPlugin.cpp | 6 +- .../RoguelikeSkillSelectionImageAnalyzer.cpp | 2 +- 6 files changed, 78 insertions(+), 70 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 2dc1fc36b7..b9e3c63f51 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -1,4 +1,71 @@ { + "CharsNameOcrReplace": { + "algorithm": "OcrDetect", + "text": [], + "Doc": "该任务的 ocrReplace 被所有涉及干员名的识别任务复用", + "ocrReplace": [ + [ + "白面.+", + "白面鸮" + ], + [ + "蛇居箱", + "蛇屠箱" + ], + [ + ".+刺", + "棘刺" + ], + [ + "^E$", + "山" + ], + [ + "^F$", + "山" + ], + [ + "^U$", + "山" + ], + [ + "^1$", + "山" + ], + [ + "姜哦", + "嵯峨" + ], + [ + "健影", + "傀影" + ], + [ + "赤赤黑大", + "赫默" + ], + [ + ".+刺", + "棘刺" + ], + [ + "姜哦", + "嵯峨" + ], + [ + "健影", + "傀影" + ], + [ + "^灵鲨", + "幽灵鲨" + ], + [ + "桑甚", + "桑葚" + ] + ] + }, "SN-8": { "algorithm": "JustReturn", "action": "DoNothing", @@ -5332,72 +5399,9 @@ "Roguelike1ChooseOperConfirm" ] }, - "Roguelike1RecruitData": { + "Roguelike1RecruitOcr": { "algorithm": "OcrDetect", "text": [], - "Doc": "该任务的 ocrReplace 被所有涉及干员名的识别任务服用", - "ocrReplace": [ - [ - "白面.+", - "白面鸮" - ], - [ - "蛇居箱", - "蛇屠箱" - ], - [ - ".+刺", - "棘刺" - ], - [ - "^E$", - "山" - ], - [ - "^F$", - "山" - ], - [ - "^U$", - "山" - ], - [ - "^1$", - "山" - ], - [ - "姜哦", - "嵯峨" - ], - [ - "健影", - "傀影" - ], - [ - "赤赤黑大", - "赫默" - ], - [ - ".+刺", - "棘刺" - ], - [ - "姜哦", - "嵯峨" - ], - [ - "健影", - "傀影" - ], - [ - "^灵鲨", - "幽灵鲨" - ], - [ - "桑甚", - "桑葚" - ] - ], "roi": [ 560, 69, diff --git a/src/MeoAssistant/BattleFormationTask.cpp b/src/MeoAssistant/BattleFormationTask.cpp index de756be7d2..9940076c24 100644 --- a/src/MeoAssistant/BattleFormationTask.cpp +++ b/src/MeoAssistant/BattleFormationTask.cpp @@ -58,7 +58,7 @@ bool asst::BattleFormationTask::select_opers_in_cur_page() name_analyzer.set_task_info(formation_task_ptr); name_analyzer.set_replace( std::dynamic_pointer_cast( - Task.get("Roguelike1RecruitData")) + Task.get("CharsNameOcrReplace")) ->replace_map); if (!name_analyzer.analyze()) { return false; diff --git a/src/MeoAssistant/BattleProcessTask.cpp b/src/MeoAssistant/BattleProcessTask.cpp index aa5ed95f2f..e86e68dac6 100644 --- a/src/MeoAssistant/BattleProcessTask.cpp +++ b/src/MeoAssistant/BattleProcessTask.cpp @@ -132,7 +132,7 @@ bool asst::BattleProcessTask::analyze_opers_preview() name_analyzer.set_task_info("BattleOperName"); name_analyzer.set_replace( std::dynamic_pointer_cast( - Task.get("Roguelike1RecruitData")) + Task.get("CharsNameOcrReplace")) ->replace_map); std::string oper_name = "Unknown"; @@ -243,7 +243,7 @@ bool asst::BattleProcessTask::update_opers_info(const cv::Mat& image) name_analyzer.set_task_info("BattleOperName"); name_analyzer.set_replace( std::dynamic_pointer_cast( - Task.get("Roguelike1RecruitData")) + Task.get("CharsNameOcrReplace")) ->replace_map); if (name_analyzer.analyze()) { diff --git a/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp b/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp index f9a956f8cc..15942bdebe 100644 --- a/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp +++ b/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp @@ -255,7 +255,7 @@ bool asst::RoguelikeBattleTaskPlugin::auto_battle() oper_name_analyzer.set_task_info("BattleOperName"); oper_name_analyzer.set_replace( std::dynamic_pointer_cast( - Task.get("Roguelike1RecruitData")) + Task.get("CharsNameOcrReplace")) ->replace_map); std::string oper_name = "Unknown"; diff --git a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp b/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp index 602c8b374d..7d555e4ec2 100644 --- a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp @@ -31,7 +31,11 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() LogTraceFunction; OcrImageAnalyzer analyzer(m_ctrler->get_image()); - analyzer.set_task_info("Roguelike1RecruitData"); + analyzer.set_task_info("Roguelike1RecruitOcr"); + analyzer.set_replace( + std::dynamic_pointer_cast( + Task.get("CharsNameOcrReplace")) + ->replace_map); // 这里原来用m_opers作参数,但由于新的算法需要取左上角干员,将m_opers移到下面的demand_filter // TODO 这里需要考虑出了新干员,但是资源文件没有更新的情况 diff --git a/src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.cpp b/src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.cpp index 009c1f43bf..db97e5e5c5 100644 --- a/src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.cpp +++ b/src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.cpp @@ -41,7 +41,7 @@ std::string asst::RoguelikeSkillSelectionImageAnalyzer::name_analyze(const Rect& analyzer.set_image(m_image, roi.move(name_task_ptr->rect_move)); analyzer.set_replace( std::dynamic_pointer_cast( - Task.get("Roguelike1RecruitData")) + Task.get("CharsNameOcrReplace")) ->replace_map); if (!analyzer.analyze()) {