diff --git a/MeoAssistance/include/Assistance.h b/MeoAssistance/include/Assistance.h index a4c40c3dd9..57205bc4c9 100644 --- a/MeoAssistance/include/Assistance.h +++ b/MeoAssistance/include/Assistance.h @@ -8,10 +8,7 @@ #include #include -#include "AsstPort.h" #include "AsstDef.h" -#include "Configer.h" -#include "OpenRecruitConfiger.h" #include "Task.h" namespace cv { @@ -21,8 +18,6 @@ namespace cv { namespace asst { class WinMacro; class Identify; - class AbstractTask; - enum class TaskMsg; class Assistance { diff --git a/MeoAssistance/include/AsstDef.h b/MeoAssistance/include/AsstDef.h index a901a0ddeb..16477dc4bc 100644 --- a/MeoAssistance/include/AsstDef.h +++ b/MeoAssistance/include/AsstDef.h @@ -36,42 +36,13 @@ namespace asst { PrintWindow = 0x800, // 截图功能 OpenRecruit = 0x1000 // 公开招募功能 }; - //static MatchTaskType operator&(const MatchTaskType& lhs, const MatchTaskType& rhs) - //{ - // return static_cast( - // static_cast::type>(lhs) - // & static_cast::type>(rhs)); - //} - static std::ostream& operator<<(std::ostream& os, const MatchTaskType& task) - { - static std::unordered_map _type_name = { - {MatchTaskType::Invalid, "Invalid"}, - {MatchTaskType::BasicClick, "BasicClick"}, - {MatchTaskType::ClickSelf, "ClickSelf"}, - {MatchTaskType::ClickRect, "ClickRect"}, - {MatchTaskType::ClickRand, "ClickRand"}, - {MatchTaskType::DoNothing, "DoNothing"}, - {MatchTaskType::Stop, "Stop"}, - {MatchTaskType::PrintWindow, "PrintWindow"}, - {MatchTaskType::OpenRecruit, "OpenRecruit"} - }; - return os << _type_name.at(task); - } enum class AlgorithmType { JustReturn, MatchTemplate, - CompareHist + CompareHist, + OcrDetect }; - static std::ostream& operator<<(std::ostream& os, const AlgorithmType& type) - { - static std::unordered_map _type_name = { - {AlgorithmType::JustReturn, "JustReturn"}, - {AlgorithmType::MatchTemplate, "MatchTemplate"}, - {AlgorithmType::CompareHist, "CompareHist"} - }; - return os << _type_name.at(type); - } struct Point { diff --git a/MeoAssistance/include/Task.h b/MeoAssistance/include/Task.h index f03ffc7624..91b1651980 100644 --- a/MeoAssistance/include/Task.h +++ b/MeoAssistance/include/Task.h @@ -6,7 +6,6 @@ #include #include #include -#include #include "AsstDef.h" #include "AsstAux.h" @@ -40,6 +39,7 @@ namespace asst { ImageIsEmpty, WindowMinimized, /* Info Msg */ + ImageMatched, TaskMatched, ReachedLimit, ReadyToSleep, @@ -62,6 +62,7 @@ namespace asst { {TaskMsg::PtrIsNull, "PtrIsNull"}, {TaskMsg::ImageIsEmpty, "ImageIsEmpty"}, {TaskMsg::WindowMinimized, "WindowMinimized"}, + {TaskMsg::ImageMatched, "ImageMatched"}, {TaskMsg::TaskMatched, "TaskMatched"}, {TaskMsg::ReachedLimit, "ReachedLimit"}, {TaskMsg::ReadyToSleep, "ReadyToSleep"}, diff --git a/MeoAssistance/src/Assistance.cpp b/MeoAssistance/src/Assistance.cpp index 5bf5226522..0f8bb7afb7 100644 --- a/MeoAssistance/src/Assistance.cpp +++ b/MeoAssistance/src/Assistance.cpp @@ -6,8 +6,9 @@ #include "Logger.hpp" #include "AsstAux.h" #include "Task.h" -#include "json.h" +#include "OpenRecruitConfiger.h" +#include #include #include diff --git a/MeoAssistance/src/AsstCaller.cpp b/MeoAssistance/src/AsstCaller.cpp index 13e7e54518..7ea7ac75d5 100644 --- a/MeoAssistance/src/AsstCaller.cpp +++ b/MeoAssistance/src/AsstCaller.cpp @@ -2,8 +2,8 @@ #include "Updater.h" #include "AsstAux.h" #include "Assistance.h" -#include "json_value.h" +#include #include #if 0 diff --git a/MeoAssistance/src/Configer.cpp b/MeoAssistance/src/Configer.cpp index c9c4a72960..d44b4513d4 100644 --- a/MeoAssistance/src/Configer.cpp +++ b/MeoAssistance/src/Configer.cpp @@ -4,7 +4,7 @@ #include #include -#include "json.h" +#include #include "Logger.hpp" using namespace asst; diff --git a/MeoAssistance/src/OpenRecruitConfiger.cpp b/MeoAssistance/src/OpenRecruitConfiger.cpp index f42ee6db80..45052666b2 100644 --- a/MeoAssistance/src/OpenRecruitConfiger.cpp +++ b/MeoAssistance/src/OpenRecruitConfiger.cpp @@ -4,7 +4,7 @@ #include #include -#include "json.h" +#include #include "Logger.hpp" using namespace asst; diff --git a/MeoAssistance/src/Task.cpp b/MeoAssistance/src/Task.cpp index 5ed87bcce3..33debe8ad1 100644 --- a/MeoAssistance/src/Task.cpp +++ b/MeoAssistance/src/Task.cpp @@ -4,7 +4,7 @@ #include "Identify.h" #include "Configer.h" #include "OpenRecruitConfiger.h" -#include "json.h" +#include #include "AsstAux.h" #include @@ -236,15 +236,32 @@ std::optional MatchTask::match_image(Rect* matched_rect) auto&& [algorithm, value, rect] = m_identify_ptr->find_image(cur_image, task_name, templ_threshold); - if (algorithm == AlgorithmType::JustReturn - || (algorithm == AlgorithmType::MatchTemplate && value >= templ_threshold) - || (algorithm == AlgorithmType::CompareHist && value >= hist_threshold)) { - - if (matched_rect != NULL) { - *matched_rect = std::move(rect); - } - return task_name; + json::value callback_json; + if (algorithm == AlgorithmType::JustReturn) { + callback_json["threshold"] = 0.0; + callback_json["algorithm"] = "JustReturn"; } + else if (algorithm == AlgorithmType::MatchTemplate && value >= templ_threshold) { + callback_json["threshold"] = templ_threshold; + callback_json["algorithm"] = "MatchTemplate"; + } + else if (algorithm == AlgorithmType::CompareHist && value >= hist_threshold) { + callback_json["threshold"] = hist_threshold; + callback_json["algorithm"] = "CompareHist"; + } + else { + continue; + } + + if (matched_rect != NULL) { + callback_json["rect"] = json::array({rect.x, rect.y, rect.width, rect.height}); + *matched_rect = std::move(rect); + } + callback_json["algorithm_id"] = static_cast::type>(algorithm); + callback_json["value"] = value; + m_callback(TaskMsg::ImageMatched, callback_json, m_callback_arg); + + return task_name; } return std::nullopt; } diff --git a/MeoAssistance/src/Updater.cpp b/MeoAssistance/src/Updater.cpp index 4c463f67b6..42faa20562 100644 --- a/MeoAssistance/src/Updater.cpp +++ b/MeoAssistance/src/Updater.cpp @@ -4,7 +4,7 @@ #include #include -#include "json.h" +#include #include "AsstDef.h" #include "Logger.hpp" #include "Version.h"